The beginnings of a blockchain built from scratch using Rust
I wanted to learn the fundamentals of blockchain technology and I wanted to learn Rust. This is what I'm using to scratch these 2 iches. 😉
Before you begin, you will need Rust installed.
In your terminal:
git clone https://github.com/don-smith/rusty-chain.git
cd rusty-chain && cargo run
- Creates two linked blocks. (
src/main.rs) - Verifies the hash is correct. (
src/block/mod.rs) - Uses a simple proof of work implementation. (
src/block/hash.rs) - Displays duration (in seconds) of block creation. (
src/main.rs)
A Block is a struct defined in src/block/mod.rs. To generate the hash of the block, the struct is first serialised with bincode (all of its properties except curr_hash) into a Vec<u8>. Then the Sha256 module from crypto creates a hash of the Vec<u8>, which is then placed in the curr_hash property of the new block.