You are reading content from Scuttlebutt
@dan %h/SDxDWKprCW4YaP1ZLZGlw5mumwghftu4kjlHxZ5TU=.sha256

Setting up Bitcoin locally to manually make a bitcoin multisig wallet

Have been investigating dyne's Social Wallet API (actually the freecoin-lib which is the underlying library) with @Kieran and realised that they have not exposed the createmultisig command from the RPC.

So, here is the info directly from the bitcoin-cli

$ bitcoin-cli createmultisig
error code: -1
error message:
createmultisig nrequired ["key",...]

Creates a multi-signature address with n signature of m keys required.
It returns a json object with the address and redeemScript.

Arguments:

  1. nrequired (numeric, required) The number of required signatures out of the n keys or addresses.
  2. "keys" (string, required) A json array of keys which are bitcoin addresses or hex-encoded public keys
    [
    "key"    (string) bitcoin address or hex-encoded public key
    ,...
    
    ]

Result:
{
"address":"multisigaddress", (string) The value of the new multisig address.
"redeemScript":"script" (string) The string value of the hex-encoded redemption script.
}

Examples:

Create a multisig address from 2 addresses

bitcoin-cli createmultisig 2 "[\"16sSauSf5pF2UkUwvKGq4qjNRzBZYqgEL5\",\"171sgjn4YtPu27adkKGrdDwzRTxnRkBfKV\"]"

As a json rpc call

curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "createmultisig", "params": [2, "[\"16sSauSf5pF2UkUwvKGq4qjNRzBZYqgEL5\",\"171sgjn4YtPu27adkKGrdDwzRTxnRkBfKV\"]"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

cc: #bitcoin #blockchain #multisig

@dan %WQ6WRibptDt+xU7yeKgotAQ5u76SyKZC55/BIwJ37+k=.sha256

This is a useful tool for generating pubKey's required for setting up multisig wallet

https://iancoleman.io/bip39/

@dan %jfS8kmA0PXkYEni7tiRrjEw294k5RsujncqpOuqGXYA=.sha256

Here is a web based interface to the Bitcoin API JSON-RPC

http://chainquery.com/bitcoin-api/createmultisig

@kieran %2WPHIY376KEH7613aWHltppWlnspbSMBy+Rmo1EFqoE=.sha256

Using a public key rather than an address it works fine.

bitcoin-cli createmultisig 2 "[\"03810e46a1c377a9e2bdb2b771bc765eb4d2204186948dcc30ed59342e7c00e06f\", \"02de18708959ffbf1e3c6b8b61f1ef77feff8e95f0da5f88e24d3d2e2c1738498c\"]"

Returns...

{
  "address": "3QGyoDspqJFxeGjzE53TuB7sxf2XpX4ReV",
  "redeemScript": "522103810e46a1c377a9e2bdb2b771bc765eb4d2204186948dcc30ed59342e7c00e06f2102de18708959ffbf1e3c6b8b61f1ef77feff8e95f0da5f88e24d3d2e2c1738498c52ae"
}

Nice one getting this up @Dan Hassan :smile:

Join Scuttlebutt now