How to create a Linode VPS to run your Noether Node
Step-by-step guide to creating a Linode VPS ready to run your Noether node
Getting started with Linode
Linode is an affordable cloud provider that doesn’t disallow mining cryptocurrencies and related activities. Currently, you can have Noether running on a Linode Virtual Private Server (commonly referred to as VPS) for as low as $5/month.
We are going to present step-by-step how to create a Noether node on Linode. In case some step is not clear to you, you need more details, or need some further assistance, you can always go to the Cartesi Technical Community Discord to ask for help.
1 — Create an account
Head to linode.com and create an account by clicking on the “Sign Up” button and following the instructions:
Once you complete the process, Linode reviews your account and authorizes it before you can access it. This is usually fast and accounts are verified about 10 minutes after you completed the process.
2 — Create a new Virtual Private Server (VPS)
Once your account was activated, it’s time to create a VPS to run your Noether node inside. Head to the Linode dashboard. Once you are inside it you’ll see a button on the top left with the “Create” label, click it and you should be presented with the options shown in the picture below:
Select the first option (“Linode” — High-performance SSD Linux servers). Once you selected it, you should be presented with a screen to input the parameters to create your VPS similar to the one below:
On the distribution combo box, select Ubuntu 20.04 LTS. You can choose the region you want for your VPS data center location (you might want to choose the one nearest to you) and then choose the size of your VPS. Currently, the smallest option (Nanonode 1GB) is enough to run a Noether node.
The next part of the form looks like this:
You can now customize a label for your VPS and add tags (both are optional). Input the root password for your VPS (root is the default admin user on Unix-based OSes — don't lose this password, store it somewhere safe like a good password manager). After doing this, you are ready to create the server. It is optional but strongly encouraged, to add an SSH key to your server (ssh is a good way to interact with your server, and by adding your key to it, it becomes easier and safer to access your VPS — you can learn more about accessing Linode servers using SSH here, learn how to generate an SSH key pair for Linux and Mac here and do the same for Windows here]).
In case you want to add an SSH key, press the button “Add an SSH Key” to add a new SSH key to your account, it will open a form on the right side like this:
You can enter the label you wish to identify this key on your account and enter your public key in the second field. A public key used for SSH usually looks like this:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDfAoZEjtDztxwpfrHUwxl8EUXyeZi70/1C1W7Iw8zFJtaMlBRVd8pX1BGaHRmyhdAq3JznPTAeymg1I6GBT3J7T56jYq7xx8bUQt883eZ5MZ9ZS+yBjfZB8mzLuP5tqIgO7EsaZjJnlKbV9ZThD9pjR88i4Ac512GOp3c82pnm9dmiZ+tWqXH8u0+eJcjnEPlZPYD/xMgRbe8WtxGlkn/bLWI1XQbuL48Z6NA4JUMZrMAn6+ZzpLK7Ku/LPUNoP23qJ5FA/U50dFzDdipjb4OhflBYNCCni/YG0RQJHPnlIzLiaJ9qxgQUCH3AMAl3X4wTelWxNCk8GrhJaKk5p42JsxFewti5JXBYKCPobgrhxs4RBOV4y7o82L3sEjqF8iir3qox/qKk9IWnuuXzMmGH8StIguPCUWZDl+iIv8RPt5p9OCWZg2IgPd4n5hT90xOrqXCMQ/JrURet+rKA+yu0nUxdwS1mXNoqitwct/mNQXN4M5wKXGRQvZkTQdCiPB0= <USER>@<HOST>
After inputting both pieces of information, press the “Add key” button to save the key to your Linode account.
Once the key is saved, you can select it. When the server is created, Linode will automatically add it to the list of authorized users to access the server using the public key SSH authentication method. In case you don’t perform this step, you’ll need to provide a password to authenticate. If you select a key, the form looks like this:
Finally, to create the server, press the “Create Linode” button available on the right side of the screen, as shown here:
Once you issue to create the VPS, you are redirected to its dashboard. There is a status on the VPS creation on the top left, wait until it becomes green with “RUNNING” status. At this point your VPS is ready to be used, it should look like this:
3 — Accessing your new VPS
Once your VPS is created like shown in the previous picture, you can access it in two different ways: using the integrated Linode Shell (LISH) from the Linode Dashboard or using SSH (the preferred method)
1st Method — Accessing using LISH on the Linode Dashboard
Click the “Launch LISH Console” button available on the top right of the Linode Dashboard, as shown below:
Once you click the button, it will open a new browser window like this one:
To login to your server, enter the user root
as login, and press the enter key. The terminal will prompt you for the password. Input the root password you provided when creating the server and hit enter (for security reasons, Unix terminals generally don’t print anything on the screen when a password is being entered). After successfully logging in, the terminal should be similar to this one:
You are now ready to interact with your VPS!
2nd Method (Preferred) — Accessing using SSH
To access your VPS using SSH, the first step is getting the server IP address. You can find that information on the right side of the Linode Dashboard of your server, under “Access” -> “SSH Access”, like shown in the picture below:
You can copy the entire command available there (for example ssh root@104.214.097.52
) and paste it on a terminal on Linux or Mac and press the enter key to start an SSH connection to the server. Windows users might have to install an SSH client before being able to connect (Windows users, take a look here).
The first time you connect to a server, SSH will display the server fingerprint and ask you to confirm is the one expected, you can type yes
followed by the enter key to do that. After the confirmation, it will ask you for your password (unless you performed the optional step of adding an SSH key when creating the server, in that case, ssh should automatically authenticate), enter the root password you provided when creating the server, and press the enter key (for security reasons, Unix terminals generally don’t print anything on the screen when a password is being entered). Once you do, you should have access to the server. Your terminal should look similar to the screen below:
You are now ready to interact with your VPS!
4 — Installing Docker
Now that you have access to your VPS is time to install docker. It takes just a few commands directly on the terminal. Paste the given commands one at a time and press the enter key to execute them. Do wait for a given command to finish its execution before inputting the next command.
The first step is updating Ubuntu’s package lists. To do that enter the following command:
apt update
Once the update is completed, install the docker dependencies:
apt install -y apt-transport-https ca-certificates curl software-properties-common
Tell the server to trust docker repository key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Add docker repository to the system:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Update once again the system package lists so it fetches the ones from the repository just added:
apt update
And finally, install docker:
apt install -y docker-ce
Now you can test that docker was correctly installed using the following command to run a test docker container:
docker run hello-world
If everything goes fine, you should see something like this on your terminal:
Congratulations, you are now ready to enter the command to run your Noether node!
5 — Running your node
Now it's time to run your node. You can either set up a new node from scratch or migrate an existing node to your Linode VPS.
Moving node from Heroku
In case you are moving your node from Heroku, the 1st step is getting your node’s wallet SEED
. You can check the procedure for that on Noether FAQ. Once you have the SEED
, you can start a docker node on your server using the same wallet from your Heroku node with this command (replace the SEED
and url
parameters with your personal values before pressing enter):
docker run -it --env SEED=<YOUR_HEROKU_NODE_SEED_HERE> --rm --name cartesi_noether cartesi/noether --url <YOUR_ETHEREUM_GATEWAY_URL_HERE> --verbose
Once you made sure the node is initialized with no errors and it’s running fine, you can detach from the node container using the default key sequence ( CTRL+p
followed by CTRL+q
) so the container keeps running in the background once you close the session.
Running a new node
In case you are running a new node, you should be able to follow step 2 of the staking tutorial from this point.
Conclusion
That's it! As previously mentioned, in case some step is not clear to you, you need more details, or need some further assistance, you can always go to the Cartesi Technical Community Discord to ask for help.
About Cartesi
Cartesi is a multi-chain layer-2 infrastructure that allows any software developer to create smart contracts with mainstream software tools and languages they are used to while achieving massive scalability and low costs. Cartesi combines a groundbreaking virtual machine, optimistic rollups and side-chains to revolutionize the way developers create blockchain applications.
Cartesi’s Ecosystem Links:
Website: https://cartesi.io
Explorer: https://explorer.cartesi.io
Discord (Development Community): https://discordapp.com/invite/Pt2NrnS
Twitter: https://twitter.com/cartesiproject
Telegram: https://t.me/cartesiproject
Telegram Announcements: https://t.me/cartesiannouncements
GitHub: https://github.com/cartesi