bitcoin-ruby 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +2 -0
- data/.travis.yml +2 -2
- data/COPYING +1 -1
- data/Gemfile +5 -11
- data/README.rdoc +11 -5
- data/Rakefile +5 -0
- data/bin/bitcoin_node +11 -29
- data/bin/bitcoin_node_cli +81 -0
- data/bin/bitcoin_wallet +9 -6
- data/doc/NODE.rdoc +79 -26
- data/examples/bbe_verify_tx.rb +1 -1
- data/examples/index_nhash.rb +24 -0
- data/examples/reindex_p2sh_addrs.rb +44 -0
- data/lib/bitcoin.rb +135 -20
- data/lib/bitcoin/builder.rb +233 -63
- data/lib/bitcoin/key.rb +89 -16
- data/lib/bitcoin/litecoin.rb +13 -11
- data/lib/bitcoin/namecoin.rb +5 -4
- data/lib/bitcoin/network/command_client.rb +23 -13
- data/lib/bitcoin/network/command_handler.rb +336 -131
- data/lib/bitcoin/network/connection_handler.rb +14 -13
- data/lib/bitcoin/network/node.rb +61 -20
- data/lib/bitcoin/protocol.rb +5 -1
- data/lib/bitcoin/protocol/block.rb +15 -3
- data/lib/bitcoin/protocol/parser.rb +3 -3
- data/lib/bitcoin/protocol/tx.rb +82 -20
- data/lib/bitcoin/protocol/txin.rb +7 -0
- data/lib/bitcoin/protocol/txout.rb +12 -9
- data/lib/bitcoin/script.rb +329 -75
- data/lib/bitcoin/storage/dummy/dummy_store.rb +23 -4
- data/lib/bitcoin/storage/models.rb +6 -11
- data/lib/bitcoin/storage/sequel/migrations/005_change_tx_hash_to_bytea.rb +14 -0
- data/lib/bitcoin/storage/sequel/migrations/006_add_tx_nhash.rb +31 -0
- data/lib/bitcoin/storage/sequel/migrations/007_add_prev_out_index_index.rb +16 -0
- data/lib/bitcoin/storage/sequel/migrations/008_add_txin_p2sh_type.rb +31 -0
- data/lib/bitcoin/storage/sequel/migrations/009_add_addrs_type.rb +56 -0
- data/lib/bitcoin/storage/sequel/sequel_store.rb +168 -70
- data/lib/bitcoin/storage/storage.rb +161 -97
- data/lib/bitcoin/storage/utxo/migrations/002_utxo.rb +1 -1
- data/lib/bitcoin/storage/utxo/migrations/004_add_addrs_type.rb +14 -0
- data/lib/bitcoin/storage/utxo/utxo_store.rb +25 -12
- data/lib/bitcoin/validation.rb +87 -56
- data/lib/bitcoin/version.rb +1 -1
- data/spec/bitcoin/bitcoin_spec.rb +38 -0
- data/spec/bitcoin/builder_spec.rb +177 -0
- data/spec/bitcoin/fixtures/litecoin-tx-f5aa30f574e3b6f1a3d99c07a6356ba812aabb9661e1d5f71edff828cbd5c996.json +259 -0
- data/spec/bitcoin/fixtures/rawblock-testnet-265322.bin +0 -0
- data/spec/bitcoin/fixtures/tx-0295028ef826b2a188409cb905b631faebb9bb3cdf14510571c5f4bd8591338f.json +64 -0
- data/spec/bitcoin/fixtures/tx-03339a725007a279484fb6f5361f522dd1cf4d0923d30e6b973290dba4275f92.json +64 -0
- data/spec/bitcoin/fixtures/tx-0ce7e5238fbdb6c086cf1b384b21b827e91cc23f360417265874a5a0d86ce367.json +64 -0
- data/spec/bitcoin/fixtures/tx-0ef34c49f630aea17df0080728b0fc67bf5f87fbda936934a4b11b4a69d7821e.json +64 -0
- data/spec/bitcoin/fixtures/tx-1129d2a8bd5bb3a81e54dc96a90f1f6b2544575748caa17243470935c5dd91b7.json +28 -0
- data/spec/bitcoin/fixtures/tx-19aa42fee0fa57c45d3b16488198b27caaacc4ff5794510d0c17f173f05587ff.json +23 -0
- data/spec/bitcoin/fixtures/tx-1a4f3b9dc4494aeedeb39f30dd37e60541b2abe3ed4977992017cc0ad4f44956.json +64 -0
- data/spec/bitcoin/fixtures/tx-1f9191dcf2b1844ca28c6ef4b969e1d5fab70a5e3c56b7007949e55851cb0c4f.json +64 -0
- data/spec/bitcoin/fixtures/tx-22cd5fef23684d7b304e119bedffde6f54538d3d54a5bfa237e20dc2d9b4b5ad.json +64 -0
- data/spec/bitcoin/fixtures/tx-2958fb00b4fd6fe0353503b886eb9a193d502f4fd5fc042d5e03216ba918bbd6.json +64 -0
- data/spec/bitcoin/fixtures/tx-29f277145749ad6efbed3ae6ce301f8d33c585ec26b7c044ad93c2f866e9e942.json +64 -0
- data/spec/bitcoin/fixtures/tx-2c5e5376c20e9cc78d0fb771730e5d840cc2096eff0ef045b599fe92475ace1c.json +28 -0
- data/spec/bitcoin/fixtures/tx-2c63aa814701cef5dbd4bbaddab3fea9117028f2434dddcdab8339141e9b14d1.json +30 -0
- data/spec/bitcoin/fixtures/tx-326882a7f22b5191f1a0cc9962ca4b878cd969cf3b3a70887aece4d801a0ba5e.json +23 -0
- data/spec/bitcoin/fixtures/tx-345bed8785c3282a264ffb0dbee61cde54854f10e16f1b3e75b7f2d9f62946f2.json +64 -0
- data/spec/bitcoin/fixtures/tx-39ba7440b7103557560cc8ce258009936796485aaf8b478e66ab4cb97c66e31b.json +32 -0
- data/spec/bitcoin/fixtures/tx-3a04d57a833367f1655cc5ec3beb587888ef4977a86caa8c8ad4ba7cc717eae7.json +64 -0
- data/spec/bitcoin/fixtures/tx-4142ee4877eb116abf955a7ec6ef2dc38133b793df762b76d75e3d7d4d8badc9.json +38 -0
- data/spec/bitcoin/fixtures/tx-46224764c7870f95b58f155bce1e38d4da8e99d42dbb632d0dd7c07e092ee5aa.json +23 -0
- data/spec/bitcoin/fixtures/tx-5df1375ffe61ac35ca178ebb0cab9ea26dedbd0e96005dfcee7e379fa513232f.json +30 -0
- data/spec/bitcoin/fixtures/tx-62d9a565bd7b5344c5352e3e9e5f40fa4bbd467fa19c87357216ec8777ba1cce.json +64 -0
- data/spec/bitcoin/fixtures/tx-6327783a064d4e350c454ad5cd90201aedf65b1fc524e73709c52f0163739190.json +23 -0
- data/spec/bitcoin/fixtures/tx-6606c366a487bff9e412d0b6c09c14916319932db5954bf5d8719f43f828a3ba.json +27 -0
- data/spec/bitcoin/fixtures/tx-6aaf18b9f1283b939d8e5d40ff5f8a435229f4178372659cc3a0bce4e262bf78.json +28 -0
- data/spec/bitcoin/fixtures/tx-6b48bba6f6d2286d7ec0883c0fc3085955090813a4c94980466611c798b868cc.json +64 -0
- data/spec/bitcoin/fixtures/tx-70cfbc6690f9ab46712db44e3079ac227962b2771a9341d4233d898b521619ef.json +40 -0
- data/spec/bitcoin/fixtures/tx-7a1a9db42f065f75110fcdb1bc415549c8ef7670417ba1d35a67f1b8adc562c1.json +64 -0
- data/spec/bitcoin/fixtures/tx-9a768fc7d0c4bdc86e25154357ef7c0063ca21310e5740a2f12f90b7455184a7.json +64 -0
- data/spec/bitcoin/fixtures/tx-9cad8d523a0694f2509d092c39cebc8046adae62b4e4297102d568191d9478d8.json +64 -0
- data/spec/bitcoin/fixtures/tx-9e052eb694bd7e15906433f064dff0161a12fd325c1124537766377004023c6f.json +64 -0
- data/spec/bitcoin/fixtures/tx-a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944.json +23 -0
- data/spec/bitcoin/fixtures/tx-aab7ef280abbb9cc6fbaf524d2645c3daf4fcca2b3f53370e618d9cedf65f1f8.json +23 -0
- data/spec/bitcoin/fixtures/tx-ab9805c6d57d7070d9a42c5176e47bb705023e6b67249fb6760880548298e742.json +27 -0
- data/spec/bitcoin/fixtures/tx-ad4bcf3241e5d2ad140564e20db3567d41594cf4c2012433fe46a2b70e0d87b8.json +64 -0
- data/spec/bitcoin/fixtures/tx-b5b598de91787439afd5938116654e0b16b7a0d0f82742ba37564219c5afcbf9.json +27 -0
- data/spec/bitcoin/fixtures/tx-b8fd633e7713a43d5ac87266adc78444669b987a56b3a65fb92d58c2c4b0e84d.json +28 -0
- data/spec/bitcoin/fixtures/tx-bbca0628c42cb8bf7c3f4b2ad688fa56da5308dd2a10255da89fb1f46e6e413d.json +36 -0
- data/spec/bitcoin/fixtures/tx-bc7fd132fcf817918334822ee6d9bd95c889099c96e07ca2c1eb2cc70db63224.json +23 -0
- data/spec/bitcoin/fixtures/tx-c192b74844e4837a34c4a5a97b438f1c111405b01b99e2d12b7c96d07fc74c04.json +28 -0
- data/spec/bitcoin/fixtures/tx-e335562f7e297aadeed88e5954bc4eeb8dc00b31d829eedb232e39d672b0c009.json +406 -0
- data/spec/bitcoin/fixtures/tx-eb3b82c0884e3efa6d8b0be55b4915eb20be124c9766245bcc7f34fdac32bccb.json +35 -0
- data/spec/bitcoin/fixtures/tx-fee1b9b85531c8fb6cd7831f83490c7f2aa768b6eefe29854ef5e89ce7b9ecb1.json +64 -0
- data/spec/bitcoin/fixtures/txscript-invalid-too-many-sigops-followed-by-invalid-pushdata.bin +1 -0
- data/spec/bitcoin/helpers/fake_blockchain.rb +183 -0
- data/spec/bitcoin/key_spec.rb +79 -8
- data/spec/bitcoin/namecoin_spec.rb +1 -1
- data/spec/bitcoin/node/command_api_spec.rb +373 -86
- data/spec/bitcoin/performance/storage_spec.rb +41 -0
- data/spec/bitcoin/protocol/addr_spec.rb +7 -5
- data/spec/bitcoin/protocol/aux_pow_spec.rb +1 -0
- data/spec/bitcoin/protocol/block_spec.rb +6 -0
- data/spec/bitcoin/protocol/tx_spec.rb +184 -1
- data/spec/bitcoin/protocol/txin_spec.rb +27 -0
- data/spec/bitcoin/protocol/txout_spec.rb +27 -0
- data/spec/bitcoin/script/opcodes_spec.rb +74 -3
- data/spec/bitcoin/script/script_spec.rb +271 -0
- data/spec/bitcoin/spec_helper.rb +34 -6
- data/spec/bitcoin/storage/models_spec.rb +104 -0
- data/spec/bitcoin/storage/reorg_spec.rb +42 -11
- data/spec/bitcoin/storage/storage_spec.rb +58 -15
- data/spec/bitcoin/storage/validation_spec.rb +44 -14
- data/spec/bitcoin/wallet/keygenerator_spec.rb +6 -3
- data/spec/bitcoin/wallet/keystore_spec.rb +3 -3
- data/spec/bitcoin/wallet/wallet_spec.rb +87 -89
- metadata +117 -11
@@ -0,0 +1,259 @@
|
|
1
|
+
{
|
2
|
+
"hash":"f5aa30f574e3b6f1a3d99c07a6356ba812aabb9661e1d5f71edff828cbd5c996",
|
3
|
+
"ver":1,
|
4
|
+
"vin_sz":1,
|
5
|
+
"vout_sz":60,
|
6
|
+
"lock_time":0,
|
7
|
+
"size":2229,
|
8
|
+
"in":[
|
9
|
+
{
|
10
|
+
"prev_out":{
|
11
|
+
"hash":"4c5d9aefe92859838a26a008055789efc62bf2cf0dfab2049f8c1b61bb61a485",
|
12
|
+
"n":10
|
13
|
+
},
|
14
|
+
"scriptSig":"304402205226e7c5ea00fb05d44918c95533c762f49e2b44846b50a4787c22ff72da7d14022054ea822c28041be8b4349c6d91a6f839992d7e1262910d24d7efc8192b60136301 041b7b0eb886113efb887da81aa99bd6dab74501829801bf4286120fbc9f87ee904ba027cdd852c49e14ba86e88bc2d382d51a44c2d31177017474c168a6c595b7"
|
15
|
+
}
|
16
|
+
],
|
17
|
+
"out":[
|
18
|
+
{
|
19
|
+
"value":"0.00000001",
|
20
|
+
"scriptPubKey":"OP_DUP OP_HASH160 9c317d7946c494b77c26cd8520550838212b8285 OP_EQUALVERIFY OP_CHECKSIG"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"value":"0.00000001",
|
24
|
+
"scriptPubKey":"OP_DUP OP_HASH160 dc9b30a35c9285e3f2748b1dafb34542e6226726 OP_EQUALVERIFY OP_CHECKSIG"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"value":"0.00000001",
|
28
|
+
"scriptPubKey":"OP_DUP OP_HASH160 6ccc69636ae9b61cdb645fb6486a08d0bc39533e OP_EQUALVERIFY OP_CHECKSIG"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"value":"0.00000001",
|
32
|
+
"scriptPubKey":"OP_DUP OP_HASH160 3f088b5415d621d7ec69fd2e877e01429ebb8867 OP_EQUALVERIFY OP_CHECKSIG"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"value":"0.00000001",
|
36
|
+
"scriptPubKey":"OP_DUP OP_HASH160 80c9307560878061a09fde5ab2e8deecb99e04c6 OP_EQUALVERIFY OP_CHECKSIG"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"value":"0.00000001",
|
40
|
+
"scriptPubKey":"OP_DUP OP_HASH160 e26241f45f3a92ea34788307f150da9ce6c1da00 OP_EQUALVERIFY OP_CHECKSIG"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"value":"0.00000001",
|
44
|
+
"scriptPubKey":"OP_DUP OP_HASH160 995b4d20369d859ea5c4b53a9f5e7739ab0d3489 OP_EQUALVERIFY OP_CHECKSIG"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"value":"0.00000001",
|
48
|
+
"scriptPubKey":"OP_DUP OP_HASH160 b7d53b19bf5523f542f4a40e314d050977047d3b OP_EQUALVERIFY OP_CHECKSIG"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"value":"0.00000001",
|
52
|
+
"scriptPubKey":"OP_DUP OP_HASH160 22b871b7852c70c452e0b395b4a694ff957e2165 OP_EQUALVERIFY OP_CHECKSIG"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"value":"0.00000001",
|
56
|
+
"scriptPubKey":"OP_DUP OP_HASH160 c0bed86ef4813cee5d8eb5a82b18f9c369d65a49 OP_EQUALVERIFY OP_CHECKSIG"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"value":"0.00000001",
|
60
|
+
"scriptPubKey":"OP_DUP OP_HASH160 c8c562956753eb8542bef38a2c385738757aa1d2 OP_EQUALVERIFY OP_CHECKSIG"
|
61
|
+
},
|
62
|
+
{
|
63
|
+
"value":"0.00000001",
|
64
|
+
"scriptPubKey":"OP_DUP OP_HASH160 f2ecaab9ac2c55b9e82da5bb320f9cb64706410b OP_EQUALVERIFY OP_CHECKSIG"
|
65
|
+
},
|
66
|
+
{
|
67
|
+
"value":"0.00000001",
|
68
|
+
"scriptPubKey":"OP_DUP OP_HASH160 d39ed4b9f3f6a64624bf95dca1fe24fef4b9f4d5 OP_EQUALVERIFY OP_CHECKSIG"
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"value":"0.00000001",
|
72
|
+
"scriptPubKey":"OP_DUP OP_HASH160 838fb8321d6232589dbcec642f75f0932757f366 OP_EQUALVERIFY OP_CHECKSIG"
|
73
|
+
},
|
74
|
+
{
|
75
|
+
"value":"0.00000001",
|
76
|
+
"scriptPubKey":"OP_DUP OP_HASH160 c77f1e37e0a1eb86a0bc0efc31a042e165da50ed OP_EQUALVERIFY OP_CHECKSIG"
|
77
|
+
},
|
78
|
+
{
|
79
|
+
"value":"0.00000001",
|
80
|
+
"scriptPubKey":"OP_DUP OP_HASH160 8bb44e6c2750b8ceeeb1950cd2c4cd84cda42d79 OP_EQUALVERIFY OP_CHECKSIG"
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"value":"0.00000001",
|
84
|
+
"scriptPubKey":"OP_DUP OP_HASH160 301d169654943f0e55c501169d164fbb513a9d53 OP_EQUALVERIFY OP_CHECKSIG"
|
85
|
+
},
|
86
|
+
{
|
87
|
+
"value":"0.00000001",
|
88
|
+
"scriptPubKey":"OP_DUP OP_HASH160 c137552e895aa7c81e5791d2120281253869ccdc OP_EQUALVERIFY OP_CHECKSIG"
|
89
|
+
},
|
90
|
+
{
|
91
|
+
"value":"0.00000001",
|
92
|
+
"scriptPubKey":"OP_DUP OP_HASH160 4b69bee05c03c7de824786ee681a8831a4f09594 OP_EQUALVERIFY OP_CHECKSIG"
|
93
|
+
},
|
94
|
+
{
|
95
|
+
"value":"0.00000001",
|
96
|
+
"scriptPubKey":"OP_DUP OP_HASH160 e6a893bc30926d05c654278638ce6cb49096f862 OP_EQUALVERIFY OP_CHECKSIG"
|
97
|
+
},
|
98
|
+
{
|
99
|
+
"value":"0.00000001",
|
100
|
+
"scriptPubKey":"OP_DUP OP_HASH160 d74fdc8bab1e811cd7f25ff33da3e6ab892dd93c OP_EQUALVERIFY OP_CHECKSIG"
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"value":"0.00000001",
|
104
|
+
"scriptPubKey":"OP_DUP OP_HASH160 c9506100c11fdb0cc877c02d2dde7f7f1546bcee OP_EQUALVERIFY OP_CHECKSIG"
|
105
|
+
},
|
106
|
+
{
|
107
|
+
"value":"0.00000001",
|
108
|
+
"scriptPubKey":"OP_DUP OP_HASH160 725aa8837c880be93f068595a0d7f268bcd31474 OP_EQUALVERIFY OP_CHECKSIG"
|
109
|
+
},
|
110
|
+
{
|
111
|
+
"value":"0.00000001",
|
112
|
+
"scriptPubKey":"OP_DUP OP_HASH160 34059c6c9e6bad320c6b77a08cee22f0778cbdf8 OP_EQUALVERIFY OP_CHECKSIG"
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"value":"0.00000001",
|
116
|
+
"scriptPubKey":"OP_DUP OP_HASH160 b12fd53e62323483dfc129770f0310e86e6417a1 OP_EQUALVERIFY OP_CHECKSIG"
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"value":"0.00000001",
|
120
|
+
"scriptPubKey":"OP_DUP OP_HASH160 f627d1f37fc0e487cfd49aa8757b5c1ffccf9cf9 OP_EQUALVERIFY OP_CHECKSIG"
|
121
|
+
},
|
122
|
+
{
|
123
|
+
"value":"0.00000001",
|
124
|
+
"scriptPubKey":"OP_DUP OP_HASH160 7499b341fe54e5ac195ca1920292d4c80bd88e61 OP_EQUALVERIFY OP_CHECKSIG"
|
125
|
+
},
|
126
|
+
{
|
127
|
+
"value":"0.00000001",
|
128
|
+
"scriptPubKey":"OP_DUP OP_HASH160 3c0141727479bbf70c9fa2636d13ee7c72d17353 OP_EQUALVERIFY OP_CHECKSIG"
|
129
|
+
},
|
130
|
+
{
|
131
|
+
"value":"0.00000001",
|
132
|
+
"scriptPubKey":"OP_DUP OP_HASH160 b7e9312094b36ccd826cb555ef9c73125b6d7977 OP_EQUALVERIFY OP_CHECKSIG"
|
133
|
+
},
|
134
|
+
{
|
135
|
+
"value":"0.00000001",
|
136
|
+
"scriptPubKey":"OP_DUP OP_HASH160 17395912429bd6a32e8c3ec53d94d50199ff2aa0 OP_EQUALVERIFY OP_CHECKSIG"
|
137
|
+
},
|
138
|
+
{
|
139
|
+
"value":"0.00000001",
|
140
|
+
"scriptPubKey":"OP_DUP OP_HASH160 01617b83d2795845762b1b4231a728108ca73c9f OP_EQUALVERIFY OP_CHECKSIG"
|
141
|
+
},
|
142
|
+
{
|
143
|
+
"value":"0.00000001",
|
144
|
+
"scriptPubKey":"OP_DUP OP_HASH160 e1010cf848081dfd9b0941eb9c0f2c4c95180517 OP_EQUALVERIFY OP_CHECKSIG"
|
145
|
+
},
|
146
|
+
{
|
147
|
+
"value":"0.00000001",
|
148
|
+
"scriptPubKey":"OP_DUP OP_HASH160 39bfffed082c718c4c80f7c670b2704d4eddd2b5 OP_EQUALVERIFY OP_CHECKSIG"
|
149
|
+
},
|
150
|
+
{
|
151
|
+
"value":"0.00000001",
|
152
|
+
"scriptPubKey":"OP_DUP OP_HASH160 f5cf90929114ae6a29256c6ad44c9e1899ee0e6c OP_EQUALVERIFY OP_CHECKSIG"
|
153
|
+
},
|
154
|
+
{
|
155
|
+
"value":"0.00000001",
|
156
|
+
"scriptPubKey":"OP_DUP OP_HASH160 cb9248b0b8328790b0cdcbc8f035fbc52296f713 OP_EQUALVERIFY OP_CHECKSIG"
|
157
|
+
},
|
158
|
+
{
|
159
|
+
"value":"0.00000001",
|
160
|
+
"scriptPubKey":"OP_DUP OP_HASH160 93816a6dccad04cded39576abe969ba6cb00e8b3 OP_EQUALVERIFY OP_CHECKSIG"
|
161
|
+
},
|
162
|
+
{
|
163
|
+
"value":"0.00000001",
|
164
|
+
"scriptPubKey":"OP_DUP OP_HASH160 2c1fdea6e0f2fd5b6fa5491a100ec0e9dbf7eb26 OP_EQUALVERIFY OP_CHECKSIG"
|
165
|
+
},
|
166
|
+
{
|
167
|
+
"value":"0.00000001",
|
168
|
+
"scriptPubKey":"OP_DUP OP_HASH160 0f4a7ed7eed7bfc5ba39caee3382a48d72f48e17 OP_EQUALVERIFY OP_CHECKSIG"
|
169
|
+
},
|
170
|
+
{
|
171
|
+
"value":"0.00000001",
|
172
|
+
"scriptPubKey":"OP_DUP OP_HASH160 cb918b554cea141e8e7e1bf9fdb7f6fac6767651 OP_EQUALVERIFY OP_CHECKSIG"
|
173
|
+
},
|
174
|
+
{
|
175
|
+
"value":"0.00000001",
|
176
|
+
"scriptPubKey":"OP_DUP OP_HASH160 57757f76b2737d8dc33db75c2eeee7fd0763fbdb OP_EQUALVERIFY OP_CHECKSIG"
|
177
|
+
},
|
178
|
+
{
|
179
|
+
"value":"0.00000001",
|
180
|
+
"scriptPubKey":"OP_DUP OP_HASH160 17123160e4f6b5e5cc2763381964b010e48a0722 OP_EQUALVERIFY OP_CHECKSIG"
|
181
|
+
},
|
182
|
+
{
|
183
|
+
"value":"0.00000001",
|
184
|
+
"scriptPubKey":"OP_DUP OP_HASH160 4eda95169fb37e1950400350bcab01792d15e8e5 OP_EQUALVERIFY OP_CHECKSIG"
|
185
|
+
},
|
186
|
+
{
|
187
|
+
"value":"0.00000001",
|
188
|
+
"scriptPubKey":"OP_DUP OP_HASH160 410343c9d6b3db019ce9ff1b0bfc140b8db2055a OP_EQUALVERIFY OP_CHECKSIG"
|
189
|
+
},
|
190
|
+
{
|
191
|
+
"value":"0.00000001",
|
192
|
+
"scriptPubKey":"OP_DUP OP_HASH160 864014bd97fbec5400ea582f3489c1fa1a2ca959 OP_EQUALVERIFY OP_CHECKSIG"
|
193
|
+
},
|
194
|
+
{
|
195
|
+
"value":"0.00000001",
|
196
|
+
"scriptPubKey":"OP_DUP OP_HASH160 297c3ad7928e16c25f6b9d58f6a9d0c92db25037 OP_EQUALVERIFY OP_CHECKSIG"
|
197
|
+
},
|
198
|
+
{
|
199
|
+
"value":"0.00000001",
|
200
|
+
"scriptPubKey":"OP_DUP OP_HASH160 97419d3fc3ea2bf1f3d0478b52b754f5b7587955 OP_EQUALVERIFY OP_CHECKSIG"
|
201
|
+
},
|
202
|
+
{
|
203
|
+
"value":"0.00000001",
|
204
|
+
"scriptPubKey":"OP_DUP OP_HASH160 3106a797094c4e82b3b384703e319a98086a8d1e OP_EQUALVERIFY OP_CHECKSIG"
|
205
|
+
},
|
206
|
+
{
|
207
|
+
"value":"0.00000001",
|
208
|
+
"scriptPubKey":"OP_DUP OP_HASH160 99ee67a922b84eb78d29e8d9518624c842ad4efd OP_EQUALVERIFY OP_CHECKSIG"
|
209
|
+
},
|
210
|
+
{
|
211
|
+
"value":"0.00000001",
|
212
|
+
"scriptPubKey":"OP_DUP OP_HASH160 c35c507a82290462fab36103295d40c65c9e9453 OP_EQUALVERIFY OP_CHECKSIG"
|
213
|
+
},
|
214
|
+
{
|
215
|
+
"value":"0.00000001",
|
216
|
+
"scriptPubKey":"OP_DUP OP_HASH160 9c4527d9c353c839ef220a4d3bb892165595d082 OP_EQUALVERIFY OP_CHECKSIG"
|
217
|
+
},
|
218
|
+
{
|
219
|
+
"value":"0.00000001",
|
220
|
+
"scriptPubKey":"OP_DUP OP_HASH160 690ac5733bba51b6298a0183173bf22da26ba3bc OP_EQUALVERIFY OP_CHECKSIG"
|
221
|
+
},
|
222
|
+
{
|
223
|
+
"value":"0.00000001",
|
224
|
+
"scriptPubKey":"OP_DUP OP_HASH160 c3bb38d41f3637b374ba00cc79349a9029b1b436 OP_EQUALVERIFY OP_CHECKSIG"
|
225
|
+
},
|
226
|
+
{
|
227
|
+
"value":"0.00000001",
|
228
|
+
"scriptPubKey":"OP_DUP OP_HASH160 39379245b5870825112fc43910aa519d3e182f5d OP_EQUALVERIFY OP_CHECKSIG"
|
229
|
+
},
|
230
|
+
{
|
231
|
+
"value":"0.00000001",
|
232
|
+
"scriptPubKey":"OP_DUP OP_HASH160 3f026520abac39c0fb49bda19bfbabe7db1b9506 OP_EQUALVERIFY OP_CHECKSIG"
|
233
|
+
},
|
234
|
+
{
|
235
|
+
"value":"2.58294303",
|
236
|
+
"scriptPubKey":"OP_DUP OP_HASH160 25df43d9390195427d7d08bcadb01cff92e5feae OP_EQUALVERIFY OP_CHECKSIG"
|
237
|
+
},
|
238
|
+
{
|
239
|
+
"value":"0.00000001",
|
240
|
+
"scriptPubKey":"OP_DUP OP_HASH160 2281358df82a3ba3a023ae9967d762a2f3ddb745 OP_EQUALVERIFY OP_CHECKSIG"
|
241
|
+
},
|
242
|
+
{
|
243
|
+
"value":"0.00000001",
|
244
|
+
"scriptPubKey":"OP_DUP OP_HASH160 04a2135d2d447ce55d03f5a3f9e27c954ec2e7e6 OP_EQUALVERIFY OP_CHECKSIG"
|
245
|
+
},
|
246
|
+
{
|
247
|
+
"value":"0.00000001",
|
248
|
+
"scriptPubKey":"OP_DUP OP_HASH160 908173a3e0f1c080d77521d49c7005bde8026cbb OP_EQUALVERIFY OP_CHECKSIG"
|
249
|
+
},
|
250
|
+
{
|
251
|
+
"value":"0.00000001",
|
252
|
+
"scriptPubKey":"OP_DUP OP_HASH160 013a5d87461cb60aaa39231f3d1a38fa0a0f53de OP_EQUALVERIFY OP_CHECKSIG"
|
253
|
+
},
|
254
|
+
{
|
255
|
+
"value":"0.00000001",
|
256
|
+
"scriptPubKey":"OP_DUP OP_HASH160 7b1268b8e0097f5b5ba68242c663c0b4472a36bb OP_EQUALVERIFY OP_CHECKSIG"
|
257
|
+
}
|
258
|
+
]
|
259
|
+
}
|
Binary file
|
data/spec/bitcoin/fixtures/tx-0295028ef826b2a188409cb905b631faebb9bb3cdf14510571c5f4bd8591338f.json
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
{
|
2
|
+
"hash": "0295028ef826b2a188409cb905b631faebb9bb3cdf14510571c5f4bd8591338f",
|
3
|
+
"ver": 1,
|
4
|
+
"vin_sz": 1,
|
5
|
+
"vout_sz": 11,
|
6
|
+
"lock_time": 0,
|
7
|
+
"size": 444,
|
8
|
+
"in": [
|
9
|
+
{
|
10
|
+
"prev_out": {
|
11
|
+
"hash": "fee1b9b85531c8fb6cd7831f83490c7f2aa768b6eefe29854ef5e89ce7b9ecb1",
|
12
|
+
"n": 7
|
13
|
+
},
|
14
|
+
"scriptSig": "304502204c22de00f0cb984cea5a12f0a141fbe94848aaf1caac795c27e261e31c6bd8dd022100be78e7a068395f645da0fdc81a37f22ae047983bbad5b435a1c461f40efef94601 047e6028700e75da5d9531a84e50818d9b0a9e1dd69ebd963d2e9beb45ac960f6201893ebecfe1017eedaddbbda522e2ded8dbd38f0fc4b3fba9f1549e9f392d8c"
|
15
|
+
}
|
16
|
+
],
|
17
|
+
"out": [
|
18
|
+
{
|
19
|
+
"value": "3.74500000",
|
20
|
+
"scriptPubKey": "OP_DUP OP_HASH160 5b454dc6daa0aedc28e7625532f7a2946f4a5df6 OP_EQUALVERIFY OP_CHECKSIG"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"value": "0.10100000",
|
24
|
+
"scriptPubKey": "64 OP_EQUAL"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"value": "0.01100000",
|
28
|
+
"scriptPubKey": "OP_SIZE 3 OP_EQUAL"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"value": "0.04100000",
|
32
|
+
"scriptPubKey": "OP_DUP OP_HASH256 OP_SWAP OP_SHA256 OP_SHA256 OP_EQUAL"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"value": "0.03100000",
|
36
|
+
"scriptPubKey": "2 OP_PICK 0:1:16 OP_EQUALVERIFY OP_DEPTH 3 OP_EQUAL"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"value": "0.05100000",
|
40
|
+
"scriptPubKey": "417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a272045515541 OP_EQUAL"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"value": "0.09100000",
|
44
|
+
"scriptPubKey": "OP_SIZE 1a OP_EQUAL"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"value": "0.06100000",
|
48
|
+
"scriptPubKey": "OP_3DUP OP_DEPTH 7 OP_EQUALVERIFY OP_ADD OP_ADD 3 OP_EQUALVERIFY OP_2DROP 0 OP_EQUALVERIFY"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"value": "0.08100000",
|
52
|
+
"scriptPubKey": "ffffffff OP_NUMEQUAL"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"value": "0.07100000",
|
56
|
+
"scriptPubKey": "OP_IF 1 OP_ENDIF"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"value": "0.02100000",
|
60
|
+
"scriptPubKey": "2 OP_EQUAL"
|
61
|
+
}
|
62
|
+
],
|
63
|
+
"nid": "787cd80f9826d914d452369fe95dd89c772300ba213a4a7cfe919595231e4a2f"
|
64
|
+
}
|
data/spec/bitcoin/fixtures/tx-03339a725007a279484fb6f5361f522dd1cf4d0923d30e6b973290dba4275f92.json
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
{
|
2
|
+
"hash": "03339a725007a279484fb6f5361f522dd1cf4d0923d30e6b973290dba4275f92",
|
3
|
+
"ver": 1,
|
4
|
+
"vin_sz": 1,
|
5
|
+
"vout_sz": 11,
|
6
|
+
"lock_time": 0,
|
7
|
+
"size": 477,
|
8
|
+
"in": [
|
9
|
+
{
|
10
|
+
"prev_out": {
|
11
|
+
"hash": "0f804b7d5ae0580332b09223d65252720c6679e311ddaad7f8cc192021437c48",
|
12
|
+
"n": 0
|
13
|
+
},
|
14
|
+
"scriptSig": "304602210082d6107534a228e5c93fd35e00a073df9ce1110a00d7e96a02db8f71753edde70221009591f5719b47c74eece74807d0718d5197773c6b247e3f75dfb9900851beef4501 04b3d0946bacbda749d5aff49c63d8f951f075952b9310405c37e275d48b72d2c25cc1287ba583b5f38bdcd3957bae4d0207022b5f13caee20c4a8f95f291ccdf8"
|
15
|
+
}
|
16
|
+
],
|
17
|
+
"out": [
|
18
|
+
{
|
19
|
+
"value": "0.05100000",
|
20
|
+
"scriptPubKey": "OP_OVER OP_DEPTH 3 OP_EQUALVERIFY"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"value": "7.66850000",
|
24
|
+
"scriptPubKey": "OP_DUP OP_HASH160 ab3472a01e00316f7ef3391ecc49bdcd0e1e8c3d OP_EQUALVERIFY OP_CHECKSIG"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"value": "0.03100000",
|
28
|
+
"scriptPubKey": "676176696e5f7761735f686572652720455155414c5645524946592031312045515541 OP_EQUALVERIFY 11 OP_EQUAL"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"value": "0.06100000",
|
32
|
+
"scriptPubKey": "OP_IF ba OP_ELSE 1 OP_ENDIF"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"value": "0.07100000",
|
36
|
+
"scriptPubKey": "OP_NOTIF OP_IF 1 OP_ELSE 0 OP_ENDIF OP_ENDIF"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"value": "0.01100000",
|
40
|
+
"scriptPubKey": "0 OP_PICK 0:1:14 OP_EQUALVERIFY OP_DEPTH 3 OP_EQUAL"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"value": "0.04100000",
|
44
|
+
"scriptPubKey": "64 OP_EQUAL"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"value": "0.09100000",
|
48
|
+
"scriptPubKey": "OP_SIZE 2 OP_EQUAL"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"value": "0.02100000",
|
52
|
+
"scriptPubKey": "OP_DUP OP_HASH160 OP_SWAP OP_SHA256 OP_RIPEMD160 OP_EQUAL"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"value": "0.10100000",
|
56
|
+
"scriptPubKey": "417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a272045515541 OP_EQUAL"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"value": "0.08100000",
|
60
|
+
"scriptPubKey": "11 OP_EQUAL"
|
61
|
+
}
|
62
|
+
],
|
63
|
+
"nid": "942c7f5e067ce28fc6069caa6fb92361f07a17902f5efd39356d91fe76ca575e"
|
64
|
+
}
|
data/spec/bitcoin/fixtures/tx-0ce7e5238fbdb6c086cf1b384b21b827e91cc23f360417265874a5a0d86ce367.json
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
{
|
2
|
+
"hash": "0ce7e5238fbdb6c086cf1b384b21b827e91cc23f360417265874a5a0d86ce367",
|
3
|
+
"ver": 1,
|
4
|
+
"vin_sz": 1,
|
5
|
+
"vout_sz": 11,
|
6
|
+
"lock_time": 0,
|
7
|
+
"size": 359,
|
8
|
+
"in": [
|
9
|
+
{
|
10
|
+
"prev_out": {
|
11
|
+
"hash": "03339a725007a279484fb6f5361f522dd1cf4d0923d30e6b973290dba4275f92",
|
12
|
+
"n": 1
|
13
|
+
},
|
14
|
+
"scriptSig": "3045022024c5ec0754e8f3e597072ba0c11731594b9f32ca5da14f9ea6bcb6f6cdd46be8022100c372744afcecc42b8c3c90edd9dc4742d7326a328771dda298cde8e3b47d245e01 049c4c8abc3e359c2bba72666666f15460a8b5964c82b1426499ca4268cba4e89598ac4150fcd33deb76f5841a419f8a36e76324ef239eaf992104adcc88d9d9e5"
|
15
|
+
}
|
16
|
+
],
|
17
|
+
"out": [
|
18
|
+
{
|
19
|
+
"value": "0.05100000",
|
20
|
+
"scriptPubKey": "OP_NUMEQUAL"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"value": "0.09100000",
|
24
|
+
"scriptPubKey": "1 OP_ROLL 0:1:15 OP_EQUALVERIFY OP_DEPTH 2 OP_EQUAL"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"value": "0.03100000",
|
28
|
+
"scriptPubKey": "OP_2OVER OP_ADD OP_ADD 8 OP_EQUALVERIFY OP_ADD OP_ADD 6 OP_EQUAL"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"value": "0.10100000",
|
32
|
+
"scriptPubKey": "OP_NOTIF OP_IF 1 OP_ELSE 0 OP_ENDIF OP_ENDIF"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"value": "0.02100000",
|
36
|
+
"scriptPubKey": "OP_DUP 1 OP_ADD 1 OP_EQUALVERIFY 0 OP_EQUAL"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"value": "0.08100000",
|
40
|
+
"scriptPubKey": "OP_ROT OP_ROT 0:1:15 OP_EQUAL"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"value": "7.10800000",
|
44
|
+
"scriptPubKey": "OP_DUP OP_HASH160 4150837fb91d9461d6b95059842ab85262c2923f OP_EQUALVERIFY OP_CHECKSIG"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"value": "0.06100000",
|
48
|
+
"scriptPubKey": "OP_IF OP_ELSE 1 OP_ENDIF"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"value": "0.04100000",
|
52
|
+
"scriptPubKey": "7 OP_EQUAL"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"value": "0.01100000",
|
56
|
+
"scriptPubKey": "OP_NOT"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"value": "0.07100000",
|
60
|
+
"scriptPubKey": "OP_NOP"
|
61
|
+
}
|
62
|
+
],
|
63
|
+
"nid": "5fe03c76c975d81845ceaccd93ed59ec88223771f0e64e67095b4a6913340792"
|
64
|
+
}
|