An Ethereum testnet in a couple clicks
Whenever you're developing Web3 apps or Smart-contracts you face a number of unique obstacles. The permanent nature of the blockchain make it hard to test multiple iterations. Luckily there are a number of tools you can use to make your life easier. Tools like Ganache make it possible to set up a local testing environment. But what do you do when you want a testing environment thats persistent? One you can share with your team or stakeholders. This is where "Besu in a box" comes in.
Ethereum Nodes
An Ethereum network is composed of multiple Nodes. These nodes are typically a piece of software running on a server. They handle transactions and "mine" new blocks on the blockchain. However, mining isn't practical for your own test network because it requires faster hardware and limits transaction speed. To address this, I've opted for an Ethereum-compatible node called Hyperledger Besu. This software allows for alternatives to mining when setting up your own blockchain. Since the network isn't publicly available, a "proof-of-authority" algorithm can be used. In this system, nodes present a certificate to prove their belonging to the network. This makes running the node software easier and less resource-intensive.
Setting up
To easily set up the blockchain nodes, I've configured them as a group of containers using a docker-compose file that can easily run on a single computer. Thanks to the pre-packaged nature of containers, they are easy to fetch and start once you download the project.
Further info about this project can be found on my GitLab