Pages:
Author

Topic: [Info & Tutorial] Multi-Signature Wallet (Read 1379 times)

legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
February 23, 2024, 08:18:47 AM
#38
Membuat Transaksi Multi-Sig (Descriptor Wallet) melalui GUI Bitcoin Core

Untuk langkah-langkah pembuatan Wallet, Address dan Import Address seperti yang sudah dijelaskan pada Step-1 s/d Step-6 di pembahasan sebelumnya. Selanjutnya untuk proses pembuatan transaksi Multi-Sig (Step-7 dan seterusnya) bisa juga dilakukan menggunakan GUI Bitcoin Core.


Configuration

Melakukan konfigurasi Bitcoin Core terlebih dahulu untuk mengaktifkan fitur Coin Control dan PSBT Control






Step-7

Salah satu "Wallet_Watch_1" atau "Wallet_Watch_2" membuat "Unsigned Transaction"

  • [1] Dengan menekan tombol "Inputs", pilih UTXO yang akan digunakan
  • [2] Gunakan MultiSig Address sebagai "Change address" agar sisa UTXO kembali ke address tersebut
  • [3] Isi Address Penerima
  • [4] Masukkan Jumlah BTC yang akan dikirimkan
  • [5] Rubah nilai fee sesuai dengan keinginan
  • [6] Tekan Tombol "Create Unsigned"






Step-8

Setelah jendela status "Confirm Send Coins" muncul

  • [7] Klik tombol "Create Unsigned" untuk melanjutkan ke langkah berikutnya




  • [8] Tekan "Save" untuk menyimpan file PSBT ke Folder




Step-9

Menandatangani Transaksi menggunakan wallet "Descriptor_Sign_1"

  • [9] Buka file PSBT yang sebelumnya disimpan di Step-8




  • [10] Tekan tombol "Sign Tx" untuk menandatangani transaksi MultiSig tersebut




  • [11] Tekan tombol "Save" untuk menyimpan file PSBT yang telah ditandatangani oleh "Descriptor_Sign_1"




Step-9

Menandatangani Transaksi menggunakan wallet "Descriptor_Sign_2"

  • [12] Buka file PSBT yang sebelumnya sudah ditandatangani oleh "Descriptor_Sign_1"




  • [13] Tekan tombol "Sign Tx" untuk menandatangani transaksi MultiSig tersebut




  • [14] Lalu tekan tombol "Broadcast Tx" untuk megirimkan Transaksi ke Jaringan Bitcoin




  • [15] Jika transaksi sukses dikirimkan ke Jaringan Bitcoin, maka akan muncul status "Transaction broadcast successfully!"


TXID a9cb6a4e94064645d5e24116833fb8ad213976114a31e4714e3bc3ef51058cbc
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
February 23, 2024, 03:23:12 AM
#37

Multi-Sig (Segwit) Descriptor wallet


Sebelumnya saya pernah memberikan tutorial pembuatan Multi-Sig Address beserta contoh transaksinya yang dibuild dari 2 Public Key (legacy Address) dan diperform menggunakan Legacy Wallet. Untuk kali ini saya akan membuat tutorial MultiSig Address yang dibuat dari 2 Public Key Descriptor Wallet, beserta langkah-langkah membuat transaksi MultiSig yang dilakukan di Descriptor Wallet

Step-1

~ Menentukan jumlah cosigner dan otorisasi (misal menggunakan 2-of-2)


Step-2

~ Masing-masing cosigner membuat 2 Descriptor wallet dengan opsi yang berbeda

  • Descriptor Wallet (Private Key Enabled) yang berfungsi untuk melakukan otorisasi (sign transaction)
  • Descriptor Wallet (Private Key Disabled) yang berfungsi sebagai "watch-only wallet" dan menjalankan argumen "listunspent"

* Selanjutnya untuk wallet orang pertama dengan opsi (Privkey Enabled) disebut dengan "Descriptor_Sign_1" dan wallet dengan opsi (Privkey Disabled) disebut dengan "Wallet_Watch_1", dan untuk orang kedua disebut dengan "Descriptor_Sign_2" dan "Wallet_Watch_2"



Step-3

~ Masing-masing wallet "Descriptor_Sign_1" dan "Descriptor_Sign_2" membuat sebuah address




Step-4

~ Dengan menggunakan Console, "Descriptor_Sign_1" dan "Descriptor_Sign_2" menjalankan argumen getaddressinfo untuk masing-masing address yang telah dibuatnya dan catat "pubkey" dan "desc" dari address tersebut

  • Descriptor_Sign_1
Code:
"pubkey": 03faf9bb46041e9631b1680f8ef01ab3fbe33e34f23c1cbba57f8283459e1a85a5
"desc": "wpkh([6132821d/84h/1h/0h/0/0]03faf9bb46041e9631b1680f8ef01ab3fbe33e34f23c1cbba57f8283459e1a85a5)#ksrz2tx5"

  • Descriptor_Sign_2
Code:
"pubkey": 03516d200b698ca5e7a1378a943f3d8941ec03b89b8f4c3c25a6969ea293d8ce06
"desc": "wpkh([45f7eb2e/84h/1h/0h/0/0]03516d200b698ca5e7a1378a943f3d8941ec03b89b8f4c3c25a6969ea293d8ce06)#s9xk0d35"


Step-5

~ Salah satu "Descriptor_Sign_1" atau "Descriptor_Sign_2", membuat Multi-Sig Address melalui Console dengan menggunakan argumen createmultisig

Code:
createmultisig 2 "[\"03faf9bb46041e9631b1680f8ef01ab3fbe33e34f23c1cbba57f8283459e1a85a5\",\"03516d200b698ca5e7a1378a943f3d8941ec03b89b8f4c3c25a6969ea293d8ce06\"]" "bech32"

