Advertisement
Guest User

segwit-play.should-work

a guest
Feb 12th, 2018
622
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.36 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. CLI="-testnet -datadir=segwit-play"
  4.  
  5. rm -rf segwit-play
  6. mkdir -p segwit-play
  7. bitcoind $CLI -daemon -connect=0.0.0.0
  8. sleep 4
  9.  
  10. echo ==== Importing private keys and retrieving associated addresses
  11. bitcoin-cli $CLI importprivkey cQCrT9Ncs9729ao7jbmAWrD9z7tF64s2yKzmD6nkiLAi9sXVZWAn acct1
  12. bitcoin-cli $CLI importprivkey cP65UeSDZPiTLB6CBwasWv9oJYEjRgQXhswfwcT9HscEKDcEbgy4 acct2
  13. bitcoin-cli $CLI importprivkey cNYaH3onqrdMffpznhMMmrHn34fuTU59w5j8LM3H42VPcUsLeXy5 acct3
  14. bitcoin-cli $CLI importprivkey cRoydfinDRzzRQJp5niqJWukSYTfPJQM6ytqGN6nzonaz1mafgwD acct4
  15.  
  16. bitcoin-cli $CLI getaddressesbyaccount acct1
  17. bitcoin-cli $CLI getaddressesbyaccount acct2
  18. bitcoin-cli $CLI getaddressesbyaccount acct3
  19. bitcoin-cli $CLI getaddressesbyaccount acct4
  20.  
  21. echo ==== Creating multisig address
  22. bitcoin-cli $CLI addmultisigaddress 2 '["mn1f471kQHYx9oUnwc4TUy9KzbMx9847Dk", "mxtjsVSypDUjWAvc5nNRMEqYY5C4G2HpWL", "mwLScBiargpRuEJJo9zkrCrcHkb23qJp4m", "muYPF5rfGfqM1ucX5BCcYpRLx1y2BJmYbC"]' '' 'p2sh-segwit'
  23.  
  24. #{
  25. #  "address": "2N93du8YobdgsHyu3qgBvSyhGUT52utMNeA",
  26. #  "redeemScript": "522103d14ddcfb6817f5579695bbb3eb3e185887bf2942b031e6f716343b8fe7e9e8e221028fcd46f8614b2cbf318096968242a1e22bcfb6d8f2b6dc939c8c27c347b2937b210315acb550120f4cdcb460d5c49080ab508ca4ccd8dedecac22feeac8cd017d4c121022b063ee2f22f9e1982c140fe778672c683111a796dcccdbd47bb65e3d608a98354ae"
  27. #}
  28.  
  29.  
  30. ### Kill bitcoind, restart clean
  31. bitcoin-cli $CLI stop
  32. sleep 2
  33. rm -rf segwit-play
  34. mkdir -p segwit-play
  35. bitcoind $CLI -daemon -connect=0.0.0.0
  36. sleep 4
  37.  
  38. # I sent some coins to that multisig address; testnet txid e0e9bb25fb873c4caccdc8ab743c4350310031f2cc077bb90c3f495458860157
  39.  
  40. echo ==== Decoding funding transaction
  41. bitcoin-cli $CLI decoderawtransaction 0200000001027a30118f5a29f686071774589a49e27c05963530fd5b52c29cc03d5874e5bd000000006b483045022100d4504530751a274934eae4689d7745ab35fda90d769015b3efdec004dc6055d002207654cf1e67900922c6519493584cfcc12b40ef608853a6f51a171f5d23f5da14012103cad1d192effda236ff8f8f2472ecd68d76c55e1e4416eb31bb689770cc330409feffffff02d3f55b05000000001976a91443187b37dcb5177953d11b1f2272d5b22ab95ff188ac809698000000000017a914ad50fb2489353008e75b0193011ff1f4b76f798c8735901300
  42.  
  43. # Partial dump of the raw transaction; vout[1] is my output:
  44. # {
  45. #   "value": 0.10000000,
  46. #   "n": 1,
  47. #   "scriptPubKey": {
  48. #     "asm": "OP_HASH160 ad50fb2489353008e75b0193011ff1f4b76f798c OP_EQUAL",
  49. #     "hex": "a914ad50fb2489353008e75b0193011ff1f4b76f798c87",
  50. #     "reqSigs": 1,
  51. #     "type": "scripthash",
  52. #     "addresses": [
  53. #       "2N93du8YobdgsHyu3qgBvSyhGUT52utMNeA"
  54. #     ]
  55. #   }
  56. # }
  57.  
  58. # Now I want to send some coins to myP4xdJNwAW9iMakvCjnozg814ewgn8apd and change back to the originating address:
  59.  
  60. echo ==== Creating raw unsigned transaction
  61. bitcoin-cli $CLI createrawtransaction '[{"vout": 1, "txid": "e0e9bb25fb873c4caccdc8ab743c4350310031f2cc077bb90c3f495458860157"}]' '{"2N93du8YobdgsHyu3qgBvSyhGUT52utMNeA": "0.06998830", "myP4xdJNwAW9iMakvCjnozg814ewgn8apd": "0.03000000"}'
  62.  
  63. # Returns: 02000000015701865854493f0cb97b07ccf231003150433c74abc8cdac4c3c87fb25bbe9e00100000000ffffffff022ecb6a000000000017a914ad50fb2489353008e75b0193011ff1f4b76f798c87c0c62d00000000001976a914c3f4800772d58f5429dcb550b1a6a53580175bc188ac00000000
  64.  
  65. echo ==== Signing raw transaction
  66. bitcoin-cli $CLI signrawtransaction 02000000015701865854493f0cb97b07ccf231003150433c74abc8cdac4c3c87fb25bbe9e00100000000ffffffff022ecb6a000000000017a914ad50fb2489353008e75b0193011ff1f4b76f798c87c0c62d00000000001976a914c3f4800772d58f5429dcb550b1a6a53580175bc188ac00000000 '[{"redeemScript": "522103d14ddcfb6817f5579695bbb3eb3e185887bf2942b031e6f716343b8fe7e9e8e221028fcd46f8614b2cbf318096968242a1e22bcfb6d8f2b6dc939c8c27c347b2937b210315acb550120f4cdcb460d5c49080ab508ca4ccd8dedecac22feeac8cd017d4c121022b063ee2f22f9e1982c140fe778672c683111a796dcccdbd47bb65e3d608a98354ae", "amount": 0.1, "scriptPubKey": "a914ad50fb2489353008e75b0193011ff1f4b76f798c87", "vout": 1, "txid": "e0e9bb25fb873c4caccdc8ab743c4350310031f2cc077bb90c3f495458860157"}]' '["cQCrT9Ncs9729ao7jbmAWrD9z7tF64s2yKzmD6nkiLAi9sXVZWAn", "cP65UeSDZPiTLB6CBwasWv9oJYEjRgQXhswfwcT9HscEKDcEbgy4"]'
  67.  
  68. # Even with all 4 keys it doesn't like it:
  69. # '["cQCrT9Ncs9729ao7jbmAWrD9z7tF64s2yKzmD6nkiLAi9sXVZWAn", "cP65UeSDZPiTLB6CBwasWv9oJYEjRgQXhswfwcT9HscEKDcEbgy4", "cNYaH3onqrdMffpznhMMmrHn34fuTU59w5j8LM3H42VPcUsLeXy5", "cRoydfinDRzzRQJp5niqJWukSYTfPJQM6ytqGN6nzonaz1mafgwD"]'
  70.  
  71.  
  72.  
  73.  
  74. bitcoin-cli $CLI stop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement