Post
Topic
Board Electrum
Merits 10 from 4 users
Re: [TUTORIAL] - How to create a multi-signed wallet on Electrum
by
Husna QA
on 08/07/2022, 15:23:34 UTC
⭐ Merited by pooya87 (3) ,dkbit98 (3) ,Pmalek (2) ,m2017 (2)
Multi-Signature Wallet using the Electrum and the Hardware Wallet.
The following is a translated version of my post about Multi-Signature Wallet using the Electrum on the local board of Bahasa Indonesia : https://bitcointalk.org/index.php?topic=5037320.msg55982009#msg55982009.

Wallet 1
Wallet: Electrum Testnet 4.0.9 (macOS)
Hardware wallet: Trezor T

Wallet 2
Wallet: Electrum Testnet 4.0.9 (Windows OS)
Hardware wallet: Ledger Nano X

By default, Electrum in the mac application is the mainnet version (there is no shortcut for the testnet version as in the Windows OS version);
To run Electrum Testnet, open Terminal and type the following command:

Code:
open -n /Applications/Electrum.app --args --testnet

The Electrum - Install Wizard (Testnet) window will appear;



In the 'Alternatively', select 'Create New Wallet' and give the name of the wallet you created.



Under wallet type, select Multi-Signature wallet.



Then specify the Consigner and also the number of signatures needed to be able to process transactions in the wallet.



On "Add cosigner (1 of 2)", I selected the option "Use a hardware device".



In 'Hardware Keystore', select the connected device, then clicks 'Next'.
- Device on Wallet (Cosigner) 1:



- Device on Wallet (Cosigner) 2:



Select the wallet address type; For "derivation path", I leave it by default.



Then write the 'Master Public Key' it generates, then clicks 'Next'.

- Master Public Key on Cosigner 1:



- Master Public Key on Cosigner 2:



On the 'Add Cosigner (2 of 2)', select 'Enter cosigner key'.



In wallet 1, fill in using the master public key (xpub) of wallet 2:



In wallet 2, fill in using the master public key (xpub) of wallet 1:



Create a password to encrypt each wallet on both 'Cosigners'.



Go to the 'Addresses' tab (View Menu -> Show Addresses), and make sure the addresses in all Cosigners are the same:

- Address Wallet (cosigner) 1:



- Address Wallet (cosigner) 2:



Test transactions at Electrum Multi-Signature Wallet.

Note: I see that the Lightning Network feature in Electrum (in this test) does not support multi-signature wallets.

- Receive

On the 'Receive' tab, select 'New Address';
In the 'Expires after' column, I chose 'Never'.



Code:
tb1qnrsxytrm3whmrw65lctd3fdpk28er7tudmhwseshdcylyeudmwgslgqwww

I'm trying to send some Bitcoins from the Bitcoin Core Wallet (testnet) to the address above.

Code:
https://blockstream.info/testnet/tx/5e42c85dd05dfdeff0f17a03e23ad88fdda98f382d1437cd2ffab523bad94bc2

Wallet (Cosigner) 1 and Wallet (Cosigner) 2 get similar notifications regarding the receipt transaction.

- Send

In Wallet (Cosigner) 1, click the 'Send' tab and enter the Recipient's Bitcoin address ('Pay to'), 'Description' (can be emptied), and also the amount of BTC to be sent ('Amount'), then click 'Pay...'



Specify 'Fee rate' then click 'Send'.



Unlock the hardware wallet if locked, and confirm to send.



After being confirmed in the wallet ("Cosigner") 1, a 'Transaction ID' window appears with the status: Partially signed (1/2).



Click the 'Export' button in the bottom left corner. In this test, I chose:
'For hardware device; include xpubs' and then 'Export to File' (you can also use the QR code option and others).



In Wallet ('cosigner') 2, select the 'Tools' menu -> 'Load transaction' -> 'From file'
Select the file obtained from the export results in the previous Wallet 1.



In the 'Transaction' window, click 'Sign', then confirm on the hardware wallet.







Note: I skipped some of the confirmation steps on the Ledger Nano X.

Back to Electrum, Click 'Broadcast' -> 'OK' to send the multi-signature transaction to the blockchain.



Transaction completed:

Code:
https://blockstream.info/testnet/tx/ed17bf23032ed1e49533595a35486da9a95b6b064989e1d428d6b6ac69c571a1


I am not a native speaker of English and please correct if there is incorrect grammar.