Result:
   "address": "tb1qqvfvuzjqnnm3nsg4sq8e30gdwgk6v5sctu6f0p7w9a74usy6g99qhpyder",
   "redeemScript": "522103faf9bb46041e9631b1680f8ef01ab3fbe33e34f23c1cbba57f8283459e1a85a52103516d200b698ca5e7a1378a943f3d8941ec03b89b8f4c3c25a6969ea293d8ce0652ae",
   "descriptor": "wsh(multi(2,03faf9bb46041e9631b1680f8ef01ab3fbe33e34f23c1cbba57f8283459e1a85a5,03516d200b698ca5e7a1378a943f3d8941ec03b89b8f4c3c25a6969ea293d8ce06))#2ceemxgu"


Step-6

~ Beralih ke  "Wallet_Watch_1" dan  "Wallet_Watch_2", dengan menggunakan Console masing-masing wallet menjalankan argumen importdescriptors

Code:
importdescriptors '[{ "desc": "wsh(multi(2,03faf9bb46041e9631b1680f8ef01ab3fbe33e34f23c1cbba57f8283459e1a85a5,03516d200b698ca5e7a1378a943f3d8941ec03b89b8f4c3c25a6969ea293d8ce06))#2ceemxgu", "timestamp":"now" }]'
* Descriptor yang digunakan adalah yang didapatkan dari Step-5

Perintah ini akan meng-import MultiSig Address pada masing-masing "Wallet_Watch_1" dan  "Wallet_Watch_2", yang berfungsi untuk memonitor transaksi dan mengetahui UTXO apa saja yang bisa digunakan melalui perintah listunspent


Step-7

~ Salah satu "Wallet_Watch_1" atau "Wallet_Watch_2", dengan menggunakan Console jalankan argumen listunspent untuk mengetahui (menentukan) UTXO yang akan digunakan pada pembuatan Transaksi MultiSig

Code:
listunspent

Result:
    "txid": "f15faac1b9567f115dbb0646a541fc170da46d3690a77d7d30155674c049a28e",
    "vout": 0,
    "address": "tb1qqvfvuzjqnnm3nsg4sq8e30gdwgk6v5sctu6f0p7w9a74usy6g99qhpyder",
    "amount": 0.00023983,


Step-8

~ Membuat Transaksi Multi-Sig disalah satu "Wallet_Watch_1" atau "Wallet_Watch_2", dengan menggunakan argumen walletcreatefundedpsbt

Code:
walletcreatefundedpsbt '[{"txid":"hex","vout":n}]' '[{"address":amount}]' 0 '{"changeAddress": "str","feeRate": amount,"solving_data": {"descriptors": ["descriptor1","descriptor2"]}}'
* Masukan"txid" dan "vout" yang didapatkan dari listunspent di Step-7
* Tentukan "address" penerima dan amount BTC yang akan dikirimkan
* Masukan alamat pada "changeAddress" dan tentukan "feeRate" dalam satuan BTC/kvB
* Isi "descriptors" dengan masing-masing descriptor yang bakal melakukan sign transaksi (lihat Step-4)


Contoh
Code:
walletcreatefundedpsbt '[{"txid":"f15faac1b9567f115dbb0646a541fc170da46d3690a77d7d30155674c049a28e","vout":0}]' '[{"mgxAR1S7DFT41ihzYu4eFRwTk5QNPzjWHS":0.0001}]' 0 '{"changeAddress": "tb1qqvfvuzjqnnm3nsg4sq8e30gdwgk6v5sctu6f0p7w9a74usy6g99qhpyder","feeRate": 0.00005,"solving_data": {"descriptors": ["wpkh([6132821d/84h/1h/0h/0/0]03faf9bb46041e9631b1680f8ef01ab3fbe33e34f23c1cbba57f8283459e1a85a5)#ksrz2tx5","wpkh([45f7eb2e/84h/1h/0h/0/0]03516d200b698ca5e7a1378a943f3d8941ec03b89b8f4c3c25a6969ea293d8ce06)#s9xk0d35"]}}'

Hasil
Code:
"psbt": "cHNidP8BAIACAAAAAY6iScB0VhUwfX2nkDZtpA0X/EGlRga7XRF/VrnBql/xAAAAAAD9////AhAnAAAAAAAAGXapFA+8pFrsaLvoYyTEqiBXntAD9BkdiKwHMwAAAAAAACIAIAMSzgpAnPcZwRWAD5i9DXItplIYXzSXh84vfV5AmkFKAAAAAAABAF4CAAAAAZJ1HnyZ1PXuP1olGdjPNdTfdeSpiHGvW9p3rqfVksyOAQAAAAD9////Aa9dAAAAAAAAIgAgAxLOCkCc9xnBFYAPmL0Nci2mUhhfNJeHzi99XkCaQUrqWicAAQErr10AAAAAAAAiACADEs4KQJz3GcEVgA+YvQ1yLaZSGF80l4fOL31eQJpBSgEFR1IhA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlIQNRbSALaYyl56E3ipQ/PYlB7AO4m49MPCWmlp6ik9jOBlKuIgYDUW0gC2mMpeehN4qUPz2JQewDuJuPTDwlppaeopPYzgYEfKp73yIGA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlBPCMNk4AAAEBR1IhA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlIQNRbSALaYyl56E3ipQ/PYlB7AO4m49MPCWmlp6ik9jOBlKuIgIDUW0gC2mMpeehN4qUPz2JQewDuJuPTDwlppaeopPYzgYEfKp73yICA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlBPCMNk4A",
"fee": 0.00000920,
"changepos": 1


Step-9

~ Descriptor_Sign_1 melakukan sign PSBT yang didapatkan dari Step-8 dengan menggunakan argumen walletprocesspsbt

