Ravencoin Multi-Sig Wallet with Electrum and Trezor

2020–12–17

Mango Farm
5 min readDec 17, 2020

Have you ever created a RVN multi-sig setup with hardware wallets on Electrum? I just did. Since I went through the process of creating and testing the setup, I thought I would put together a short explainer to help others. It is pretty simple. Here are the steps.

Step 1: Download/Compile and Run Electrum-RVN

The version I used is courtesy of standard-error on GitHub (source code and released binaries).

If you are using Windows, apparently you have to run Electrum as administrator. Right click, then select “run as administrator.” Important note: the purpose of this article is to work through the multisig process. I did not personally review all the code in the electrum wallet linked above, but I would if I were putting significant funds on any wallet that uses it.

Step 2: Create A Multi-Signature Wallet

First, name your wallet. I named mine “Test_Multisig.”

Next, select “Multi-signature wallet.”

Select the number of signers and how many signatures are required. For this test, I will create a 2-of-2 multi-sig, which has two signers and requires both to execute a transaction.

Step 3: Add The First Co-Signer

To add the first co-signer, plug in your Trezor and select “use a hardware device.”

Enter your Trezor pin when prompted.

Next, select “legacy multisig (p2sh)” and leave the derivation path unchanged.

You will now get a “master public key,” which is a long series of letters and numbers beginning with “xpub.” Copy it and store it in a file. You will need to share this xpub if your multi-sig is with another person (see below).

xpubs are master public keys — they can’t be used to spend RVN, but it is best not to just display them anywhere for privacy reasons

Step 4: Add The Second Co-Signer

You can add the second co-signer in multiple ways. For my test, I assumed that my trusted friend Bob is my co-signer. I asked Bob to send me his xpub from step 2 above.

First click on “enter cosigner key.”

Then copy in Bob’s xpub into the box.

You will then be asked for a password.

This is not strictly necessary because your private keys are on your Trezor. But if you want to encrypt your xpub and transaction information, go ahead here with a password.

Success!

That’s it. Your 2-of-2 multi-sig is set up. Bob can now do the same thing, only he will enter your xpub from step 2 into his wallet in step 3.

Now, Try a Test Transaction

Be sure to test your setup. To do this, send a small amount of RVN to a new address in your multi-sig wallet.

First, click on receive. This will give you a new receiving address. Note: multi-sig receiving addresses start with a lower-case “r” (not an upper-case R like most RVN addresses).

Next, send some RVN to that address for testing. I used my Mango Farm wallet in Trezor Mode for this.

With the RVN now in the multi-sig wallet, it’s time to do a test send. Click on “send” and enter the destination RVN address.

Next, Electrum will ask you to confirm the transaction on your Trezor. This is an important step. Look at and verify the transaction details on the Trezor screen to be sure malicious code is not somehow misdirecting your transaction.

Electrum will then show you a screen with information on your partially-signed Ravencoin transaction.

Because you are only 1 of 2 necessary signers, you have to take this partially-signed transaction and send it to Bob for his signature.

To do this, click on “export” and save the .txn file. Send this to Bob.

Bob can then load the partially-signed transaction by opening his electrum multi-sig wallet — which he set up using his Trezor and your xbpub — and clicking on “tools” and “load transaction,” then selecting “from file.”

Once Bob has done this, he can fully-sign the transaction by clicking “sign” and confirming the details on his Trezor.

Once Bob signs the transaction, he can broadcast it by clicking the “Broadcast” button.

Congratulations!

Congrats. You’ve just done your first RVN multi-signature transaction with two hardware wallets on Electrum.

In order to broadcast, you have to be connected to an electrum server. Check discord for available servers at the time you do your transaction.

Now, wouldn’t it be great if all of this was eventually automated on Mango Farm??!!

I hope you found this explainer helpful.

Be well,

-Doug

--

--

Mango Farm

Mango Farm provides tools to create, store and use blockchain assets on the Ravencoin network. We make blockchain assets easy. https://www.mangofarmassets.com