Steem Multisig Wizard: Now Open Source
6 comments
The @pennsif.witness team are now open sourcing our Steem Multisig Wizard.
Background
We developed this tool in 2023 in order to provide a robust and easy way for Steem communities and ad hoc groups of Steem users to manage multisig accounts.
For more info, see the following posts:
- Dev announcement
- Dev blog 1
- Dev blog 2
- Launch announcement
- Post-launch update 1
- Post-launch update 2
Today, we have published the entire source code publicly.
The Codebase
The codebase is split amongst backend and frontend repositories, which you can find here:
Backend: https://github.com/rexthetech/steem-multisig-backend
Frontend: https://github.com/rexthetech/steem-multisig
Note that this release is for the benefit of fellow Steem developers, and our public instance of the Steem Multisig Wizard remains available for all to use for free.
Running the Backend
First, clone https://github.com/rexthetech/steem-multisig-backend.
You'll need a MySQL (or MariaDB) instance, and a DB account for the Multisig Wizard to use.
Create the database by running the SQL found in db-schema.sql. Then, add your DB access details to config.js.
While in config.js, you should also set clientUrl to the address where you'll serve the frontend. This is required so that client requests are permitted by the server's CORS policy.
The default Steem API endpoint of https://api.pennsif.net will work fine, you don't need to change it.
By default, the on-chain notification system is disabled, but can be enabled by setting notificationEnabled to true and providing the account name and posting key for the Steem user you wish to publish notifications as.
With Node and NPM installed, install the dependencies by running:
npm install
You can start the server by running:
node server.js
The server should come up and start listening on port 4000 for client connections.
Running the Frontend
Clone https://github.com/rexthetech/steem-multisig.
Edit source/config.json and set MULTISIG_API_LOCAL to your backend instance. STEEM_API_URL can be left set to the default.
As for the backend, install dependencies with:
npm install
Bring up the frontend by running:
npm run dev
Alternatively, to package for release, run:
npm run build
In the case of packaging for release, MULTISIG_API_URL will be used instead of MULTISIG_API_LOCAL, so ensure this is set to a publicly-available instance of the backend.
Contributing to the code
We are happy to review Issues and Pull Requests on these repos via GitHub.
Please support our work
The Multisig Wizard is completely free to use, and the @pennsif.witness team provides infrastructure and development to run the main public instance of the Wizard at their own cost, as well as now providing all source code 😎
We would really appreciate you casting a witness vote for @pennsif.witness.
To cast your witness vote, visit the Steemit Wallet Witness Voting list or @steemchiller's Steemworld
Comments