Code:
walletprocesspsbt "cHNidP8BAIACAAAAAY6iScB0VhUwfX2nkDZtpA0X/EGlRga7XRF/VrnBql/xAAAAAAD9////AhAnAAAAAAAAGXapFA+8pFrsaLvoYyTEqiBXntAD9BkdiKwHMwAAAAAAACIAIAMSzgpAnPcZwRWAD5i9DXItplIYXzSXh84vfV5AmkFKAAAAAAABAF4CAAAAAZJ1HnyZ1PXuP1olGdjPNdTfdeSpiHGvW9p3rqfVksyOAQAAAAD9////Aa9dAAAAAAAAIgAgAxLOCkCc9xnBFYAPmL0Nci2mUhhfNJeHzi99XkCaQUrqWicAAQErr10AAAAAAAAiACADEs4KQJz3GcEVgA+YvQ1yLaZSGF80l4fOL31eQJpBSgEFR1IhA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlIQNRbSALaYyl56E3ipQ/PYlB7AO4m49MPCWmlp6ik9jOBlKuIgYDUW0gC2mMpeehN4qUPz2JQewDuJuPTDwlppaeopPYzgYEfKp73yIGA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlBPCMNk4AAAEBR1IhA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlIQNRbSALaYyl56E3ipQ/PYlB7AO4m49MPCWmlp6ik9jOBlKuIgIDUW0gC2mMpeehN4qUPz2JQewDuJuPTDwlppaeopPYzgYEfKp73yICA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlBPCMNk4A"

Hasil
Code:
"psbt": "cHNidP8BAIACAAAAAY6iScB0VhUwfX2nkDZtpA0X/EGlRga7XRF/VrnBql/xAAAAAAD9////AhAnAAAAAAAAGXapFA+8pFrsaLvoYyTEqiBXntAD9BkdiKwHMwAAAAAAACIAIAMSzgpAnPcZwRWAD5i9DXItplIYXzSXh84vfV5AmkFKAAAAAAABAF4CAAAAAZJ1HnyZ1PXuP1olGdjPNdTfdeSpiHGvW9p3rqfVksyOAQAAAAD9////Aa9dAAAAAAAAIgAgAxLOCkCc9xnBFYAPmL0Nci2mUhhfNJeHzi99XkCaQUrqWicAAQErr10AAAAAAAAiACADEs4KQJz3GcEVgA+YvQ1yLaZSGF80l4fOL31eQJpBSiICA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlRzBEAiAqnwT6MST7weGJtE0y/gMxzgZoS1kXVFHqKiRrrMQMNwIgaujSakvaPRF43jnTEyvlvQ0WLVV6hbrAVZtQ4RJSEQQBAQVHUiED+vm7RgQeljGxaA+O8Bqz++M+NPI8HLulf4KDRZ4ahaUhA1FtIAtpjKXnoTeKlD89iUHsA7ibj0w8JaaWnqKT2M4GUq4iBgNRbSALaYyl56E3ipQ/PYlB7AO4m49MPCWmlp6ik9jOBgR8qnvfIgYD+vm7RgQeljGxaA+O8Bqz++M+NPI8HLulf4KDRZ4ahaUE8Iw2TgAAAQFHUiED+vm7RgQeljGxaA+O8Bqz++M+NPI8HLulf4KDRZ4ahaUhA1FtIAtpjKXnoTeKlD89iUHsA7ibj0w8JaaWnqKT2M4GUq4iAgNRbSALaYyl56E3ipQ/PYlB7AO4m49MPCWmlp6ik9jOBgR8qnvfIgID+vm7RgQeljGxaA+O8Bqz++M+NPI8HLulf4KDRZ4ahaUE8Iw2TgA=",
"complete": false
* Status "complete": false, karena hanya 1 wallet yang masih melakukan sign transaksi (dibutuhkan sign dari wallet ke 2)


Step-10

~ Descriptor_Sign_2 melakukan sign PSBT yang telah ditandatangani oleh Descriptor_Sign_1 di Step-9 dengan menggunakan argumen walletprocesspsbt

Code:
walletprocesspsbt "cHNidP8BAIACAAAAAY6iScB0VhUwfX2nkDZtpA0X/EGlRga7XRF/VrnBql/xAAAAAAD9////AhAnAAAAAAAAGXapFA+8pFrsaLvoYyTEqiBXntAD9BkdiKwHMwAAAAAAACIAIAMSzgpAnPcZwRWAD5i9DXItplIYXzSXh84vfV5AmkFKAAAAAAABAF4CAAAAAZJ1HnyZ1PXuP1olGdjPNdTfdeSpiHGvW9p3rqfVksyOAQAAAAD9////Aa9dAAAAAAAAIgAgAxLOCkCc9xnBFYAPmL0Nci2mUhhfNJeHzi99XkCaQUrqWicAAQErr10AAAAAAAAiACADEs4KQJz3GcEVgA+YvQ1yLaZSGF80l4fOL31eQJpBSiICA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlRzBEAiAqnwT6MST7weGJtE0y/gMxzgZoS1kXVFHqKiRrrMQMNwIgaujSakvaPRF43jnTEyvlvQ0WLVV6hbrAVZtQ4RJSEQQBAQVHUiED+vm7RgQeljGxaA+O8Bqz++M+NPI8HLulf4KDRZ4ahaUhA1FtIAtpjKXnoTeKlD89iUHsA7ibj0w8JaaWnqKT2M4GUq4iBgNRbSALaYyl56E3ipQ/PYlB7AO4m49MPCWmlp6ik9jOBgR8qnvfIgYD+vm7RgQeljGxaA+O8Bqz++M+NPI8HLulf4KDRZ4ahaUE8Iw2TgAAAQFHUiED+vm7RgQeljGxaA+O8Bqz++M+NPI8HLulf4KDRZ4ahaUhA1FtIAtpjKXnoTeKlD89iUHsA7ibj0w8JaaWnqKT2M4GUq4iAgNRbSALaYyl56E3ipQ/PYlB7AO4m49MPCWmlp6ik9jOBgR8qnvfIgID+vm7RgQeljGxaA+O8Bqz++M+NPI8HLulf4KDRZ4ahaUE8Iw2TgA="

Hasil
Code:
"psbt": "cHNidP8BAIACAAAAAY6iScB0VhUwfX2nkDZtpA0X/EGlRga7XRF/VrnBql/xAAAAAAD9////AhAnAAAAAAAAGXapFA+8pFrsaLvoYyTEqiBXntAD9BkdiKwHMwAAAAAAACIAIAMSzgpAnPcZwRWAD5i9DXItplIYXzSXh84vfV5AmkFKAAAAAAABAF4CAAAAAZJ1HnyZ1PXuP1olGdjPNdTfdeSpiHGvW9p3rqfVksyOAQAAAAD9////Aa9dAAAAAAAAIgAgAxLOCkCc9xnBFYAPmL0Nci2mUhhfNJeHzi99XkCaQUrqWicAAQErr10AAAAAAAAiACADEs4KQJz3GcEVgA+YvQ1yLaZSGF80l4fOL31eQJpBSgEI2gQARzBEAiAqnwT6MST7weGJtE0y/gMxzgZoS1kXVFHqKiRrrMQMNwIgaujSakvaPRF43jnTEyvlvQ0WLVV6hbrAVZtQ4RJSEQQBRzBEAiArahPEUj7jKePVl8T00ZLl0oHT2A99H9DW/Aw/8GdFcQIgNxEi0EoVva7Ev8mf9+e0d1pNLNZRGzak1hxZid9mnXUBR1IhA/r5u0YEHpYxsWgPjvAas/vjPjTyPBy7pX+Cg0WeGoWlIQNRbSALaYyl56E3ipQ/PYlB7AO4m49MPCWmlp6ik9jOBlKuAAABAUdSIQP6+btGBB6WMbFoD47wGrP74z408jwcu6V/goNFnhqFpSEDUW0gC2mMpeehN4qUPz2JQewDuJuPTDwlppaeopPYzgZSriICA1FtIAtpjKXnoTeKlD89iUHsA7ibj0w8JaaWnqKT2M4GBHyqe98iAgP6+btGBB6WMbFoD47wGrP74z408jwcu6V/goNFnhqFpQTwjDZOAA==",
"complete": true,
"hex": "020000000001018ea249c0745615307d7da790366da40d17fc41a54606bb5d117f56b9c1aa5ff10000000000fdffffff0210270000000000001976a9140fbca45aec68bbe86324c4aa20579ed003f4191d88ac07330000000000002200200312ce0a409cf719c115800f98bd0d722da652185f349787ce2f7d5e409a414a040047304402202a9f04fa3124fbc1e189b44d32fe0331ce06684b59175451ea2a246bacc40c3702206ae8d26a4bda3d1178de39d3132be5bd0d162d557a85bac0559b50e1125211040147304402202b6a13c4523ee329e3d597c4f4d192e5d281d3d80f7d1fd0d6fc0c3ff06745710220371122d04a15bdaec4bfc99ff7e7b4775a4d2cd6511b36a4d61c5989df669d750147522103faf9bb46041e9631b1680f8ef01ab3fbe33e34f23c1cbba57f8283459e1a85a52103516d200b698ca5e7a1378a943f3d8941ec03b89b8f4c3c25a6969ea293d8ce0652ae00000000"


Step-11

~ Salah satu "Descriptor_Sign_1" atau "Descriptor_Sign_2" , mengirimkan (Broadcast ke Jaringan) "hex" string yang didapatkan di Step-10, menggunakan argumen sendrawtransaction

Code:
sendrawtransaction "020000000001018ea249c0745615307d7da790366da40d17fc41a54606bb5d117f56b9c1aa5ff10000000000fdffffff0210270000000000001976a9140fbca45aec68bbe86324c4aa20579ed003f4191d88ac07330000000000002200200312ce0a409cf719c115800f98bd0d722da652185f349787ce2f7d5e409a414a040047304402202a9f04fa3124fbc1e189b44d32fe0331ce06684b59175451ea2a246bacc40c3702206ae8d26a4bda3d1178de39d3132be5bd0d162d557a85bac0559b50e1125211040147304402202b6a13c4523ee329e3d597c4f4d192e5d281d3d80f7d1fd0d6fc0c3ff06745710220371122d04a15bdaec4bfc99ff7e7b4775a4d2cd6511b36a4d61c5989df669d750147522103faf9bb46041e9631b1680f8ef01ab3fbe33e34f23c1cbba57f8283459e1a85a52103516d200b698ca5e7a1378a943f3d8941ec03b89b8f4c3c25a6969ea293d8ce0652ae00000000"

Hasil TXID
Code:
a5e6b14417adf99609d2e9eff4eb6c54c2c94da9e7b7e52d9f5cf259a74125a6

https://mempool.space/testnet/tx/a5e6b14417adf99609d2e9eff4eb6c54c2c94da9e7b7e52d9f5cf259a74125a6
full member
Activity: 119
Merit: 82
If you know, you know!
January 31, 2024, 10:55:15 PM
#36
Kira-kira posisi salahnya dimana ya sampai tidak bisa diklik next di langkah ke 22 padahal master private key yang saya masukin sudah benar dan sesuai.

Saya juga punya masalah yang sama kemarin @8rch7, coba pastikan stepnya dibaca dengan benar dan pastikan juga kamu tidak paste masternya wallet pertama di kolom cosigner 2 wallet pertama. Karena pada 2-of-2 komposisinya harus master wallet pertama di paste ke kolom add cosigner 2 wallet kedua dan master wallet kedua di paste ke kolom add cosigner 2 wallet pertama.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
January 31, 2024, 10:41:35 PM
#35
Saya mengalami sendikit kendala di step 22 pas masukin master private key, padahal sudah saya copy sebelumnya dan pas paste tidak bisa di klik lanjutkan karena disitu ada pilihan upload master perivate key via file dan juga qr code. Mungkin ada step yang salahkan sebelumnya padahal saya sudah ikutin step by step mulai dari langkah pertama hingga langkah ke 22 sesuai dengan picture yang agan @abhiseshakana tuliskan.

Kira-kira posisi salahnya dimana ya sampai tidak bisa diklik next di langkah ke 22 padahal master private key yang saya masukin sudah benar dan sesuai.
Jika tombol "Next" (pada proses Add Cosigner 2) tidak bisa di klik, kemungkinan besar jumlah string pada Master Pub Key (xpub pada legacy address dan zpub pada segwit address) tidak sesuai. Bisa jadi ada kesalahan pada saat melakukan copy/paste, atau penulisan Master Pub Key.

