Interested In Building An EOS Up Single-node Testnet But Don't Have Access To An Ubuntu Desktop? I Had Success Deploying A Testnet On a $10/month Ubuntu 16.04 Server.


While an Ubuntu desktop can be installed on programs similar to VirtualBox on your local device, I decided to go with a cloud server because it is much more forgiving. 

I am not endorsing any specific provider of cloud services, but I personally chose to deploy a $10/month droplet through DigitalOcean. I felt comfortable using DigitalOcean because of the fact that I was building a sing-node testnet, and I had the ability to restore the server back to the default Ubuntu at any time without having to do anything other than click restore. I assumed that I may have had to make some adjustments because I was installing directly on a server, but ended up getting the testnet up and running within no time.

While renting a VPS may seem excessive for running and experimenting with a testnet, the advantages it contained compared to a server on my local device were abundant. I intent to finally make the switch to Ubuntu on my laptop in the upcoming months, but I am more than comfortable paying $10 a month for a VPS enabling me to use Ubuntu until then. There is also a $5 droplet that is also available through the DigitalOcean, I chose the $10 droplet just to be safe. The testnet has been producing blocks every 3 seconds for the past hour or so, and I didn't run into any major difficulties installing through the command line of an Ubuntu 16.04 server. 

For the most part I followed the instructions on the EOS github, and this steemit post, but I will explain the extra steps you should take when using a server version of Ubuntu.

The main difference in using a command line only Ubuntu server is the installation of Boost, I usedthe Boost version 1.63.0 and have had no issues. I found the method of installing it from the command line through various online searches, and it is pretty straightforward. This code has been modified to contain the updated version, but there are many online resources which list the same method. 

First download and then unpack boost 1.63.0

wget -O boost_1_63_0.tar.gz http://sourceforge.net/projects/boost/files/boost/1.63.0/boost_1_63_0.tar.gz/download
tar xzvf boost_1_63_0.tar.gz
cd boost_1_63_0/

Then the get libraries.

sudo apt-get update
sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-all-dev

Then Boost's Bootstrap setup.

./bootstrap.sh --prefix=/usr/local

Then build. (can take some time depending on specs)

./b2

Finally install it.

sudo ./b2 install 


The rest of the dependencies can be installed in the same method as installing them on a desktop version of Ubuntu.

Rather than listing all of the install commands I will link you to this post, which outlines the install commands and procedures for the rest of the dependencies and the packages. I may write a more indepth set of instructions and my results in the future, but I think there is ample information available on setting up a single-node testnet out there right now on Steemit and through web searches. 

As far as setting up SSH keys to control the server and disable root/password login, I found these articles extremely helpful. (1 2). I am using windows on my local computer and use putty to access my droplet. The process was pretty straightforward, and I hope that this post may have been helpful for you. I'm up to block #2500 and have yet to encounter any errors or bugs. The blocks have been produced at 3 second intervals like clockwork, and I'm really excited about the continued development of the EOS platform!


I really hope that this post was helpful to you, and I welcome any questions or comments you may have. Thanks for reading!



H2
H3
H4
3 columns
2 columns
1 column
2 Comments