Add Supersig to your chain.

Add supersig to your node, runtime, and apps UI interface.

Ramsey Ajram (Decentration)
2 min readMar 8, 2023
Adding Supersig is as easy as flying …if you’re a bird.

You will need to get two repos setup on your local machine, the Apps (UI) and a Substrate Supersig Template (customised substrate-node-template fork).

First we will get the demo setup thereafter will show you where to add the code to your own set.

Setup Demo

Setup Apps

Apps is a fork of Polkadot-js/apps UI.

git clone https://github.com/decentration/apps.git
git checkout main-fellowship-1
yarn
yarn start

If you want to use docker you just need to run the command:

docker run --rm -it --name supersig-ui -e WS_URL=ws://127.0.0.1:9944 -p 80:80 decentration/apps:latest

you can view most of the changes made in supersig in:

~/apps/packages/page-supersig/Supersig

Now in order to test the supersig functionality you need a chain that is running supersig, this is what we will setup next.

Setup Supersig Node Template

git clone https://github.com/decentration/substrate-supersig-template
git checkout v0.9.37-fix-unbounded
cargo update
cargo build --release
./target/release/node-template --dev

Now in the apps ui, make sure to “switch” to development/local node. This is typically `127.0.0.1:9944`.

Add Supersig to your node

Add supersig to your node and runtime

  • runtime/src/lib.rs Add the pallet here in your runtime and respective cargo.toml file
  • runtime/src/lib.rs Add the runtime api module here and respective cargo.toml file.
  • node/src/rpc/Add the node rpc module here, (not fogetting line 43 and line 52) and respective cargo.toml file

Add supersig to your Apps fork

  • packages/apps-config/src/api Add the rpc module of your chain to the apps types api bundle , search for “node-template” here, and add that rpc decoration to your own chain name. (this is the fast way to do it, the proper way to do it is to add a spec in ...api/specs and then yarn build:extra which is found here.

Take the supersig customisations from the runtime/lib.rs, node

Voila! you should be up and running.

What to check?

Watch this video to get a feel about how to use supersig. This video showed what was completed on the recent W3F milestone: https://www.loom.com/share/0ceb5aa5a27b493192a4ac192df0ce29

--

--

Ramsey Ajram (Decentration)

Decentralising the web. Stewarding new paradigms. Engineering and product.