Coba dipastikan kembali bahwa string dari Master Pub Key memang benar-benar sesuai dan posisi kursor tepat berada di belakang dari character terakhir string tersebut.
sr. member
Activity: 1344
Merit: 459
Vave.com - Crypto Casino
January 31, 2024, 09:30:37 PM
#34
Saya mengalami sendikit kendala di step 22 pas masukin master private key, padahal sudah saya copy sebelumnya dan pas paste tidak bisa di klik lanjutkan karena disitu ada pilihan upload master perivate key via file dan juga qr code. Mungkin ada step yang salahkan sebelumnya padahal saya sudah ikutin step by step mulai dari langkah pertama hingga langkah ke 22 sesuai dengan picture yang agan @abhiseshakana tuliskan.

Kira-kira posisi salahnya dimana ya sampai tidak bisa diklik next di langkah ke 22 padahal master private key yang saya masukin sudah benar dan sesuai.

legendary
Activity: 2660
Merit: 1261
January 31, 2024, 01:51:44 PM
#33
Berhubung ada yang nge bump thread ini, dan ane pun pernah buat comment/tutorial di thread om @abhiseshakana. Nih, ada [CHALLENGE] dengan reward +5 merit untuk rank bebas siapa aja bisa join: https://bitcointalksearch.org/topic/--5483545 untuk transaksi menggunakan (test-net coin) jadi silahkan untuk access wallet agan ke mode testnet terlebih dahulu. Berhubung rata-rata user memakai (ELECTRUM) wallet bisa menambahkan --testnet di belakang target extension. Lebih detailnya
  • Click kanan shourcut (Electrum Wallet)
  • Properties
  • Shortcut
  • Target
  • Dibelakang target tinggal tambahkan --testnet
Note: Pastikan sudah backup wallet2 agan sebelum pindah dari (Mainnet) ke (Testnet) mode.

Untuk mendapatkan coin-test bisa menggunakan faucet yang tersedia, check disini: https://bitcointalksearch.org/topic/list-of-testnet-btc-faucet-5237763 good luck buat semuanya. Masih dibuka sebelum CHALLENGE di tutup.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
January 31, 2024, 01:42:50 AM
#32
kok aku add consiger2 nya kosong ya
ini di isi apa ya add cosinger 2 nya
Saya asumsikan ada 2 Wallet, dimana Wallet 1 adalah milik Cosigner 1 dan Wallet 2 adalah milik Cosigner 2

Pada saat memasuki proses Add Cosigner, maka :

- Pada Wallet 1 (milik Cosigner 1) harus memasukan Master Pub Key dari Wallet 2 (milik Cosigner 2)
- Pada Wallet 2 (milik Cosigner 2) harus memasukan Master Pub Key dari Wallet 1 (milik Cosigner 1)
sr. member
Activity: 518
Merit: 285
#SWGT PRE-SALE IS LIVE
January 31, 2024, 12:26:04 AM
#31


kok aku add consiger2 nya kosong ya
ini di isi apa ya add cosinger 2 nya
legendary
Activity: 2296
Merit: 2892
#SWGT CERTIK Audited
December 31, 2020, 04:48:27 AM
#30
Btw untuk cosigner itu ga harus berurutan dari cosigner 1 dan 2 kan? Sejauh yang ane pahami tiap cosigner bisa bikin tx dan bisa ngesign duluan. Jadi misalnya om Husna bikin txnya dari Cosigner 2 (Nano X) dulu bisa kan ya mestinya?
Ya bisa buat transaksi dari mana saja yang duluan, untuk Cosigner 1 dan Cosigner 2 itu hanya penamaan saja untuk membedakan wallet mana yang sedang digunakan. Jadi semisal ketika transaksi dan sign di Cosigner 2 maka proses sign berikutnya di Cosigner 1, demikian juga jika menggunakan Cosigner lebih dari 2, maka masing-masing cosigner bisa membuat transaksi dan sign lebih dulu kemudian mengirim file transaksi/barcode/dll ke cosigner lainnya untuk di sign agar transaksi tersebut bisa di broadcast.
legendary
Activity: 2170
Merit: 1789
December 31, 2020, 03:11:01 AM
#29
Btw untuk cosigner itu ga harus berurutan dari cosigner 1 dan 2 kan? Sejauh yang ane pahami tiap cosigner bisa bikin tx dan bisa ngesign duluan. Jadi misalnya om Husna bikin txnya dari Cosigner 2 (Nano X) dulu bisa kan ya mestinya?
legendary
Activity: 2296
Merit: 2892
#SWGT CERTIK Audited
December 31, 2020, 02:44:47 AM
#28
Menyambung diskusi sebelumnya tentang multi-signature di https://bitcointalksearch.org/topic/m.55918478
Ini kali pertama saya mencoba mempraktekkan penggunaan multi signature di Electrum merujuk pada panduan dari om abhi, om ryzaadit dan lainnya; namun kali ini dengan menggunakan hardware wallet.

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

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

Secara default, Electrum yang ada di application mac adalah versi mainnet (tidak ada shortcut untuk versi testnet sebagaimana pada versi Windows OS);
Untuk menjalankan Electrum Testnet, buka Terminal dan ketikkan perintah berikut:

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

Akan dimunculkan window Electrum - Install Wizard (Testnet);



Note: Tampilan seperti nampak di atas karena sebelumnya saya pernah membuat wallet testnet lain (non mul-sig).
Pada Alternatively pilih Create New Wallet dan beri nama wallet tersebut.



Pada jenis wallet, pilih Multi-Signature wallet



Kemudian tentukan Consigner dan juga jumlah signature yang dibutuhkan agar bisa memproses transaksi di wallet tersebut.



Pada Add cosigner (1 of 2), kali ini saya menggunakan Use a hardware device



Pada Hardware Keystore pilih device yang terhubung lalu klik Next.
- Device di Wallet (Cosigner) 1:



- Device di Wallet (Cosigner) 2:



Pilih type address wallet ; Untuk derivation path saya biarkan secara default



