bitcoin-ruby 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. data/.gitignore +4 -1
  2. data/Gemfile +21 -0
  3. data/README.rdoc +85 -25
  4. data/Rakefile +7 -3
  5. data/bin/bitcoin_node +39 -42
  6. data/bin/bitcoin_shell +1 -0
  7. data/bin/bitcoin_wallet +129 -53
  8. data/bitcoin-ruby.gemspec +4 -7
  9. data/concept-examples/blockchain-pow.rb +1 -1
  10. data/doc/CONFIG.rdoc +5 -5
  11. data/doc/EXAMPLES.rdoc +9 -5
  12. data/doc/NAMECOIN.rdoc +34 -0
  13. data/doc/NODE.rdoc +147 -10
  14. data/examples/balance.rb +10 -4
  15. data/examples/bbe_verify_tx.rb +7 -2
  16. data/examples/forwarder.rb +73 -0
  17. data/examples/generate_tx.rb +34 -0
  18. data/examples/simple_network_monitor_and_util.rb +187 -0
  19. data/examples/verify_tx.rb +1 -1
  20. data/lib/bitcoin.rb +308 -18
  21. data/lib/bitcoin/builder.rb +62 -36
  22. data/lib/bitcoin/config.rb +2 -0
  23. data/lib/bitcoin/connection.rb +11 -8
  24. data/lib/bitcoin/electrum/mnemonic.rb +162 -0
  25. data/lib/bitcoin/ffi/openssl.rb +187 -21
  26. data/lib/bitcoin/gui/addr_view.rb +2 -0
  27. data/lib/bitcoin/gui/conn_view.rb +2 -0
  28. data/lib/bitcoin/gui/connection.rb +2 -0
  29. data/lib/bitcoin/gui/em_gtk.rb +2 -0
  30. data/lib/bitcoin/gui/gui.rb +2 -0
  31. data/lib/bitcoin/gui/helpers.rb +2 -0
  32. data/lib/bitcoin/gui/tree_view.rb +2 -0
  33. data/lib/bitcoin/gui/tx_view.rb +2 -0
  34. data/lib/bitcoin/key.rb +77 -11
  35. data/lib/bitcoin/litecoin.rb +81 -0
  36. data/lib/bitcoin/logger.rb +20 -1
  37. data/lib/bitcoin/namecoin.rb +279 -0
  38. data/lib/bitcoin/network/command_client.rb +7 -6
  39. data/lib/bitcoin/network/command_handler.rb +229 -43
  40. data/lib/bitcoin/network/connection_handler.rb +182 -70
  41. data/lib/bitcoin/network/node.rb +231 -106
  42. data/lib/bitcoin/protocol.rb +44 -23
  43. data/lib/bitcoin/protocol/address.rb +5 -3
  44. data/lib/bitcoin/protocol/alert.rb +3 -4
  45. data/lib/bitcoin/protocol/aux_pow.rb +123 -0
  46. data/lib/bitcoin/protocol/block.rb +98 -18
  47. data/lib/bitcoin/protocol/handler.rb +6 -5
  48. data/lib/bitcoin/protocol/parser.rb +44 -19
  49. data/lib/bitcoin/protocol/tx.rb +105 -52
  50. data/lib/bitcoin/protocol/txin.rb +39 -19
  51. data/lib/bitcoin/protocol/txout.rb +28 -13
  52. data/lib/bitcoin/protocol/version.rb +16 -7
  53. data/lib/bitcoin/script.rb +579 -122
  54. data/lib/bitcoin/storage/{dummy.rb → dummy/dummy_store.rb} +8 -14
  55. data/lib/bitcoin/storage/models.rb +20 -7
  56. data/lib/bitcoin/storage/{sequel_store/sequel_migrations.rb → sequel/migrations.rb} +22 -7
  57. data/lib/bitcoin/storage/sequel/migrations/001_base_schema.rb +52 -0
  58. data/lib/bitcoin/storage/sequel/migrations/002_tx.rb +50 -0
  59. data/lib/bitcoin/storage/sequel/migrations/003_change_txin_script_sig_to_blob.rb +18 -0
  60. data/lib/bitcoin/storage/sequel/sequel_store.rb +436 -0
  61. data/lib/bitcoin/storage/storage.rb +233 -28
  62. data/lib/bitcoin/storage/utxo/migrations/001_base_schema.rb +52 -0
  63. data/lib/bitcoin/storage/utxo/migrations/002_utxo.rb +18 -0
  64. data/lib/bitcoin/storage/utxo/utxo_store.rb +361 -0
  65. data/lib/bitcoin/validation.rb +369 -0
  66. data/lib/bitcoin/version.rb +1 -1
  67. data/lib/bitcoin/wallet/coinselector.rb +3 -0
  68. data/lib/bitcoin/wallet/keygenerator.rb +3 -1
  69. data/lib/bitcoin/wallet/keystore.rb +6 -2
  70. data/lib/bitcoin/wallet/txdp.rb +6 -4
  71. data/lib/bitcoin/wallet/wallet.rb +54 -16
  72. data/spec/bitcoin/bitcoin_spec.rb +48 -3
  73. data/spec/bitcoin/builder_spec.rb +40 -17
  74. data/spec/bitcoin/fixtures/000000000000056b1a3d84a1e2b33cde8915a4b61c0cae14fca6d3e1490b4f98.json +3697 -0
  75. data/spec/bitcoin/fixtures/03d7e1fa4d5fefa169431f24f7798552861b255cd55d377066fedcd088fb0e99.json +23 -0
  76. data/spec/bitcoin/fixtures/0961c660358478829505e16a1f028757e54b5bbf9758341a7546573738f31429.json +24 -0
  77. data/spec/bitcoin/fixtures/0f24294a1d23efbb49c1765cf443fba7930702752aba6d765870082fe4f13cae.json +37 -0
  78. data/spec/bitcoin/fixtures/315ac7d4c26d69668129cc352851d9389b4a6868f1509c6c8b66bead11e2619f.json +31 -0
  79. data/spec/bitcoin/fixtures/35e2001b428891fefa0bfb73167c7360669d3cbd7b3aa78e7cad125ddfc51131.json +27 -0
  80. data/spec/bitcoin/fixtures/3a17dace09ffb919ed627a93f1873220f4c975c1248558b18d16bce25d38c4b7.json +72 -0
  81. data/spec/bitcoin/fixtures/3e58b7eed0fdb599019af08578effea25c8666bbe8e200845453cacce6314477.json +27 -0
  82. data/spec/bitcoin/fixtures/514c46f0b61714092f15c8dfcb576c9f79b3f959989b98de3944b19d98832b58.json +24 -0
  83. data/spec/bitcoin/fixtures/51bf528ecf3c161e7c021224197dbe84f9a8564212f6207baa014c01a1668e1e.json +30 -0
  84. data/spec/bitcoin/fixtures/69216b8aaa35b76d6613e5f527f4858640d986e1046238583bdad79b35e938dc.json +28 -0
  85. data/spec/bitcoin/fixtures/7208e5edf525f04e705fb3390194e316205b8f995c8c9fcd8c6093abe04fa27d.json +27 -0
  86. data/spec/bitcoin/fixtures/761d8c5210fdfd505f6dff38f740ae3728eb93d7d0971fb433f685d40a4c04f6.json +27 -0
  87. data/spec/bitcoin/fixtures/aea682d68a3ea5e3583e088dcbd699a5d44d4b083f02ad0aaf2598fe1fa4dfd4.json +27 -0
  88. data/spec/bitcoin/fixtures/bd1715f1abfdc62bea3f605bdb461b3ba1f2cca6ec0d73a18a548b7717ca8531.json +34 -0
  89. data/spec/bitcoin/fixtures/block-testnet-0000000000ac85bb2530a05a4214a387e6be02b22d3348abc5e7a5d9c4ce8dab.bin +0 -0
  90. data/spec/bitcoin/fixtures/cd874fa8cb0e2ec2d385735d5e1fd482c4fe648533efb4c50ee53bda58e15ae2.json +24 -0
  91. data/spec/bitcoin/fixtures/ce5fad9b4ef094d8f4937b0707edaf0a6e6ceeaf67d5edbfd51f660eac8f398b.json +41 -0
  92. data/spec/bitcoin/fixtures/f003f0c1193019db2497a675fd05d9f2edddf9b67c59e677c48d3dbd4ed5f00b.json +23 -0
  93. data/spec/bitcoin/fixtures/freicoin-block-000000005d231b285e63af83edae2d8f5e50e70d396468643092b9239fd3be3c.bin +0 -0
  94. data/spec/bitcoin/fixtures/freicoin-block-000000005d231b285e63af83edae2d8f5e50e70d396468643092b9239fd3be3c.json +43 -0
  95. data/spec/bitcoin/fixtures/freicoin-genesis-block-000000005b1e3d23ecfd2dd4a6e1a35238aa0392c0a8528c40df52376d7efe2c.bin +0 -0
  96. data/spec/bitcoin/fixtures/freicoin-genesis-block-000000005b1e3d23ecfd2dd4a6e1a35238aa0392c0a8528c40df52376d7efe2c.json +67 -0
  97. data/spec/bitcoin/fixtures/litecoin-block-80ca095ed10b02e53d769eb6eaf92cd04e9e0759e5be4a8477b42911ba49c78f.bin +0 -0
  98. data/spec/bitcoin/fixtures/litecoin-block-80ca095ed10b02e53d769eb6eaf92cd04e9e0759e5be4a8477b42911ba49c78f.json +39 -0
  99. data/spec/bitcoin/fixtures/litecoin-genesis-block-12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2.bin +0 -0
  100. data/spec/bitcoin/fixtures/litecoin-genesis-block-12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2.json +39 -0
  101. data/spec/bitcoin/fixtures/rawblock-auxpow.bin +0 -0
  102. data/spec/bitcoin/fixtures/tx-313897799b1e37e9ecae15010e56156dddde4e683c96b0e713af95272c38aee0.json +30 -0
  103. data/spec/bitcoin/fixtures/tx-3da75972766f0ad13319b0b461fd16823a731e44f6e9de4eb3c52d6a6fb6c8ae.json +23 -0
  104. data/spec/bitcoin/fixtures/tx-44b833074e671120ba33106877b49e86ece510824b9af477a3853972bcd8d06a.json +30 -0
  105. data/spec/bitcoin/fixtures/tx-d3d77d63709e47d9ef58f0b557800115a6b676c6a423012fbb96f45d8fcef830.json +28 -0
  106. data/spec/bitcoin/key_spec.rb +128 -3
  107. data/spec/bitcoin/namecoin_spec.rb +182 -0
  108. data/spec/bitcoin/network_spec.rb +5 -3
  109. data/spec/bitcoin/node/command_api_spec.rb +376 -0
  110. data/spec/bitcoin/protocol/addr_spec.rb +2 -0
  111. data/spec/bitcoin/protocol/alert_spec.rb +2 -0
  112. data/spec/bitcoin/protocol/aux_pow_spec.rb +44 -0
  113. data/spec/bitcoin/protocol/block_spec.rb +134 -39
  114. data/spec/bitcoin/protocol/getblocks_spec.rb +32 -0
  115. data/spec/bitcoin/protocol/inv_spec.rb +10 -8
  116. data/spec/bitcoin/protocol/notfound_spec.rb +31 -0
  117. data/spec/bitcoin/protocol/ping_spec.rb +2 -0
  118. data/spec/bitcoin/protocol/tx_spec.rb +83 -17
  119. data/spec/bitcoin/protocol/version_spec.rb +7 -5
  120. data/spec/bitcoin/script/opcodes_spec.rb +412 -133
  121. data/spec/bitcoin/script/script_spec.rb +112 -13
  122. data/spec/bitcoin/spec_helper.rb +68 -0
  123. data/spec/bitcoin/storage/reorg_spec.rb +199 -0
  124. data/spec/bitcoin/storage/storage_spec.rb +337 -0
  125. data/spec/bitcoin/storage/validation_spec.rb +261 -0
  126. data/spec/bitcoin/wallet/coinselector_spec.rb +10 -7
  127. data/spec/bitcoin/wallet/keygenerator_spec.rb +2 -0
  128. data/spec/bitcoin/wallet/keystore_spec.rb +2 -0
  129. data/spec/bitcoin/wallet/txdp_spec.rb +2 -0
  130. data/spec/bitcoin/wallet/wallet_spec.rb +91 -58
  131. metadata +105 -51
  132. data/lib/bitcoin/storage/sequel.rb +0 -335
  133. data/spec/bitcoin/fixtures/0d0affb5964abe804ffe85e53f1dbb9f29e406aa3046e2db04fba240e63c7fdd.json +0 -27
  134. data/spec/bitcoin/fixtures/477fff140b363ec2cc51f3a65c0c58eda38f4d41f04a295bbd62babf25e4c590.json +0 -27
  135. data/spec/bitcoin/reorg_spec.rb +0 -129
  136. data/spec/bitcoin/storage_spec.rb +0 -229
