Table of Contents
Intro
I’ve recently been using Solidity to write Smart Contracts and have been looking at several different ways for testing them.
I decided on setting up a private Ethereum Blockchain for my usecase, what I found from my exploration is that:
- Public test networks (e.g Rinkeby, Ropsten and Kovan) are useful for testing DApps that you plan on hosting publically.
- Private test networks are useful if you plan on launching your DApp to a private network, or if development is in early stages where you wouldn’t want to deploy it to a public test network.
5 ways to set up a Private Blockchain Network for development & testing
Along my journey of looking at ways to set up a Private Blockchain, I came across some great resources that I thought I’d share.
These 5 methods aren’t the only ways to set up a Private Blockchain network for development, but they are a good place to start!
Geth
Go Ethereum (abbreviated as Geth) is an implementation of the Ethereum blockchain, which is written in Go Lang.
There are some great tutorials for creating a localhost environments using Geth, here are a couple I found for creating a private Ethereum Blockchain on your own server:
Docker and Docker Compose
Tools like Docker, can be used to simplify and speed up this process by leveraging an instance of Geth via a pre-made image, which can then be deployed on a Virtual Machine easier.
Here is a nice tutorial that shows you how to create a private ethereum blockchain using docker and docker-compose.
Terraform and Amazon ECS
Using Geth as the Ethereum Implementation and Docker to help with deployment is a great way to deploy your own private instance, but we can make this even better through automation.
Tools like Terraform (an Infrastructure as Code framework) and Amazon ECS (Elastic Container Service) can help make this even quicker and written as a code component that can be re-used across projects.
Terraform is a great tool, which you should consider learning – here are some tutorials that you can use it to spin up a Private Ethereum Blockchain.
Amazon Managed Blockchain
Platforms like Amazon Web Services (AWS) offer out of the box methods to create Ethereum nodes and private Hyperledger Fabric Blockchain networks.
The power of this approach, is that AWS allows you to spin up your own Blockchain network in a few clicks of your mouse – which is really amazing.
Here are a couple of tutorials I found that could be useful:
Polygon
Polygon is a side chain to Ethereum, which is growing in popularity for developers due to faster transaction speeds, lower gas prices and the ability to deploy smart contracts with Solidity (just like you would with the Ethereum Mainnet).
I may do a post about side chains in the future to properly detail how they work and why they are great, but for now – here is a nice link on how to spin up your own Private Blockchain Network on the cloud via Polygon Edge.
Conclusion
There are many different ways to go about setting up a Private Blockchain Network, I hope this post helped give you a useful place to start.
Personally, the Terraform approach was most helpful to me – but I’m super excited about using Polygon some point in the future!!
Have fun developing!! 😀