Kemudian catat Master Public Key yang dihasilkannya, kemudian klik next.

- Master Public Key di Cosigner 1:



- Master Public Key di Cosigner 2:



Pada Add Cosigner (2 of 2) pilih Enter cosigner key



Pada wallet 1 isi menggunakan master public key (xpub) wallet 2:



Pada wallet 2 isi menggunakan master public key (xpub) wallet 1:



Buat password untuk meng-encrypt masing-masing walet pada kedua Cosigner.



Buka tab Addresses (Menu View -> Show Addresses), pastikan address di semua Cosigner sama:

- Address Wallet (cosigner) 1:



- Address Wallet (cosigner) 2:



Tes transaksi di Electrum Multi-Signature Wallet

Note: Saya lihat fitur Lightning Network di Electum (pada test kali ini) tidak men-support untuk wallet multi signature.

- Receive

Pada tab Receive pilih New Address;
Pada kolom Expires after saya pilih Never.



Code:
tb1qnrsxytrm3whmrw65lctd3fdpk28er7tudmhwseshdcylyeudmwgslgqwww

Saya coba kirim sejumlah Bitcoin dari Wallet Bitcoin Core (testnet) ke address tersebut di atas.

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

Wallet (Cosigner) 1 dan Wallet (Cosigner) 2 mendapatkan notifikasi serupa perihal transaksi penerimaan tersebut.

- Send

Pada Wallet (Cosigner) 1, klik tab Send masukkan address Bitcoin si Penerima (Pay to), Description (bisa dikosongkan), dan juga jumlah BTC yang akan dikirim (Amount), kemudian klik Pay...



Tentukan Fee rate kemudian klik Send



Unlock hardware device jika terkunci, dan lakukan konfirmasi untuk mengirim.



Setelah terkonfirmasi di wallet (Cosigner) 1 maka muncul jendela Transaction ID dengan status: Partially signed (1/2)



Klik tombol Export di pojok kiri bawah. Pada test kali ini saya memilih:
For hardware device; include xpubs -> Export to File (bisa juga menggunakan opsi QR code dan lainnya)



Pada Wallet (cosigner) 2, pilih menu Tools -> Load transaction -> From file
Pilih file yang didapatkan dari hasil eksport di Wallet 1 sebelumnya.



Pada jendela Transaction, klik Sign kemudian konfirmasi di hardware device.







Note: sebagian langkah konfirmasi di Ledger Nano X saya skip.

Kembali ke Electrum Klik Broadcast -> OK untuk mengirimkan transaksi multi signature tersebut ke blockchain.



Transaksi selesai:

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

legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
January 14, 2020, 04:48:38 AM
#27

