Ever wanted to see how blockchain works instead of just reading about it?
I built a GUI-based blockchain simulator in Go, using the Fyne toolkit – cross-platform, clean, and native-feeling.
This project is open for you to use in your personal work — whether that means improving it, customizing it, or reusing the core logic in your own blockchain-related projects.
🔗 GitHub: https://github.com/Iliiasik/Blockchain
About
Recently, I decided to dive deeper into how blockchains work under the hood. Since I'm a Go developer, I naturally chose Go as the language for this journey.
I found an excellent tutorial and repository by Jeiwan:
🔗 Part 1: Building Blockchain in Go
🔗 GitHub: jeiwan/blockchain_go
It's a great theoretical resource that I highly recommend. However, the code has become outdated — some parts don't work with modern Go versions, and there were several bugs.
For example, I completely rewrote the block serialization/deserialization logic. The original version used gob
, which caused the proof-of-work to break after restarting the app because it serialized the data inconsistently each time. That’s just one of many such issues I had to fix.
While testing the CLI version, I realized it wasn’t very intuitive for learning purposes. So I decided to build a GUI to visualize how the blockchain operates, making it easier for others to explore and understand the core concepts.
✅ Fixed all bugs
✅ Added extra features
✅ Built a cross-platform UI using Fyne
This project is the result. A visual, educational blockchain demo — built with Go, for anyone curious about how blockchains work.
What it does
This project helps you visualize and interact with core blockchain concepts:
Block structure and hashes
Mining with adjustable difficulty
UTXO-based transactions
P2P simulation: forks, node syncing, and more
How to try it
Option 1: Clone and run
git clone https://github.com/Iliiasik/Blockchain.git
cd Blockchain
go run main.go
Option 2: Install with fyne
# Install the fyne CLI tool (if you don't have it yet)
go install fyne.io/tools/cmd/fyne@latest
# Install the Blockchain app via fyne
fyne install github.com/Iliiasik/Blockchain@latest
Requirements
- Go 1.18+
- GCC (for OpenGL via Fyne)
Interface
Main blockchain view
A visual representation of blocks, transactions, and Proof-of-Work.
P2P network simulation
Illustrates node discovery, block propagation, and forks in a peer-to-peer environment.
Top comments (0)