

Step 2 Prepare the Genesis FileĪfter some trial & error I have landed on the following genesis.json file… I recommend that you include this install in your “standard” Virtual machine so that you don’t need to reinstall in every instance.

sudo apt-get install software-properties-common sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install ethereum Here are the commands that will install Ethereum. This node will be the mining node so it is suggested that this virtual machine be set up with 2GB of RAM. Other nodes in the network will be manually connected to this node in order to create the P2P network. This node will be the primary node in our network.

When the Ethereum wallet is invoked it expects access to the internet to check versions etc. Nodes will be connected manually to the “root” node in order to avoid unnecessary difficult in creating a self-discovering P2P network from scratch. The blockchain on each node will be initialised with the same genesis.json file so that they can communicate correctly. Ubuntu 16.10 is now deprecated so I would suggest with to 17.04 (or 16.04 LTS) or your favourite Linux distribution. All virtual nodes can survive with 8GB Hard drive (most tests involve less than 7GB), however I have used 16GB hard drive because that was the size of my “standard” ubuntu virtual machine. Most nodes will only require 1GB RAM (except Node A - see below). Then you can clone that as required (using a linked clone to save disc space). and with VirtualBox Guest Additions Installed. I suggest that you make a standard guest virtual machine which includes your favourite edit environments, tools etc. Lenovo Laptop i7 8GB RAM 256GB Windows 10.

This will involve the set up of a minimum of 2 nodes, but potentially 3 (or more), which is within the capabilities of modern desktops and laptops. The goal of this document is to set up a local, virtual Ethereum private network based on Ubuntu primarily to be used for testing. There have been several excellent articles here about setting up a local ethereum network, but they did not quite match my needs.
