Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- CLI="-testnet -datadir=segwit-play"
- rm -rf segwit-play
- mkdir -p segwit-play
- bitcoind $CLI -daemon -connect=0.0.0.0
- sleep 4
- echo ==== Importing private keys and retrieving associated addresses
- bitcoin-cli $CLI importprivkey cQCrT9Ncs9729ao7jbmAWrD9z7tF64s2yKzmD6nkiLAi9sXVZWAn acct1
- bitcoin-cli $CLI importprivkey cP65UeSDZPiTLB6CBwasWv9oJYEjRgQXhswfwcT9HscEKDcEbgy4 acct2
- bitcoin-cli $CLI importprivkey cNYaH3onqrdMffpznhMMmrHn34fuTU59w5j8LM3H42VPcUsLeXy5 acct3
- bitcoin-cli $CLI importprivkey cRoydfinDRzzRQJp5niqJWukSYTfPJQM6ytqGN6nzonaz1mafgwD acct4
- bitcoin-cli $CLI getaddressesbyaccount acct1
- bitcoin-cli $CLI getaddressesbyaccount acct2
- bitcoin-cli $CLI getaddressesbyaccount acct3
- bitcoin-cli $CLI getaddressesbyaccount acct4
- echo ==== Creating multisig address
- bitcoin-cli $CLI addmultisigaddress 2 '["mn1f471kQHYx9oUnwc4TUy9KzbMx9847Dk", "mxtjsVSypDUjWAvc5nNRMEqYY5C4G2HpWL", "mwLScBiargpRuEJJo9zkrCrcHkb23qJp4m", "muYPF5rfGfqM1ucX5BCcYpRLx1y2BJmYbC"]' '' 'p2sh-segwit'
- #{
- # "address": "2N93du8YobdgsHyu3qgBvSyhGUT52utMNeA",
- # "redeemScript": "522103d14ddcfb6817f5579695bbb3eb3e185887bf2942b031e6f716343b8fe7e9e8e221028fcd46f8614b2cbf318096968242a1e22bcfb6d8f2b6dc939c8c27c347b2937b210315acb550120f4cdcb460d5c49080ab508ca4ccd8dedecac22feeac8cd017d4c121022b063ee2f22f9e1982c140fe778672c683111a796dcccdbd47bb65e3d608a98354ae"
- #}
- ### Kill bitcoind, restart clean
- bitcoin-cli $CLI stop
- sleep 2
- rm -rf segwit-play
- mkdir -p segwit-play
- bitcoind $CLI -daemon -connect=0.0.0.0
- sleep 4
- # I sent some coins to that multisig address; testnet txid e0e9bb25fb873c4caccdc8ab743c4350310031f2cc077bb90c3f495458860157
- echo ==== Decoding funding transaction
- bitcoin-cli $CLI decoderawtransaction 0200000001027a30118f5a29f686071774589a49e27c05963530fd5b52c29cc03d5874e5bd000000006b483045022100d4504530751a274934eae4689d7745ab35fda90d769015b3efdec004dc6055d002207654cf1e67900922c6519493584cfcc12b40ef608853a6f51a171f5d23f5da14012103cad1d192effda236ff8f8f2472ecd68d76c55e1e4416eb31bb689770cc330409feffffff02d3f55b05000000001976a91443187b37dcb5177953d11b1f2272d5b22ab95ff188ac809698000000000017a914ad50fb2489353008e75b0193011ff1f4b76f798c8735901300
- # Partial dump of the raw transaction; vout[1] is my output:
- # {
- # "value": 0.10000000,
- # "n": 1,
- # "scriptPubKey": {
- # "asm": "OP_HASH160 ad50fb2489353008e75b0193011ff1f4b76f798c OP_EQUAL",
- # "hex": "a914ad50fb2489353008e75b0193011ff1f4b76f798c87",
- # "reqSigs": 1,
- # "type": "scripthash",
- # "addresses": [
- # "2N93du8YobdgsHyu3qgBvSyhGUT52utMNeA"
- # ]
- # }
- # }
- echo ==== Decoding redeem script
- bitcoin-cli $CLI decodescript 522103d14ddcfb6817f5579695bbb3eb3e185887bf2942b031e6f716343b8fe7e9e8e221028fcd46f8614b2cbf318096968242a1e22bcfb6d8f2b6dc939c8c27c347b2937b210315acb550120f4cdcb460d5c49080ab508ca4ccd8dedecac22feeac8cd017d4c121022b063ee2f22f9e1982c140fe778672c683111a796dcccdbd47bb65e3d608a98354ae
- echo ==== Re-creating multisig address for wallet
- # I got the pubkeys from the decoded redeem script above
- bitcoin-cli $CLI addmultisigaddress 2 '["03d14ddcfb6817f5579695bbb3eb3e185887bf2942b031e6f716343b8fe7e9e8e2", "028fcd46f8614b2cbf318096968242a1e22bcfb6d8f2b6dc939c8c27c347b2937b", "0315acb550120f4cdcb460d5c49080ab508ca4ccd8dedecac22feeac8cd017d4c1", "022b063ee2f22f9e1982c140fe778672c683111a796dcccdbd47bb65e3d608a983"]' '' 'p2sh-segwit'
- # Teach the wallet about the two keys we will use for signing:
- #bitcoin-cli $CLI importprivkey cQCrT9Ncs9729ao7jbmAWrD9z7tF64s2yKzmD6nkiLAi9sXVZWAn acct1
- #bitcoin-cli $CLI importprivkey cP65UeSDZPiTLB6CBwasWv9oJYEjRgQXhswfwcT9HscEKDcEbgy4 acct2
- bitcoin-cli $CLI importprivkey cNYaH3onqrdMffpznhMMmrHn34fuTU59w5j8LM3H42VPcUsLeXy5 acct3
- bitcoin-cli $CLI importprivkey cRoydfinDRzzRQJp5niqJWukSYTfPJQM6ytqGN6nzonaz1mafgwD acct4
- # Now I want to send some coins to myP4xdJNwAW9iMakvCjnozg814ewgn8apd and change back to the originating address:
- echo ==== Creating raw unsigned transaction
- bitcoin-cli $CLI createrawtransaction '[{"vout": 1, "txid": "e0e9bb25fb873c4caccdc8ab743c4350310031f2cc077bb90c3f495458860157"}]' '{"2N93du8YobdgsHyu3qgBvSyhGUT52utMNeA": "0.06998830", "myP4xdJNwAW9iMakvCjnozg814ewgn8apd": "0.03000000"}'
- # Returns: 02000000015701865854493f0cb97b07ccf231003150433c74abc8cdac4c3c87fb25bbe9e00100000000ffffffff022ecb6a000000000017a914ad50fb2489353008e75b0193011ff1f4b76f798c87c0c62d00000000001976a914c3f4800772d58f5429dcb550b1a6a53580175bc188ac00000000
- echo ==== Signing raw transaction
- bitcoin-cli $CLI signrawtransaction 02000000015701865854493f0cb97b07ccf231003150433c74abc8cdac4c3c87fb25bbe9e00100000000ffffffff022ecb6a000000000017a914ad50fb2489353008e75b0193011ff1f4b76f798c87c0c62d00000000001976a914c3f4800772d58f5429dcb550b1a6a53580175bc188ac00000000 '[{"redeemScript": "522103d14ddcfb6817f5579695bbb3eb3e185887bf2942b031e6f716343b8fe7e9e8e221028fcd46f8614b2cbf318096968242a1e22bcfb6d8f2b6dc939c8c27c347b2937b210315acb550120f4cdcb460d5c49080ab508ca4ccd8dedecac22feeac8cd017d4c121022b063ee2f22f9e1982c140fe778672c683111a796dcccdbd47bb65e3d608a98354ae", "amount": 0.1, "scriptPubKey": "a914ad50fb2489353008e75b0193011ff1f4b76f798c87", "vout": 1, "txid": "e0e9bb25fb873c4caccdc8ab743c4350310031f2cc077bb90c3f495458860157"}]'
- bitcoin-cli $CLI stop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement