- Add Elliptic Curve DSA
- Add wallets with addresses and PK/SK pairs
- Prevent double-spending
- Make sure that only available coins can be spent and that there's enough fee which goes to the correct place
- REST interface
- P2P using websocket (ws package)
- DB to save the blockchain and the wallets (to avoid loosing progress)
- GUI for the blockchain
- Use Merkel trees (such as this)
- Add Proof of Stake
- Add consensus to the chain (grey paper)
- Adding Smart contracts
- Changing BANK into a proper wallet (so hide the sk and promote its wallet to itself)
- Making sure the documentation covers the source modules
- Create a logo for the coin
- Add a code coverage check