Monero Multisig Run-Through: Zero-to-MMS in an instant
Monero multi-signatures are daunting. To show how quickly one can actually get set, I extracted the gist from the corresponding user-guide and crafted what is likely the most concise Monero multisig-guide:
Install and configure PyBitmessage
Imagine the Bitmessage protocol as a common chat room where your Monero clients get together to communicate the required information for each step. We set it up as a daemon that monero-wallet-cli
can use.
Maintaining the aforementioned chat-room analogy your transport address can be thought of your Bitmessage chat handle. In the next step we make the Monero client aware of this handle.
Set up a Multisig-Wallet (Alice’s Monero client)
The following commands have to be run in monero-wallet-cli
.
Tell monero-wallet-cli to be less interactive
Initialize Multisig
Declare your desired type of multisig and name the additional signers.
With the last command you’ll be shown a token in the format mmsXXXXXXXX
. Hand this token to Bob. He will need it in the following step.
Set up a Multisig-Wallet (Bob’s side)
Just like Alice, Bob needs to set up PyBitmessage (see above) and then generate his Bitmessage address like so:
Tell Bob’s Monero client to be less interactive
Initialize Multisig for Bob
Command the following, inserting the correct Bitmessage address and replacing mmsXXXXXXXX
with the token received from Alice.
Alice: Send necessary signer data to signers via Bitmessage
As soon as you see MMS received new message on Alice’s Monero client, command mms next
there, twice:
Upon the first invocation the signer config will be sent. The second invocation sends the key set.
Bob: Send necessary data via Bitmessage
As soon as you see MMS received new message on Bob’s Monero client, command mms next
there, three times:
The first invocation processes the signer config, the second sends the key set and the third completes the multisig address creation for Bob.
Alice: Send necessary signer data to signers via Bitmessage
Execute mms next
once again:
This completes the multisig address creation for Alice.
Your first multisig transaction
By now the Monero address displayed should have changed to a new one that is the same on Bob’s and Alice’s client.
Once you fund that account by sending some XMR to it you can send money to others.
Use mms transfer RECIPIENT_ADDRESS AMOUNT
to initiate the transfer. Then proceed by commanding mms next
on either side until the command says that there’s nothing left to do.
Note that Bitmessage message delivery is typically delayed several minutes. When stuck, use mms list
to see if a message for a step has yet to arrive.