├── .gitignore ├── .rspec ├── .travis.yml ├── CHANGELOG ├── COPYING ├── Gemfile ├── README.rdoc ├── Rakefile ├── bitcoin-ruby-blockchain.gemspec ├── lib └── bitcoin │ ├── blockchain.rb │ └── blockchain │ ├── backends.rb │ ├── backends │ ├── archive │ │ ├── archive.rb │ │ └── migrations │ │ │ ├── 001_base_schema.rb │ │ │ ├── 002_tx.rb │ │ │ ├── 003_change_txin_script_sig_to_blob.rb │ │ │ ├── 004_change_txin_prev_out_to_blob.rb │ │ │ ├── 005_change_tx_hash_to_bytea.rb │ │ │ ├── 006_add_tx_nhash.rb │ │ │ ├── 007_add_prev_out_index_index.rb │ │ │ ├── 008_add_txin_p2sh_type.rb │ │ │ ├── 009_add_addrs_type.rb │ │ │ └── 010_change_block_depth_to_height.rb │ ├── base.rb │ ├── dummy │ │ └── dummy.rb │ ├── import_export.rb │ ├── sequel_base.rb │ └── utxo │ │ ├── migrations │ │ ├── 001_base_schema.rb │ │ ├── 002_utxo.rb │ │ ├── 003_update_indices.rb │ │ ├── 004_add_addrs_type.rb │ │ ├── 005_change_block_depth_to_height.rb │ │ └── 006_change_tx_hash_to_binary.rb │ │ └── utxo.rb │ ├── models.rb │ ├── validation.rb │ └── version.rb └── spec ├── blockchain ├── blockchain_spec.rb ├── import_export_spec.rb ├── models_spec.rb ├── reorg_spec.rb └── validation_spec.rb ├── fixtures ├── rawtx-01.bin ├── rawtx-02.bin ├── rawtx-03.bin ├── rawtx-0437cd7f8525ceed2324359c2d0ba26006d92d856a9c20fa0241106ee5a597c9.bin ├── rawtx-f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16.bin ├── reorg │ ├── blk_0_to_4.dat │ ├── blk_3A.dat │ ├── blk_4A.dat │ └── blk_5A.dat └── testnet │ ├── block_0.bin │ ├── block_1.bin │ ├── block_2.bin │ ├── block_3.bin │ ├── block_4.bin │ └── block_5.bin ├── helpers └── fake_blockchain.rb ├── performance └── blockchain_performance_spec.rb └── spec_helper.rb /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/.gitignore -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- 1 | --format documentation --color -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGELOG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/CHANGELOG -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/COPYING -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/Gemfile -------------------------------------------------------------------------------- /README.rdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/README.rdoc -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/Rakefile -------------------------------------------------------------------------------- /bitcoin-ruby-blockchain.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/bitcoin-ruby-blockchain.gemspec -------------------------------------------------------------------------------- /lib/bitcoin/blockchain.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/archive.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/archive.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/migrations/001_base_schema.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/migrations/001_base_schema.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/migrations/002_tx.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/migrations/002_tx.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/migrations/003_change_txin_script_sig_to_blob.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/migrations/003_change_txin_script_sig_to_blob.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/migrations/004_change_txin_prev_out_to_blob.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/migrations/004_change_txin_prev_out_to_blob.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/migrations/005_change_tx_hash_to_bytea.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/migrations/005_change_tx_hash_to_bytea.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/migrations/006_add_tx_nhash.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/migrations/006_add_tx_nhash.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/migrations/007_add_prev_out_index_index.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/migrations/007_add_prev_out_index_index.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/migrations/008_add_txin_p2sh_type.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/migrations/008_add_txin_p2sh_type.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/migrations/009_add_addrs_type.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/migrations/009_add_addrs_type.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/archive/migrations/010_change_block_depth_to_height.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/archive/migrations/010_change_block_depth_to_height.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/base.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/base.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/dummy/dummy.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/dummy/dummy.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/import_export.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/import_export.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/sequel_base.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/sequel_base.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/utxo/migrations/001_base_schema.rb: -------------------------------------------------------------------------------- 1 | ../../archive/migrations/001_base_schema.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/utxo/migrations/002_utxo.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/utxo/migrations/002_utxo.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/utxo/migrations/003_update_indices.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/utxo/migrations/003_update_indices.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/utxo/migrations/004_add_addrs_type.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/utxo/migrations/004_add_addrs_type.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/utxo/migrations/005_change_block_depth_to_height.rb: -------------------------------------------------------------------------------- 1 | ../../archive/migrations/010_change_block_depth_to_height.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/utxo/migrations/006_change_tx_hash_to_binary.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/utxo/migrations/006_change_tx_hash_to_binary.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/backends/utxo/utxo.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/backends/utxo/utxo.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/models.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/models.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/validation.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/validation.rb -------------------------------------------------------------------------------- /lib/bitcoin/blockchain/version.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/lib/bitcoin/blockchain/version.rb -------------------------------------------------------------------------------- /spec/blockchain/blockchain_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/blockchain/blockchain_spec.rb -------------------------------------------------------------------------------- /spec/blockchain/import_export_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/blockchain/import_export_spec.rb -------------------------------------------------------------------------------- /spec/blockchain/models_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/blockchain/models_spec.rb -------------------------------------------------------------------------------- /spec/blockchain/reorg_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/blockchain/reorg_spec.rb -------------------------------------------------------------------------------- /spec/blockchain/validation_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/blockchain/validation_spec.rb -------------------------------------------------------------------------------- /spec/fixtures/rawtx-01.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/rawtx-01.bin -------------------------------------------------------------------------------- /spec/fixtures/rawtx-02.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/rawtx-02.bin -------------------------------------------------------------------------------- /spec/fixtures/rawtx-03.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/rawtx-03.bin -------------------------------------------------------------------------------- /spec/fixtures/rawtx-0437cd7f8525ceed2324359c2d0ba26006d92d856a9c20fa0241106ee5a597c9.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/rawtx-0437cd7f8525ceed2324359c2d0ba26006d92d856a9c20fa0241106ee5a597c9.bin -------------------------------------------------------------------------------- /spec/fixtures/rawtx-f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/rawtx-f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16.bin -------------------------------------------------------------------------------- /spec/fixtures/reorg/blk_0_to_4.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/reorg/blk_0_to_4.dat -------------------------------------------------------------------------------- /spec/fixtures/reorg/blk_3A.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/reorg/blk_3A.dat -------------------------------------------------------------------------------- /spec/fixtures/reorg/blk_4A.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/reorg/blk_4A.dat -------------------------------------------------------------------------------- /spec/fixtures/reorg/blk_5A.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/reorg/blk_5A.dat -------------------------------------------------------------------------------- /spec/fixtures/testnet/block_0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/testnet/block_0.bin -------------------------------------------------------------------------------- /spec/fixtures/testnet/block_1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/testnet/block_1.bin -------------------------------------------------------------------------------- /spec/fixtures/testnet/block_2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/testnet/block_2.bin -------------------------------------------------------------------------------- /spec/fixtures/testnet/block_3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/testnet/block_3.bin -------------------------------------------------------------------------------- /spec/fixtures/testnet/block_4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/testnet/block_4.bin -------------------------------------------------------------------------------- /spec/fixtures/testnet/block_5.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/fixtures/testnet/block_5.bin -------------------------------------------------------------------------------- /spec/helpers/fake_blockchain.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/helpers/fake_blockchain.rb -------------------------------------------------------------------------------- /spec/performance/blockchain_performance_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/performance/blockchain_performance_spec.rb -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhanne/bitcoin-ruby-blockchain/HEAD/spec/spec_helper.rb --------------------------------------------------------------------------------