Coding your own blockchain with Unity3D

Coding your own blockchain with Unity3D

To understand blockchain technology, make one

Unity3D isn't only great for production, it's also a fun way to explore and learn.
I've been working with solidity lately, but I never really dived into the technicalities of implementing a blockchain and/or a cryptocurrency. When I came across the NaiveCoin tutorial on github, I thought it'd be fun to port it in C# and visualize the mining process with Unity3D.
Screenshot of a Unity3D interface showing the mining process of a custom blockchain

It implements a transaction pool which you can fill with transactions from one node to another. Once you click on mine, all the nodes are going to compete against each other and the first one to find the block will broadcast it to the others. They will then confirm the block, add it to their blockchain and stop mining. I decided to upload the project as it would be an easy way for any Unity / C# dev to understand more deeply how a blockchain and how a cryptocurrency works. Please grab it and have fun !

The original tutorial, which you can refer to to understand the code's logic, is available here.

Implemented :

  • Simple blockchain with sha256 hash
  • Proof-of-work with adaptive difficulty
  • Nakamoto consensus
  • Coin base transaction rewarding miners
  • Transactions with RSA signature
  • Transaction pool (Bitcoin's mem like)
  • Simulation of 3 nodes with concurrent mining

Have fun !

Leave a Reply

Close Menu