DEV Community

Iliias Baiyshev
Iliias Baiyshev

Posted on • Edited on

Graphical Blockchain demonstration in Go using Fyne

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Requirements

  • Go 1.18+
  • GCC (for OpenGL via Fyne)

Interface

Main blockchain view

A visual representation of blocks, transactions, and Proof-of-Work.
readme-part-1
readme-part-2

P2P network simulation

Illustrates node discovery, block propagation, and forks in a peer-to-peer environment.
readme-part-3

Top comments (0)