@@ -0,0 +1,23 @@
1
+ {
2
+ "hash":"03d7e1fa4d5fefa169431f24f7798552861b255cd55d377066fedcd088fb0e99",
3
+ "ver":1,
4
+ "vin_sz":1,
5
+ "vout_sz":1,
6
+ "lock_time":0,
7
+ "size":151,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"f003f0c1193019db2497a675fd05d9f2edddf9b67c59e677c48d3dbd4ed5f00b",
12
+ "n":0
13
+ },
14
+ "scriptSig":"04e19cb94dab9efa1e4507c17c81d4fdb0fc9d03c01caac970995ca4788f6e3fd3b2eb0efba75a98b1e1a62f9bdcb71430ce066869facb4f1e20b9ee1d1669b356"
15
+ }
16
+ ],
17
+ "out":[
18
+ {
19
+ "value":"0.00950000",
20
+ "scriptPubKey":"OP_DUP OP_HASH160 606f60927e6016b677f092eb8f4f52c1bee18526 OP_EQUALVERIFY OP_CHECKSIG"
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "hash":"0961c660358478829505e16a1f028757e54b5bbf9758341a7546573738f31429",
3
+ "ver":1,
4
+ "vin_sz":1,
5
+ "vout_sz":1,
6
+ "lock_time":0,
7
+ "size":118,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"0000000000000000000000000000000000000000000000000000000000000000",
12
+ "n":4294967295
13
+ },
14
+ "coinbase":"03880703062f503253482f04634d5150081000001300000002072f736c7573682f",
15
+ "sequence":0
16
+ }
17
+ ],
18
+ "out":[
19
+ {
20
+ "value":"50.39342560",
21
+ "scriptPubKey":"OP_DUP OP_HASH160 e8e6ace10f10ce5ed479c7188c9b4061e53aa906 OP_EQUALVERIFY OP_CHECKSIG"
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "hash":"0f24294a1d23efbb49c1765cf443fba7930702752aba6d765870082fe4f13cae",
3
+ "ver":1,
4
+ "vin_sz":3,
5
+ "vout_sz":1,
6
+ "lock_time":0,
7
+ "size":179,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"aea682d68a3ea5e3583e088dcbd699a5d44d4b083f02ad0aaf2598fe1fa4dfd4",
12
+ "n":1
13
+ },
14
+ "scriptSig":"03 03"
15
+ },
16
+ {
17
+ "prev_out":{
18
+ "hash":"9b43e37566a6cbcd305170f33b0dc60b75486615d57c4e348f70e194124e27e2",
19
+ "n":1
20
+ },
21
+ "scriptSig":"03 03"
22
+ },
23
+ {
24
+ "prev_out":{
25
+ "hash":"29237a21b6b7d1350a952c7a76873d6207ceeebc30f10bb1c524d16813101df4",
26
+ "n":0
27
+ },
28
+ "scriptSig":"03 03"
29
+ }
30
+ ],
31
+ "out":[
32
+ {
33
+ "value":"0.02950000",
34
+ "scriptPubKey":"OP_DUP OP_HASH160 29c9743283afd76eed5811788b20b23f9eece007 OP_EQUALVERIFY OP_CHECKSIG"
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "hash":"315ac7d4c26d69668129cc352851d9389b4a6868f1509c6c8b66bead11e2619f",
3
+ "ver":1,
4
+ "confirmations":420,
5
+ "vin_sz":2,
6
+ "vout_sz":1,
7
+ "lock_time":0,
8
+ "size":339,
9
+ "in":[
10
+ {
11
+ "prev_out":{
12
+ "hash":"69216b8aaa35b76d6613e5f527f4858640d986e1046238583bdad79b35e938dc",
13
+ "n":0
14
+ },
15
+ "scriptSig":"304402205d8feeb312478e468d0b514e63e113958d7214fa572acd87079a7f0cc026fc5c02200fa76ea05bf243af6d0f9177f241caf606d01fcfd5e62d6befbca24e569e5c2703 02100a1a9ca2c18932d6577c58f225580184d0e08226d41959874ac963e3c1b2fe"
16
+ },
17
+ {
18
+ "prev_out":{
19
+ "hash":"69216b8aaa35b76d6613e5f527f4858640d986e1046238583bdad79b35e938dc",
20
+ "n":1
21
+ },
22
+ "scriptSig":"30450220087ede38729e6d35e4f515505018e659222031273b7366920f393ee3ab17bc1e022100ca43164b757d1a6d1235f13200d4b5f76dd8fda4ec9fc28546b2df5b1211e8df03 0275983913e60093b767e85597ca9397fb2f418e57f998d6afbbc536116085b1cb"
23
+ }
24
+ ],
25
+ "out":[
26
+ {
27
+ "value":"0.09800000",
28
+ "scriptPubKey":"OP_DUP OP_HASH160 fcc9b36d38cf55d7d5b4ee4dddb6b2c17612f48c OP_EQUALVERIFY OP_CHECKSIG"
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "hash":"35e2001b428891fefa0bfb73167c7360669d3cbd7b3aa78e7cad125ddfc51131",
3
+ "ver":1,
4
+ "vin_sz":1,
5
+ "vout_sz":2,
6
+ "lock_time":0,
7
+ "size":256,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"b34c343779cca5d26335aeccdf20a54480726083c6a552460459b468f1d5082f",
12
+ "n":0
13
+ },
14
+ "scriptSig":"3045022100c3a7ea09dcaa449e3871bfc1ad07b2163c80274e4113cced141c3a8c9ec08144022024f4bf19fcc4e1a52b91ee54a99026fe8104a34cb503284cb428af9d4bfe037701 04a04001e7eac41810b99c73d7894cc214ec8a904dd41e4ffa5b98e630f16c900b222dfeea4b7e16d5153eca873bd1b85759fe8357dbd363279fd7ce78f3d8ee7c"
15
+ }
16
+ ],
17
+ "out":[
18
+ {
19
+ "value":"2.99940000",
20
+ "scriptPubKey":"OP_DUP OP_HASH160 6138f3b82af985f1a6cd25dfe42c2eb20fec3995 OP_EQUALVERIFY OP_CHECKSIG"
21
+ },
22
+ {
23
+ "value":"27.00000000",
24
+ "scriptPubKey":"OP_HASH160 739afa9473a54255fa467fb2d88ae3d9a5dc6202 OP_EQUAL"
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "hash":"3a17dace09ffb919ed627a93f1873220f4c975c1248558b18d16bce25d38c4b7",
3
+ "ver":1,
4
+ "vin_sz":8,
5
+ "vout_sz":1,
6
+ "lock_time":0,
7
+ "size":1490,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"35e2001b428891fefa0bfb73167c7360669d3cbd7b3aa78e7cad125ddfc51131",
12
+ "n":1
13
+ },
14
+ "scriptSig":"0 3044022023141e7e14f0f8502233169eb93cd77c1b978e2bc4b602db5d76038159b789fc02207470293319e1fa8c27f5355105000232797bf52b7e36a2dfc780d489a946f06001 51410426e2961e27da6180eb514b6db7c9a1ec54db293bfa2b3a103902bd38f1e0835c23cb0fe2364893ff11bcd20f21902d64a19eb2cb31d7261c1f623a019b7b494c51ae"
15
+ },
16
+ {
17
+ "prev_out":{
18
+ "hash":"b0ad18e37b76e94d7cdd774486aa021b9ad2ee29c91fb4c23313039c2d5c2967",
19
+ "n":1
20
+ },
21
+ "scriptSig":"3046022100f8118f1a32c8dd6eadc1561902535a8f4ba91534673c0ef32a678c7e88ebe9c1022100a16ba7b4e0967ccf51f2281624d1fd13696e78eb0a085ac42b727635ff1b80e701 04b2e2d940673ff7d4f11156d88e3665560b4b96b3f0beac7032cd14329a918cc7c7eda4e43d4de48affbc6d5e26441d7fc8a3e44206a77088808aa43a26bdb333"
22
+ },
23
+ {
24
+ "prev_out":{
25
+ "hash":"33f10251d50139481005549a673cad2ba26a3760898682c5c6175f614d75ee7a",
26
+ "n":1
27
+ },
28
+ "scriptSig":"3045022100d909d1547f0f240fb98c45f94fde2b3c8b24e98d5a64fcba2fc265a0243ef04902207b3f2def8387502fe333e113ef1e35a9ef501bd484a83a55a095fcd7e5bfa65501 04b2e2d940673ff7d4f11156d88e3665560b4b96b3f0beac7032cd14329a918cc7c7eda4e43d4de48affbc6d5e26441d7fc8a3e44206a77088808aa43a26bdb333"
29
+ },
30
+ {
31
+ "prev_out":{
32
+ "hash":"0aabaf44e1943ca5adf99001e4a43ac1b59014346a1f8f8840aec633c1457499",
33
+ "n":1
34
+ },
35
+ "scriptSig":"30460221009d4c348b69b882575906c026f3686184d6d8ca24ec0c3a4e738c90f1dd3231bb022100d73c34f74a313ee68f387de0db39db82ff81987a6607887f624dbe3bffdca0fb01 04b2e2d940673ff7d4f11156d88e3665560b4b96b3f0beac7032cd14329a918cc7c7eda4e43d4de48affbc6d5e26441d7fc8a3e44206a77088808aa43a26bdb333"
36
+ },
37
+ {
38
+ "prev_out":{
39
+ "hash":"76e0d4e410c873d5195c466f4abf6cef2cea6f24668b8f132db093d15d7574ba",
40
+ "n":1
41
+ },
42
+ "scriptSig":"3045022013293ab6f72b0216f3c9c570a3ca70ae972547f8102ec1339d89df05c76b2353022100bf2ad4ade2ef537e00461299c710c1e9803acd1a8b379cf9b1d145adedaa837501 04b2e2d940673ff7d4f11156d88e3665560b4b96b3f0beac7032cd14329a918cc7c7eda4e43d4de48affbc6d5e26441d7fc8a3e44206a77088808aa43a26bdb333"
43
+ },
44
+ {
45
+ "prev_out":{
46
+ "hash":"4a27eede9cbe8c7cfb7313c0a01b34ffcf3a1f5694ea8de36e7d28df27617dea",
47
+ "n":1
48
+ },
49
+ "scriptSig":"304502204c47cdcb44240b989e01615332550599b61d3e0dcda5db7c89650a9b54e172c7022100abb31dc91fe49633eebf026c0d83515f52c337ff2edb33e78381177581fe0bdb01 0461db01b9d9d75bb75add1a048174d8909b668d3d30e930e70dccd88efdd0c00a08f1091754ace7214e021c57fcf9b214893c7ffc8d78aa632d4f0543a04f1173"
50
+ },
51
+ {
52
+ "prev_out":{
53
+ "hash":"030df4a039ee219ebaf0d5549271f74faa82033c3e35b9045f5bd57df15887fd",
54
+ "n":1
55
+ },
56
+ "scriptSig":"3045022100e904b3213d9bc9c5322e722f277fdd308ade1281faa53086d0f6bfd244e0bb1302205524154b0f83116593f4bf7478688b26d1f18e863caf0fd0b0afa133a6d9679101 0426fea76025e36f9067931c9d0999e938758b6a8b74e3d129e8df2ada71199c1929fe300496f7238cad195052a7b53167bbfb917aef6ab6ab17d7ffb6e1a19721"
57
+ },
58
+ {
59
+ "prev_out":{
60
+ "hash":"901276b3a94186106efba72484734ca9087fe25a592e35bd612e4ef8b2bb7bdc",
61
+ "n":1
62
+ },
63
+ "scriptSig":"3045022100d745a3b80290c1c314ca4aa8fe9a5f516931f990511dc4862c19bd4edcef1a1e02200ec167888d9afa4d66a92d8b2a3707aeae0309c568de397f9d46a0a0c9d5e7ed01 04b2e2d940673ff7d4f11156d88e3665560b4b96b3f0beac7032cd14329a918cc7c7eda4e43d4de48affbc6d5e26441d7fc8a3e44206a77088808aa43a26bdb333"
64
+ }
65
+ ],
66
+ "out":[
67
+ {
68
+ "value":"200.00000000",
69
+ "scriptPubKey":"OP_DUP OP_HASH160 7e4dad6968120fdacd7d51c249d6d94a1d367df5 OP_EQUALVERIFY OP_CHECKSIG"
70
+ }
71
+ ]
72
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "hash":"3e58b7eed0fdb599019af08578effea25c8666bbe8e200845453cacce6314477",
3
+ "ver":1,
4
+ "vin_sz":1,
5
+ "vout_sz":2,
6
+ "lock_time":0,
7
+ "size":233,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"3f9de661c686c69837eae57db63e21228a043f1a1503520185a697bf0d5f2655",
12
+ "n":0
13
+ },
14
+ "scriptSig":"3046022100c853cd8a9cb3cde7902bb933fa6d02c0838ea9edfdaf8be983438967875bfdd50221008c51b6869145fa9cfc5a55573d5bfcf8ac1f8144ee065d81d0b0f8958c0b30ae01"
15
+ }
16
+ ],
17
+ "out":[
18
+ {
19
+ "value":"7.00879317",
20
+ "scriptPubKey":"04a39b9e4fbd213ef24bb9be69de4a118dd0644082e47c01fd9159d38637b83fbcdc115a5d6e970586a012d1cfe3e3a8b1a3d04e763bdc5a071c0e827c0bd834a5 OP_CHECKSIG"
21
+ },
22
+ {
23
+ "value":"0.26000000",
24
+ "scriptPubKey":"OP_HASH160 d0c15a7d41500976056b3345f542d8c944077c8a OP_EQUAL"
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "hash":"514c46f0b61714092f15c8dfcb576c9f79b3f959989b98de3944b19d98832b58",
3
+ "ver":1,
4
+ "confirmations":2685,
5
+ "vin_sz":1,
6
+ "vout_sz":1,
7
+ "lock_time":0,
8
+ "size":203,
9
+ "in":[
10
+ {
11
+ "prev_out":{
12
+ "hash":"b06ce4af5989479e92e647806f47318991204054ae3e831e406b84f736b4c2da",
13
+ "n":0
14
+ },
15
+ "scriptSig":"3044022032a6d03ce66da7276c84d91aa43dd24de4e7cdee2d3cc5647a2db0e7454b842202202a0e333adcd6eb3c7cfeec34f2e1f5972e61a35d1e89d28eae218f0493c66aa201 0361d19e52c6133aa55c08ff10ddb5adb66c26e3be56c259b137adb8e533b568d6"
16
+ }
17
+ ],
18
+ "out":[
19
+ {
20
+ "value":"0.10000000",
21
+ "scriptPubKey":"0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 OP_SWAP OP_1ADD OP_CHECKMULTISIG"
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "hash":"51bf528ecf3c161e7c021224197dbe84f9a8564212f6207baa014c01a1668e1e",
3
+ "ver":1,
4
+ "vin_sz":2,
5
+ "vout_sz":1,
6
+ "lock_time":0,
7
+ "size":341,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"761d8c5210fdfd505f6dff38f740ae3728eb93d7d0971fb433f685d40a4c04f6",
12
+ "n":1
13
+ },
14
+ "scriptSig":"304502205853c7f1395785bfabb03c57e962eb076ff24d8e4e573b04db13b45ed3ed6ee20221009dc82ae43be9d4b1fe2847754e1d36dad48ba801817d485dc529afc516c2ddb481 0305584980367b321fad7f1c1f4d5d723d0ac80c1d80c8ba12343965b48364537a"
15
+ },
16
+ {
17
+ "prev_out":{
18
+ "hash":"40cd1ee71808037f2ae01faef88de4788cbcbe257e319ed1debc6966dff06a9c",
19
+ "n":1
20
+ },
21
+ "scriptSig":"30460221008269c9d7ba0a7e730dd16f4082d29e3684fb7463ba064fd093afc170ad6e0388022100bc6d76373916a3ff6ee41b2c752001fda3c9e048bcff0d81d05b39ff0f4217b281 03aae303d825421545c5bc7ccd5ac87dd5add3bcc3a432ba7aa2f2661699f9f659"
22
+ }
23
+ ],
24
+ "out":[
25
+ {
26
+ "value":"0.00300000",
27
+ "scriptPubKey":"OP_DUP OP_HASH160 5c11f917883b927eef77dc57707aeb853f6d3894 OP_EQUALVERIFY OP_CHECKSIG"
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "hash":"69216b8aaa35b76d6613e5f527f4858640d986e1046238583bdad79b35e938dc",
3
+ "ver":1,
4
+ "confirmations":421,
5
+ "vin_sz":1,
6
+ "vout_sz":2,
7
+ "lock_time":0,
8
+ "size":226,
9
+ "in":[
10
+ {
11
+ "prev_out":{
12
+ "hash":"ab005e03aec91832aefe96ce396eab1f0fb49b1a0e0238613cff265ac7fd512d",
13
+ "n":1
14
+ },
15
+ "scriptSig":"3045022100e4f1a521907e50fc44d33132ee98c9715a64df9d2c2860e3e0474c521ab8537e022030af8d3506a5352e2b056445acd855a42d37270e94a629a7b28b21870ec6d76101 03808c493f061990d2be001e40f048ae8870320b74895ce2d9652f3c1c73cd6f2c"
16
+ }
17
+ ],
18
+ "out":[
19
+ {
20
+ "value":"0.04950000",
21
+ "scriptPubKey":"OP_DUP OP_HASH160 fcc9b36d38cf55d7d5b4ee4dddb6b2c17612f48c OP_EQUALVERIFY OP_CHECKSIG"
22
+ },
23
+ {
24
+ "value":"0.04950000",
25
+ "scriptPubKey":"OP_DUP OP_HASH160 33cef61749d11ba2adf091a5e045678177fe3a6d OP_EQUALVERIFY OP_CHECKSIG"
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "hash":"7208e5edf525f04e705fb3390194e316205b8f995c8c9fcd8c6093abe04fa27d",
3
+ "ver":1,
4
+ "vin_sz":1,
5
+ "vout_sz":2,
6
+ "lock_time":0,
7
+ "size":339,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"3e58b7eed0fdb599019af08578effea25c8666bbe8e200845453cacce6314477",
12
+ "n":1
13
+ },
14
+ "scriptSig":"0 30460221008662e2bfcc4741d92531f566c5765d849e24b45c289607593584fbba938d88cc022100d718e710d5991bdfbdc5b0d52ae8e4d9c1c1c719bcc348003c5e80524a04e16283 3045022100fbdbea6b614989b210d269dbf171746a9507bb3dae292bdaf85848a7aa091eca02205d23a46269a904c40076c76eadfdb8f98e7d0349c0bfe5915cca3f8835a4a41683 5221034758cefcb75e16e4dfafb32383b709fa632086ea5ca982712de6add93060b17a2103fe96237629128a0ae8c3825af8a4be8fe3109b16f62af19cec0b1eb93b8717e252ae"
15
+ }
16
+ ],
17
+ "out":[
18
+ {
19
+ "value":"0.10000000",
20
+ "scriptPubKey":"OP_DUP OP_HASH160 f164a82c9b3c5d217c83380792d56a6261f2d176 OP_EQUALVERIFY OP_CHECKSIG"
21
+ },
22
+ {
23
+ "value":"0.15900000",
24
+ "scriptPubKey":"OP_DUP OP_HASH160 2ab55d985e552653c189b1530aac817c0223cb4c OP_EQUALVERIFY OP_CHECKSIG"
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "hash":"761d8c5210fdfd505f6dff38f740ae3728eb93d7d0971fb433f685d40a4c04f6",
3
+ "ver":1,
4
+ "vin_sz":1,
5
+ "vout_sz":2,
6
+ "lock_time":0,
7
+ "size":225,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"bc230d3a7bcbca4080ba848492fec5be8fdb19197369eb72105c6e7ef07a87b7",
12
+ "n":1
13
+ },
14
+ "scriptSig":"304402204a4653bb91e19063c0fc9f6e2d04040c2a65423b31ecb5d0cbd479065883143e022041dd939e0d499093b0b53feeb2ed4bc4273f0dcccdb9e7e9b7a6295fd28da9fc01 0372517b2117c312844838b6cb79959ab6dfb3357e7c7e8ead94e438091039f72d"
15
+ }
16
+ ],
17
+ "out":[
18
+ {
19
+ "value":"0.02750000",
20
+ "scriptPubKey":"OP_DUP OP_HASH160 f8effefa3ef216922bd06e051a877337b3080e1a OP_EQUALVERIFY OP_CHECKSIG"
21
+ },
22
+ {
23
+ "value":"0.00200000",
24
+ "scriptPubKey":"OP_DUP OP_HASH160 8551e48a53decd1cfc63079a4581bcccfad1a93c OP_EQUALVERIFY OP_CHECKSIG"
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "hash":"aea682d68a3ea5e3583e088dcbd699a5d44d4b083f02ad0aaf2598fe1fa4dfd4",
3
+ "ver":1,
4
+ "vin_sz":1,
5
+ "vout_sz":2,
6
+ "lock_time":0,
7
+ "size":278,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"652dabe4857210c93785c692644789d9949474374569155dcaaee87e9399654a",
12
+ "n":1
13
+ },
14
+ "scriptSig":"3045022100fdc1046ae3262c75161ca84ae9e7348bb80f8f20bcacfee7256c28842127108402201ff562446840ad055cdc2975fa41f30ce260e23e97b2d5b859bd365d2fbd3f5501 048b65a0e6bb200e6dac05e74281b1ab9a41e80006d6b12d8521e09981da97dd96ac72d24d1a7ded9493a9fc20fdb4a714808f0b680f1f1d93527748b5e3f629ff"
15
+ }
16
+ ],
17
+ "out":[
18
+ {
19
+ "value":"0.10000000",
20
+ "scriptPubKey":"04a39b9e4fbd213ef24bb9be69de4a118dd0644082e47c01fd9159d38637b83fbcdc115a5d6e970586a012d1cfe3e3a8b1a3d04e763bdc5a071c0e827c0bd834a5 OP_CHECKSIG"
21
+ },
22
+ {
23
+ "value":"0.01000000",
24
+ "scriptPubKey":"OP_MIN 3 OP_EQUAL"
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "hash":"bd1715f1abfdc62bea3f605bdb461b3ba1f2cca6ec0d73a18a548b7717ca8531",
3
+ "ver":1,
4
+ "vin_sz":2,
5
+ "vout_sz":2,
6
+ "lock_time":0,
7
+ "size":584,
8
+ "in":[
9
+ {
10
+ "prev_out":{
11
+ "hash":"ce5fad9b4ef094d8f4937b0707edaf0a6e6ceeaf67d5edbfd51f660eac8f398b",
12
+ "n":0
13
+ },
14
+ "scriptSig":"3045022100ea28d8750a40425453d896c53d88a74cd87855636ab5db210520021c58fc350f02201244a70ca7e9d397b297cbc92d7134402f123444a08672216b70976098dfc7a401 0447aa3c2f31432e8cb9f6f0d565046ad0ee9239fd6912133078429437546f6980b33efa6dc78a8b1770208f64c7a2cc63afda24e3dfd8f0a919ee7d5a36e2edd2"
15
+ },
16
+ {
17
+ "prev_out":{
18
+ "hash":"ce5fad9b4ef094d8f4937b0707edaf0a6e6ceeaf67d5edbfd51f660eac8f398b",
19
+ "n":1
20
+ },
21
+ "scriptSig":"0 304402202cb83ffc91e28cc8e33ad6dc476c6891134bfa1393ec233de7184d3a107a535b02203207e9502b1cd6631c9be26e6d60a05c887517dddeede9ad649b4a2d6260227101 3045022100d2a252b31ea802246de6efbbd86c8a0a461b82b8cf3d35458598be737bd3a82502205d78f38c562c4ef0d74065e09a043b8b9e9e35b8d936c7de2c6a5f7e5c551e8501 52410493d4f2b42d090390951d18ff799f54e633d8878ee47fe9f5616f3fb9291b35bf137f65cc7bde718cfe2775f3f1fae9ede4fc8819c8061fc583d9bdac0b413b684104a848145e95c40485e70a8dca505405b8d78f55b2e9efb1ebb480d66e9d87768186e7bef91cffd82f525b4680354b50e3c5c92165d8909c7185ea356fd8e90b5b52ae"
22
+ }
23
+ ],
24
+ "out":[
25
+ {
26
+ "value":"0.00759460",
27
+ "scriptPubKey":"OP_DUP OP_HASH160 7ae794102395e5d90eb8ca724a1fa68fabf4a8df OP_EQUALVERIFY OP_CHECKSIG"
28
+ },
29
+ {
30
+ "value":"0.02000000",
31
+ "scriptPubKey":"OP_DUP OP_HASH160 e8ac39225ef298f1c0b1cffbff4b3abaa76b1769 OP_EQUALVERIFY OP_CHECKSIG"
32
+ }
33
+ ]
34
+ }