├── .env.example ├── .github └── workflows │ ├── build.yaml │ ├── coverage.yaml │ ├── lint.yaml │ └── test.yaml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── README.md ├── doc ├── blockchain_structure.png └── rest_api.postman_collection.json ├── scripts └── coverage_report.sh ├── src ├── api.rs ├── main.rs ├── miner.rs ├── model.rs ├── model │ ├── account_balance_map.rs │ ├── address.rs │ ├── block.rs │ ├── blockchain.rs │ ├── transaction.rs │ └── transaction_pool.rs ├── peer.rs ├── util.rs └── util │ ├── config.rs │ ├── context.rs │ ├── execution.rs │ ├── logger.rs │ └── termination.rs └── tests ├── api_test.rs ├── common ├── api.rs ├── mod.rs └── server.rs └── peer_test.rs /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/.env.example -------------------------------------------------------------------------------- /.github/workflows/build.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/.github/workflows/build.yaml -------------------------------------------------------------------------------- /.github/workflows/coverage.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/.github/workflows/coverage.yaml -------------------------------------------------------------------------------- /.github/workflows/lint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/.github/workflows/lint.yaml -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/Cargo.toml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/README.md -------------------------------------------------------------------------------- /doc/blockchain_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/doc/blockchain_structure.png -------------------------------------------------------------------------------- /doc/rest_api.postman_collection.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/doc/rest_api.postman_collection.json -------------------------------------------------------------------------------- /scripts/coverage_report.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/scripts/coverage_report.sh -------------------------------------------------------------------------------- /src/api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/api.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/miner.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/miner.rs -------------------------------------------------------------------------------- /src/model.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/model.rs -------------------------------------------------------------------------------- /src/model/account_balance_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/model/account_balance_map.rs -------------------------------------------------------------------------------- /src/model/address.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/model/address.rs -------------------------------------------------------------------------------- /src/model/block.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/model/block.rs -------------------------------------------------------------------------------- /src/model/blockchain.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/model/blockchain.rs -------------------------------------------------------------------------------- /src/model/transaction.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/model/transaction.rs -------------------------------------------------------------------------------- /src/model/transaction_pool.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/model/transaction_pool.rs -------------------------------------------------------------------------------- /src/peer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/peer.rs -------------------------------------------------------------------------------- /src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/util.rs -------------------------------------------------------------------------------- /src/util/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/util/config.rs -------------------------------------------------------------------------------- /src/util/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/util/context.rs -------------------------------------------------------------------------------- /src/util/execution.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/util/execution.rs -------------------------------------------------------------------------------- /src/util/logger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/util/logger.rs -------------------------------------------------------------------------------- /src/util/termination.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/src/util/termination.rs -------------------------------------------------------------------------------- /tests/api_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/tests/api_test.rs -------------------------------------------------------------------------------- /tests/common/api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/tests/common/api.rs -------------------------------------------------------------------------------- /tests/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/tests/common/mod.rs -------------------------------------------------------------------------------- /tests/common/server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/tests/common/server.rs -------------------------------------------------------------------------------- /tests/peer_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrnaveira/rust-blockchain/HEAD/tests/peer_test.rs --------------------------------------------------------------------------------