- Create working chain of blocks
- Save blocks on database
- Set up command line interface
- Set up transaction
- Set up genesis block, coinbase transaction
- Set up wallet
- Proof of work mining
- Send transaction from one account to another with hash of public key as address
- Add signature for transaction input access control
- Sending transaction, signing with private key
- Use merkle hash for block fingerprint
- Optimize transaction access, currently traverses the complete chain
- Add caching layer
- Add networking layer
- [] Restructure the project to use different crate for each functionality
- [] Add spec for communication protocol
- [] Look at transport medium, grpc?
- [] Add separate client to interact with full node