Comment on page
Signing with a Multisig
Collecting signatures for a multisig address requires to write the transaction into file and submit it to collect the various signatures, then combine them into the multisig siganure.
Not all commands in the CLI support the name of a locally registered key. A useful command to write human readable commands while star addresses are explicitely required is
$(iovnscli keys show anykey -a)
which can be inserted into any CLI command to write the name of a key when the star address is required.
In this exemple, we will sign a send transaction from a multisig account.
The first step for signing a multisig transaction is to write the transaction in a way that can be shared off chain. This is done with the flag
iovnscli tx send $(iovnscli keys show anykey -a) $(iovnscli keys show benkeys -a) 10iov --generate-only > unsignedTx.json
the transaction to be signed is now in the file unsignedTx.json.
The second step is for each signature owner to generate their signature for the file unsignedTx.json with the command
iovnscli tx sign unsignedTx.json --from=$(iovnscli keys show -a benkeys) --multisig=$(iovnscli keys show -a anykey) --output-document=sig1.jso
Once there are more signatures than required by the threshold, the signature files can be combined into a signed transaction file with the command
iovnscli tx multisign unsignedTx.json anykey sig1.json sig2.json > completeTx.json
The latest file completeTx.json is a valid signed transaction ready to be sent to the IOV Name Service. The command to do so is
iovnscli tx broadcast completeTx.json