"Exploring core blockchain principles through practical engineering."
MiniChain is not a production-grade blockchain — it's a self-contained Go project built to simulate and explore key blockchain concepts, such as:
- Block mining
- Transaction pooling
- Peer-to-peer communication
- Persistent chain state
- Simple consensus and request handling
It serves as a learning platform to understand how distributed systems and blockchains work under the hood.
This project demonstrates real-world skills in:
- ✅ Go concurrency (e.g., mining with goroutines)
- ✅ Distributed system architecture
- ✅ Modular Go application structure
- ✅ Custom peer discovery
- ✅ Lightweight transaction mempool
- ✅ Simple data persistence and recovery
Think of it as a sandbox where you can learn and experiment with the mechanics of a blockchain — without the complexity of production environments like Ethereum or Bitcoin.
cmd/
└── node/ → CLI entry point to start a node
internal/
├── blockchain/ → Chain management & block storage
├── mempool/ → In-memory transaction queue
├── mining/ → Simulated block mining (PoW)
├── peers/ → P2P logic and peer discovery
MiniChain includes a Makefile with cross-platform builds for Linux, macOS, and Windows.
make win-build
release\node.exe
make lnx-build
./release/node
make mac-build
./release/node
-
🧪 Educational tool to understand blockchain architecture
-
🔁 Build & run local nodes for testing simple P2P communication
-
⚒️ Extend with consensus, cryptography, or REST APIs
-
🧩 Serve as a base for distributed systems experimentation