A minimal cryptocurrency wallet and blockchain simulation built in Go.
This project aims to provide a hands-on learning experience with core blockchain concepts like key generation, transaction signing, block creation, and eventually mining and chain validation.
- ECDSA key pair generation (P256 curve)
- Wallet address derived from public key hash
- Transaction message signing (with
r,svalues) - Message verification with public key
- Basic
Transactionstruct with:- Sender address
- Recipient address
- Amount
- Signature (
r,s)
- Basic
Blockstruct with:- Index
- Timestamp
- List of transactions
- Previous hash
- Nonce
- Hash (SHA-256 of block contents)
- Genesis block creation
->Blockchain Login ->Proof of work ->Mempool ->Save blockchain to file, load on startup ->CLI/UI
- GO 1.18