1
Before starting this tutorial, beware because theres vulnerabilities in the multisignature. I only had to follow this tutorial to do it without issues/bugs. This is not a common multisig method it does by secret-splitting methods.
Step 1 - Creating wallets
./monerod --offline
(you need to create new keypairs for a multisig)
Inside the wallet's console
set inactivity-lock-timeout 0
(deactivate the wallet autolock feature)set enable-multisig-experimental 1
(to unlock multisig)
Step 2 - Preparing the multisig
prepare_multisig
will return you an "intitialization key" (starting with MultisigxV2R) . Do it on each wallet you want in the multisig and note theses somewhere.
Step 3 - Make the multisig
make_multisig
(how many keys to unlock the signature) init-key-2 init-key-3 (ect..)
.
Be sure you do this on every wallet. Don't add the init-key belonging to the same wallet (add init-key of the wallet 2 and 3 to the wallet 1 ect..)
The console will again return you a new key (starting with MultisigxV2R) on each wallet you need to note somewhere.
Step 4 - Exchanging multisig keys
exchange_multisig_keys key-2 key-3
The console will again return you a new key (starting with MultisigxV2R) on each wallet you need to note somewhere.
Step 4.1 - Exchanging (a second time multisig keys)
exchange_multisig_keys key-2 key-3
The console will return you the multisig's type and the multisig's address
Once you did that (on every wallet) it will diplay:
Multisig wallet has been successfully created.
Current wallet type: n/n
multisig address: (a xmr address)
Step 5 - Receive funds
Just generate a new address by typing
address new
Step 6 - Sign a multisig transaction
In first, refresh your balance
refresh
6.1 Exporting partial key-images
On every wallet, do:
export_musig_info
a-filename-you-choose
6.2 Importing partial key-images
Now import partial key images in every wallet
import_multisig_info
a-filename-you-choose a-filename-you-choose (you can add multiple keys at the same time)
Once it's done your spendable outputs will be verified & ready to be spent.
6.3 Signing the transaction
transfer <address> <amount>
Once the transaction is "confirmed" by entering the password, it'll generate a partially signed transaction with the multisig_monero_tx filename. Now sign the transaction with each wallet (required to treshold):
sign_multisig multisig_monero_tx
And then you can broadcast it
submit_multisig multisig_monero_tx
It'll return the TransactionID
Step 7 - Backup a multisig wallet
A multisig mnemonic is very specific. It's not words it's a long key so beware of how you store it.
seed
Write the key somewhere safe
7.1 Restoring the multisig wallet
./monerod --restore-multisig-wallet