Basic Environment Setup for Linux VPS
This tutorial provides guidance in creating a simple environment for development in the Komodo ecosystem.
The content herein is not comprehensive. Rather, this content provides a starting point, from which an enthusiastic learner should be capable of customizing and developing their own approach.
A common environment choice among developers is to use a Virtual Private Server (VPS). A VPS allows a developer to use the Internet to access high quality hardware with corporate-level high speed Internet access.
Popular VPS choices include Amazon Web Services (AWS) and DigitalOcean.
One reason a VPS is popular is that a developer can quickly create new instances of a virtual machine. This facilitates the developer in having a clean environment that is targeted for a specific purpose.
VPS's are also relatively cheap. Both AWS and DigitalOcean provide the basic necessities for ~$20/month, depending on your desired specifications.
When using an AWS instance, do not use the free tier's micro t2 instance. This tier does not include enough RAM for blockchain software to function properly. Instead, select a size of at least medium or greater. This will ensure at least 4GB RAM.
Alternatively, you can use your own personal computer, or a bare-metal server. However, troubleshooting on a personal setup can prove to be more time consuming than on a VPS.
- CPU with 4 cores
- 8 GB RAM
- ~100GB SSD
- Note that using an HDD instead of a SSD will dramatically increase synchronization time, and thus slow down your workflow
- Ubuntu version 18.04 (for beginners)
- Ubuntu is the most popular Linux distribution
- The majority of Komodo's documentation is tested and written on Ubuntu
- To learn more about Linux, read this linked article
Once you have chosen your VPS provider, you will need to connect to your VPS.
New developers often find this process confusing.
Your VPS provider should have several tutorials available to help you through this process.
Look for tutorials on the following topics.
- How to launch a terminal shell on your laptop or desktop machine
- How to set up SSH keys for secure login access
- How to execute a
ssh
command on your local machine to connect to your VPS - How to enter
sudo
commands on your VPS
For example, AWS has the following documentation to assist new developers in accessing VPS's that use the AWS EC2 service. Choose between MacOS & Linux, or Windows, both of which have different tutorial paths.
Link to AWS tutorial starting point
Once you can access your VPS via the terminal, it is time to consider security in your environment. You are accessing a machine over the Internet, and there are myriad ways by which an attack can compromise your connection.
To ensure your own safety, consider the following security measures.
- Never log into your VPS as the root user
- Consider disabling the option to log in as root
- Use SSH keys to log in, instead of a password
- Enable a firewall to limit all unwanted traffic
The following tutorials provide many useful tips on creating a secure server.
For experience learning the Linux environment, consider the following tutorials.