Untuk mengetahui berapa orang [M] yang signed pada multi signature yaitu pada redeem script. [tool yang saya pakai di bawah ini adalah https://iancoleman.io/multisig/


Hal ini sebenarnya juga bisa ketahui jika kita mengerti komposisi script yang ada didalam redeem script tersebut. Sesuai dengan ketentuan Protokol Bitcoin maka pada P2SH multisig address bentuk M-of-N haruslah OPCODE dan jika melihat dari contoh redeem script yang saya gunakan diatas maka bentuk scriptnya seperti ini : OP_2 OP_2 OP_CHECKMULTISIG

Jika dijabarkan akan seperti ini :
redeemScript : 522102xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcaa2103xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx05752ae

52OP_2 (Push 2 onto the stack)
21Push 33 Bytes (pubkey1) onto the stack
02...caa
21Push 33 Bytes (pubkey2) onto the stack
03...057
52OP_2 (Push 2 onto the stack)
aeOP_CHECKMULTISIG


ref: https://en.bitcoin.it/wiki/Script
legendary
Activity: 2366
Merit: 2054
January 10, 2020, 07:47:04 AM
#26
Saya membuat tutorial multisig menggunakan coinb.in di sini (Multi Signature Menggunakan Coinb.in Untuk Bertransaksi)
Dan untuk berdiskusi lebih lanjut mengenai multisig tersebut di thread ini saja.




By the way

Untuk mengetahui berapa orang [M] yang signed pada multi signature yaitu pada redeem script. [tool yang saya pakai di bawah ini adalah https://iancoleman.io/multisig/]

Misal yang sign 3 orang:



Maka angka 3 diurutan kedua dari script tersebut.

Misal yang sign 5 orang:



Maka angka 5 [sebagai orang yang harus sign] diurutan kedua dari script tersebut.

Mari kita lihat redeem script yang mas abhi buat di atas

Quote
● Selanjutnya buat 2-of-2 Multi-signature ...



redeem script:'522... artinya Ada 2 orang yang signed.

Hal ini berfungsi untuk menghindari kesalahan dalam hal membuat Signatories, misalkan kita mengira yang sign 2 orang, ternyata secara tak sengaja terklik 3 orang dan private key yang satunya gak ada lagi misalkan, tentu merugikan.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
January 09, 2020, 01:31:11 PM
#25

Tutorial Multi-Signature Wallet Bitcoin Core




Membuat Multisig Address


Quote
● Pertama-tama tentukan jumlah cosigner dan jumlah pengguna otorisasi (pada contoh kali ini saya memilih 2-of-2)


Quote
● Bikin 2 address baru melalui fitur "console" »»» getnewaddress "label" "address_type"





Quote
● Catat Private Key dari masing-masing address cosigner tersebut »»» dumpprivkey "address"




Note : Jika wallet memiliki password, maka harus diunlock terlebih dahulu »»» walletpassphrase "password" 600


Quote
● Catat public key (pubkey) dari masing-masing address cosigner tersebut »»» getaddressinfo "address"




Quote
● Selanjutnya buat 2-of-2 Multi-signature address dari kedua pubkey tersebut »»» createmultisig 2 '["pubkey1","pubkey2"]'




Quote
● Catat address dan redeemScript dari wallet multisig tersebut


Quote
● Selanjutnya import address multisig ke dalam wallet Bitcoin Core »»» importaddress "address" "label" false





Quote
● Sampai tahap ini multisig address telah selesai dibuat, selanjutnya ialah cara menggunakan address tersebut untuk bertransaksi





Transaksi menggunakan Multisig Address


Quote
● Pertama-tama cek UTXO yang ada di address tersebut »»» listunspent minconf maxconf "[\"address\"]"




Quote
● Catat txid, vout dan scriptPubKey dari UTXO tersebut


Quote
● Lalu buat raw transaction dari UTXO tadi »»» createrawtransaction '[{"txid":"hex","vout":n,"scriptPubKey":"hex","redeemScript":"hex"}]' '{"recipient_address":amount}'




Note : RedeemScript yang digunakan adalah yang berasal dari address multisig "3ChQMt89qQgEQe4oY72sNoX53CrzeVokDd"


Quote
● Untuk merubah fee transaksi gunakan perintah »»» fundrawtransaction "hexstring" '{"feeRate":nominal}'




Note : Besar nominal "feeRate" dalam satuan BTC/kb



Quote
● Selanjutnya sign raw transaction tersebut dengan private key dari cosigner 1
»»» signrawtransactionwithkey "hexstring" '["PrivKey-1"]' '[{"txid":"hex","vout":n,"scriptPubKey":"hex","redeemScript":"hex"}]'

Contoh : signrawtransactionwithkey "0200...8700000000" '["Kwv5...MogrR"]' '[{"txid":"ae...22f","vout":1,"scriptPubKey":"a91...887","redeemScript":"522...2ae"}]'



Note : Jika hasilnya "error" hal tersebut normal, karena dibutuhkan sign dari private key cosigner ke 2 (catat Hex string yg dihasilkan)


Quote
● Lalu sign raw transaction tersebut dengan private key dari cosigner 2
»»» signrawtransactionwithkey "hexstring" '["PrivKey-2"]' '[{"txid":"hex","vout":n,"scriptPubKey":"hex","redeemScript":"hex"}]'

Contoh : signrawtransactionwithkey "020...8700000000" '["KwWS...pTX"]' '[{"txid":"ae...22f","vout":1,"scriptPubKey":"a91...887","redeemScript":"522...2ae"}]'



Note : Hasil harus "complete": true. Catat Hex string yang dihasilkan untuk digunakan pada langkah selanjutnya


Quote
● Terakhir kirim raw transaction tersebut ke jaringan Bitcoin »»» sendrawtransaction "HexString"





Quote
● Proses transaksi menggunakan 2-of-2 Multisig address telah selesai dilakukan


Note : Proses tutorial diatas dilakukan pada jaringan Mainnet Bitcoin (menggunakan real BTC)
Untuk history transaksi bisa dilihat disini b97d49148fd28f5f6fb25bca2657a7e33e707686e1c5cfe02159a966883b9604
legendary
Activity: 2660
Merit: 1261
Transaksi Dengan Menggunakan Multi-Signature Wallet

Baiklah, berhubung dalam pertanyaan agan @Farul yang memang meminta Tutorial untuk pengiriman dengan menggunakan Multi-Signature Wallet hal ini membuat saya ingin mecobanya. Dikarenakan memang saya saat ini sedang mempelajari tentang Multi-Signature Wallet, jadi saya langsung mencoba transaksi dengan menggunakan Multi-Sig.

Untuk ditutorial ini saya akan menggunakan Litecoin sebagai Cryptocurrency yang saya gunakan dalam bertransaksi, Karena ini hayalah sebuah edukasi jadi alsan saya mengunakan LTC yaitu Fee-nya (Jadi harap dimaklumin yah). Wallet yang akan saya gunakan yaitu Electrum Litecoin dengan versi 3.3.4.1.

Diketahui :
Saya akan menjual Laptop ASUS A411X dengan harga 0.077 Litecoin, @abhiseshakana tertarik untuk membeli laptop yang saya jual dengan menggunakan metode transaksi Multi-Signature. Akhirnya kami berdua sepakat untuk melakukan Escrow melalui om @sapta dengan menggunakan Multi-Signtaure Wallet, akhirnya om @sapta pun membuat Signature Wallet Address dengan informasi sebagai berikut :

LYVj6TL9VM45C1kEQUa9huRTX3B2oA6Z58 (Buyer) @abhiseshakana
LQvbMi3tX9UZpkdZm4jSQKDMiunhRXLpLW (Seller) @ryzaadit
MRTKhQg48xPRQVPg99U8sBtMXujeChHhZL (Escrow : Alamat Address Multi-Signature) @sapta

Dalam transaksi menggunakan pengaturan 2-of-3, perlu diketahui dalam tutorial ini fee sudah termasuk dalam 0.077 LTC tersebut sehingga bisa saja Seller akan menerima kurang dari 0.077 LTC.


Tutorial Transaksi

● Buyer melakukan pengiriman dana ke Alamat Address Multi-Signature sebesar 0.077 LTC


● Escrow & Seller pun melakukan konfirmasi apakah dana telah dikirimkan, setelah dana telah terkonfirmasi masuk maka seller akan melakukan transaksi dengan si buyer untuk mengirimkan barang yang dibeli.


● Setelah barang dikirimkan Seller memberitahukan Escrow bahwa barang telah dikirimkan dan mengirimkan Resi Pengiriman kepada Escrow & Buyer, Keduanya pun melakukan check dari resi yang telah dikirimkan. Dikarenakan pengiriman membutuhkan estimasi waktu 2-3 hari maka dana tidak langsung diteruskan kepada seller, dalam phase harus dipastikan bahwa buyer menerima barang sesuai yang dia pesan.

● 2-3 Hari pun telah berlalu Buyer mengkonfirmasi kepada kedua belah pihak, bahwa dia telah menerima barang yang dia beli sesuai dengan yang di janjikan.

● Escrow pun menerukan dana yang berada di Multi-Sig Address.

Dalam transaksi diatas bisa kita lihat bahwa Transaksi belum belum bisa ke-broadcast dikarenakan masih memerlukan Signature Transaksi dari 1/2 Cogsiner Key.  Jadi kita harus melakukan mengirimkan file transaksi tersebut kepada Seller agar Seller bisa melakukan Sign agar transaksi bisa ter broadcast. Terdapat beberapa pilihan untuk mengirimkan transaksi tersebut ke salah satu Cosigner lainnya yitu :
  • Menggunakan QR Code
  • Menggunakan File
  • Menggunakan Cosigner Pool
Berhubung Cosigner Pool harus diaktifkan sebelum transaksi, dan saya telah melakukan transaksi jadi saya akan memilih opsi ke-2 yaitu dengan menggunakan File. Klik Export > Save File.

Escrow kemudian mengirimkan file transaksi tersebut kepada Seller.

● Seller menerima file transaksi dan akan segera melakukan signature transaksi dengan cara : Tools > Load Transaction > From File.


● Setelah Informasi Transaksi muncul segeralah untuk klik Sign > Broadcast.


● Transaksi Menggunakan Multi-Sig selesai, hanya tinggal menunggu waktu transaksi tersebut ter-konfirmasi.


P.S : Mohon Izin terhadap @abhiseshakana dikarenakan saya mengunakan format thread anda untuk melakukan tutorial ini. Thanks!

Referensi :
[Info & Tutorial] Multi-Signature Wallet] by abhiseshakana.
http://docs.electrum.org/en/latest/multisig.html
legendary
Activity: 2170
Merit: 1789
Terus terang tujuan dari thread ini hanya sekedar berbagi informasi umum dari multi-sig wallet dan tata cara pembuatan multi-sig wallet secara simpel saja. Bahkan munculnya thread ini juga karena terinspirasi dari pertanyaan seorang member yg berkaitan dengan multi-sig wallet  Grin

Bahan awal:
- https://bitcoin.stackexchange.com/questions/23893/what-are-the-limits-of-m-and-n-in-m-of-n-multisig-addresses
- https://bitcointalksearch.org/topic/types-of-different-bitcoin-transaction-and-their-sizes-2643561
- https://www.youtube.com/watch?v=hcq9MbNJhY8
- https://medium.com/@tiero/how-to-bitcoin-multi-signature-wallet-using-electrum-and-several-ledger-nano-s-225867e3b726
- https://www.expressvpn.com/blog/4-smart-ways-to-use-bitcoins-multisignature-wallets/
- https://google.com

Bagus juga menggunakan wallet multi signature,tapi saya masih bigung bagaimana cara menggunakan wallet tersebut apakah setiap wallet akan ada privatekey yang berbeda,jika iya maka sangat bagus untuk kita gunakan apalagi bisa kita gunakan untuk wallet selain BTC saja.

Makanya kalau mau komen om baca dulu threadnya, ketahuan kan nganunya.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
Ane Ada Beberapa Pertanyaan Tentang Dompet Multisignature :
1.Apakah Transaksi Multi-Signature Itu Ukurannya Lebih Besar?

2.Apakah Semua Kombinasi M-of-N-Multisignature Ini Ada Batasnya(Apakah 1-of-15 Bisa Dipakai)

3.Bagaimana Cara Bertransaksi Dengan Dompet Multi-Signature?(PANDUan agan cuma meliputi cara membuatnya)


Mungkin jika berkenan agan farul bisa (mau) ber-eskperimen dengan ketiga pertanyaan diatas dan untuk hasilnya bisa dishare dithread ini (saya akan sangat mengapresiasi proses tersebut)

Terus terang tujuan dari thread ini hanya sekedar berbagi informasi umum dari multi-sig wallet dan tata cara pembuatan multi-sig wallet secara simpel saja. Bahkan munculnya thread ini juga karena terinspirasi dari pertanyaan seorang member yg berkaitan dengan multi-sig wallet  Grin
sr. member
Activity: 270
Merit: 309
Shinji bgt gwh
Ane Ada Beberapa Pertanyaan Tentang Dompet Multisignature :
1.Apakah Transaksi Multi-Signature Itu Ukurannya Lebih Besar?

2.Apakah Semua Kombinasi M-of-N-Multisignature Ini Ada Batasnya(Apakah 1-of-15 Bisa Dipakai)

3.Bagaimana Cara Bertransaksi Dengan Dompet Multi-Signature?(PANDUan agan cuma meliputi cara membuatnya)
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
October 20, 2018, 10:35:01 AM
#20
ada cara untuk membuat electrum sebagai wallet custom untuk koin lain gak gan? dengan mengganti node dsb. soalnya cape juga banyak wallet harus download full chain. thanks sebelumnya.

Hal tersebut saya rasa bisa dilakukan, tetapi prosesnya tidak gampang dan bakal membutuhkan waktu yang lebih lama dibandingkan dengan agan mendownload sebuah full node  Grin.

Karena kita harus melakukan fork pada source code electrum wallet, yg pastinya dibutuhkan beberapa Dependency khusus, beserta environment source codenya, lalu melakukan compiling untuk memastikan semua environment bisa dibuild dan dapat berjalan tanpa ada kendala apapun. Setelah itu kita masih harus merubah variabel-variabel yg ada pada masing-masing file sesuai dengan protocol altcoin yang dimaksud. Dan setelah semuanya siap tinggal di re-compile trus jalankan file executable-nya untuk memastikan apakah node yang kita build bisa berjalan dengan normal dan bisa terhubung dengan jaringan global altcoin tersebut.

Tetapi proses diatas juga mengharuskan seorang builder untuk mendownload full node (keseluruhan blockchain),  jadi daripada harus kerja dua kali kenapa agan tidak menggunakan saja wallet-wallet dari electrum fork (seperti : Electrum-LTC, Electrum-Dash, Electron-Cash) yg notabene ada pilihan jaringan light node, sehingga tidak diperlukan proses download fullnode.  Wink
newbie
Activity: 42
Merit: 0
October 20, 2018, 07:42:39 AM
#19
ada cara untuk membuat electrum sebagai wallet custom untuk koin lain gak gan? dengan mengganti node dsb. soalnya cape juga banyak wallet harus download full chain. thanks sebelumnya.
Pages:
Jump to: