├── .dockerignore ├── .github ├── dependabot.yml └── workflows │ └── CI.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── LICENSE ├── README.md ├── src ├── bin │ └── rust-bitcoin-node.rs ├── blockchain │ ├── chain.rs │ ├── chain_db.rs │ ├── chain_entry.rs │ └── mod.rs ├── blockstore │ ├── db.rs │ ├── mod.rs │ └── records.rs ├── coins │ ├── coin_entry.rs │ ├── coin_view.rs │ ├── mod.rs │ └── undo_coins.rs ├── db │ ├── batch.rs │ ├── disk.rs │ ├── key.rs │ └── mod.rs ├── error │ └── mod.rs ├── full_node.rs ├── indexers │ ├── addrindex.rs │ ├── filterindex.rs │ ├── mod.rs │ └── txindex.rs ├── lib.rs ├── mempool │ ├── mempool.rs │ └── mod.rs ├── mining │ ├── miner.rs │ ├── mod.rs │ └── template.rs ├── net │ ├── bloom_filter.rs │ ├── compact_block.rs │ ├── connection.rs │ ├── mod.rs │ ├── new_peer.rs │ ├── new_peer_manager.rs │ ├── old │ │ ├── codec.rs │ │ ├── connection.rs │ │ ├── newp2p.rs │ │ ├── p2p.rs │ │ ├── peer.rs │ │ └── proper.rs │ ├── peer.rs │ └── peer_manager.rs ├── primitives │ ├── block.rs │ ├── mod.rs │ ├── script.rs │ └── tx.rs ├── protocol │ ├── consensus.rs │ ├── mod.rs │ ├── network.rs │ ├── timedata.rs │ └── version_bits.rs └── util │ └── mod.rs └── tests └── chain.rs /.dockerignore: -------------------------------------------------------------------------------- 1 | target 2 | data -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/CI.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/.github/workflows/CI.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | data 4 | .vscode -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/README.md -------------------------------------------------------------------------------- /src/bin/rust-bitcoin-node.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/bin/rust-bitcoin-node.rs -------------------------------------------------------------------------------- /src/blockchain/chain.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/blockchain/chain.rs -------------------------------------------------------------------------------- /src/blockchain/chain_db.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/blockchain/chain_db.rs -------------------------------------------------------------------------------- /src/blockchain/chain_entry.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/blockchain/chain_entry.rs -------------------------------------------------------------------------------- /src/blockchain/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/blockchain/mod.rs -------------------------------------------------------------------------------- /src/blockstore/db.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/blockstore/db.rs -------------------------------------------------------------------------------- /src/blockstore/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/blockstore/mod.rs -------------------------------------------------------------------------------- /src/blockstore/records.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/blockstore/records.rs -------------------------------------------------------------------------------- /src/coins/coin_entry.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/coins/coin_entry.rs -------------------------------------------------------------------------------- /src/coins/coin_view.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/coins/coin_view.rs -------------------------------------------------------------------------------- /src/coins/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/coins/mod.rs -------------------------------------------------------------------------------- /src/coins/undo_coins.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/coins/undo_coins.rs -------------------------------------------------------------------------------- /src/db/batch.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/db/batch.rs -------------------------------------------------------------------------------- /src/db/disk.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/db/disk.rs -------------------------------------------------------------------------------- /src/db/key.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/db/key.rs -------------------------------------------------------------------------------- /src/db/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/db/mod.rs -------------------------------------------------------------------------------- /src/error/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/error/mod.rs -------------------------------------------------------------------------------- /src/full_node.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/full_node.rs -------------------------------------------------------------------------------- /src/indexers/addrindex.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/indexers/addrindex.rs -------------------------------------------------------------------------------- /src/indexers/filterindex.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/indexers/filterindex.rs -------------------------------------------------------------------------------- /src/indexers/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/indexers/mod.rs -------------------------------------------------------------------------------- /src/indexers/txindex.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/indexers/txindex.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/mempool/mempool.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/mempool/mempool.rs -------------------------------------------------------------------------------- /src/mempool/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/mempool/mod.rs -------------------------------------------------------------------------------- /src/mining/miner.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/mining/miner.rs -------------------------------------------------------------------------------- /src/mining/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/mining/mod.rs -------------------------------------------------------------------------------- /src/mining/template.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/mining/template.rs -------------------------------------------------------------------------------- /src/net/bloom_filter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/bloom_filter.rs -------------------------------------------------------------------------------- /src/net/compact_block.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/compact_block.rs -------------------------------------------------------------------------------- /src/net/connection.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/connection.rs -------------------------------------------------------------------------------- /src/net/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/mod.rs -------------------------------------------------------------------------------- /src/net/new_peer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/new_peer.rs -------------------------------------------------------------------------------- /src/net/new_peer_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/new_peer_manager.rs -------------------------------------------------------------------------------- /src/net/old/codec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/old/codec.rs -------------------------------------------------------------------------------- /src/net/old/connection.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/old/connection.rs -------------------------------------------------------------------------------- /src/net/old/newp2p.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/old/newp2p.rs -------------------------------------------------------------------------------- /src/net/old/p2p.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/old/p2p.rs -------------------------------------------------------------------------------- /src/net/old/peer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/old/peer.rs -------------------------------------------------------------------------------- /src/net/old/proper.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/old/proper.rs -------------------------------------------------------------------------------- /src/net/peer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/peer.rs -------------------------------------------------------------------------------- /src/net/peer_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/net/peer_manager.rs -------------------------------------------------------------------------------- /src/primitives/block.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/primitives/block.rs -------------------------------------------------------------------------------- /src/primitives/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/primitives/mod.rs -------------------------------------------------------------------------------- /src/primitives/script.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/primitives/script.rs -------------------------------------------------------------------------------- /src/primitives/tx.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/primitives/tx.rs -------------------------------------------------------------------------------- /src/protocol/consensus.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/protocol/consensus.rs -------------------------------------------------------------------------------- /src/protocol/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/protocol/mod.rs -------------------------------------------------------------------------------- /src/protocol/network.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/protocol/network.rs -------------------------------------------------------------------------------- /src/protocol/timedata.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/protocol/timedata.rs -------------------------------------------------------------------------------- /src/protocol/version_bits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/protocol/version_bits.rs -------------------------------------------------------------------------------- /src/util/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/src/util/mod.rs -------------------------------------------------------------------------------- /tests/chain.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrawsthorne/rust-bitcoin-node/HEAD/tests/chain.rs --------------------------------------------------------------------------------