The Nontechnical Guide to Onboarding an Ambrosus Masternode — Hetzner Edition

Jerome!
Jerome!
Jul 12 · 11 min read

This guide is targeted at non-technical users who are going through the process of onboarding a masternode onto AMB-NET. I have seen many community members struggling with setting up their masternode. This is usually because they do not understand the technical terminology used or have never worked with a unix terminal before. The goal of this guide is to break down the concepts for everyone to not only feel comfortable setting up their masternode, but also to understanding the reasoning for each step along the way.


Overview

  1. VPS Setup
  2. Setup Your Node
  3. Convert to Native AMB / Send tokens
  4. Running Your Node
  5. Final Comments

VPS Setup

What is a VPS?

A virtual private server allows users the ability to run their own server on shared physical resources. As an analogy, think about it like renting office space in a large office building. We own our space and we can customize it to our needs, but at the same time the building is shared with other people.

The term virtual private server is named as such because virtualization is the technology used that allows the host (in our case Hetzner) to split up a single server into multiple ones. The word private means the server will only be accessible by you and resources will be dedicated for your server as specified during the VPS setup (i.e. RAM, CPU, Storage etc.)

Why do I need a VPS?

Our VPS will be where we setup and run our node from. Instead of running our nodes from our own desktop machines, hosting on a VPS will allow us benefits such as reliable availability, ease of setup & configuration, and future scalability.

Step 1: Setup a Hetzner server

To begin, first create an account at Hetzner. The link is my referral link to Hetzner, you get €20 of free cloud credits (valid for 1 month) by using this link. It would be appreciated when you use this tutorial for setting up your node to use the referral link to show some appreciation of this article. Once you have done that you have access to the cloud control panel.

Next, login and create a new project. Call it whatever you’d like, I named mine “Ambrosus”. Go to your new project.

Image for post
Image for post
Create a new project
Image for post
Image for post
Enter your project name

We now go to the security tab and add a SSH key.

Image for post
Image for post
Add key

Use this link to create an SSH key. Store the public and private key safely somewhere away. Paste the public key you generated here.
And add a name to identify the SSH key.

Image for post
Image for post

Next add a server.

  • Location The geographical location can be chosen to your preference.
  • Image The default OS image preselected is Ubuntu 20.04. You need to select Ubuntu 18.04! Running on 20.04 is not supported yet.
  • Type Standard storage type local (NVMe SSD)
  • Plan CPX11. Not to be confused with CX11. Choosing a lower type tier will result in your node not functioning correctly as those don’t meet the minimum specs.
Image for post
Image for post
Create server options
  • Volume and network Not needed, leave unselected.
  • SSH key Select the SSH key you have created previously
  • Name Give the server a meaningful name, e.g. Omega1
Image for post
Image for post
Further sever details

Setup your node

Step 2: Login into your VPS

For Windows users
You can use PuTTY to connect to your VPS. Here’s a good guide on how to do that. Use the IP address as listed in the IP address column to connect. The default username is ‘root’ and the ‘passphrase’ from the SSH key will allow you to login.

Use the IP address displayed to connect via Putty

For Mac /Linux Users

Begin by copying the IP address of your droplet. You can find it by viewing your droplet in your browser. Simply click on it to copy it to your clipboard. Next, open your terminal and type in the following command:

ssh root@<droplet_ip_address>

Replace “<droplet_ip_address>” with the address we had previously copied. This above command tells us we want to SSH into the root user at the following server IP address. If you setup a password for your SSH key, you’ll be prompted to enter it here. Say yes to any other prompts.

Note that root is a special superuser and is the default user who has all rights or permissions in our Linux operating system.

Just like that you’ll be connected to your VPS. You are now remotely accessing your private server!

If you recall, we setup our server with the Ubuntu OS. Other than the actual operating system, there is nothing else installed on our server. Time to change that.

Firewall

Since Hetzner doesn’t have a cloud firewall like Digitalocean does, you need to configure the firewall on your node. These are the Firewall settings:

For Atlas:

sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow http/tcp
sudo ufw allow 30303/tcp
sudo ufw allow 30303/udp
sudo ufw allow ssh/tcp
sudo ufw logging on
sudo ufw -f enable
sudo ufw status

For Apollo:

sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow 30303/tcp
sudo ufw allow 30303/udp
sudo ufw allow ssh/tcp
sudo ufw logging on
sudo ufw -f enable
sudo ufw status

Step 3: Retrieve and run the setup script

If you’ve been following the Ambrosus github, you’ll notice a project called ambrosus-nop. This is the tool created by the Ambrosus Technical team to facilitate onboarding your masternode.

Let’s start by downloading this tool into our server. Run the following commands:

wget https://nop.ambrosus.com/setup.sh
chmod +x setup.sh

The first command beginning with wget is a utility that retrieves the content of the setup script and related files we’ll need

The second command, chmod simply changes the permissions of the .sh file so that we’ll be able to run the script. The “x” is for executable

Now let’s run this script, its an interactive script so have you’ll be using your up/down arrows along with the enter key to make your selections.

./setup.sh

Options to select:

  • Main network
Image for post
Image for post
  • Create a new key — this is an Ethereum wallet in case its not clear, we need to either provide a key to an empty wallet we’ve created elsewhere or more simply we can just let the script create the new public/private key for us. We will choose the latter.
Image for post
Image for post
Address Private Key generation

IMPORTANT: Do not enter the private key to your Ethereum cold wallet, you will be creating an entirely new wallet above to use with the network

  • Select your node type and tier
Image for post
Image for post
Node type selection
Image for post
Image for post
The node tiers shown are Atlas tiers.

Important: in order to run an Apollo node it requires a minimum stake of 1 million AMB. Apollo Spots are limited, its best to check with the team if there are still available spots in advance (tech@ambrosus.com).
All Atlas nodes tiers are fully permissionless without any cap.

  • URL
Image for post
Image for post

http://<droplet_ip_address> — enter in the IP address of your server. Don’t forget the “http://” prefix. This is how the network will be able to reach our node. Do not use https:// as that is currently not supported.

  • Email address

You have now finished the main installation. In the background the installer has created a file called state.json. This file stores the result of the script you just completed, in here you can find the private and public key to the wallet you had created. Do not share the private key with anybody!

View the contents with the following command
nano ./ambrosus-nop/state.json

Save your address and private key securely for example in a password manager ! You will need it later to import into the MetaMask wallet.

At the end of this section you have:

  • Downloaded the ambrosus-nop tool onto your VPS
  • Completed the initial setup steps
  • Stored your node address and private key safely
  • Sent a request for whitelisting (by completing the setup)

Setup MetaMask

First, download MetaMask to your browser if it is not already installed. https://metamask.io/

Recall the wallet we previously created in Step 3 as part of running the setup script. Let’s start with importing our new wallet into MetaMask.

First click on the MetaMask extension in your browser, it asks you to create a new wallet or import one with a seed phrase. Since we don’t have a seed phrase for our wallet, just create a new wallet to get to the next screen.

After creating an account, click on the Account button in the upper right corner, you’ll probably have a colorful image there, and select import account.

Here you’ll paste in the private key to your wallet. See below if you are unsure how to get that.

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

If you are looking for your private key, recall the state.json file that was created on our server. In that file you can find your private key. Paste that into the form and click import.

Now our wallet is imported into MetaMask. Theres one more step before we send our tokens over, we need to add the Ambrosus Network.

Complete Step 2 in Vlad’s post and return here https://medium.com/@vladtrifa/how-to-connect-to-amb-net-with-metamask-6964c71e217e

Step 4: Convert ERC-20 to mainnet using bridge (swap)

If you have bought your AMB tokens on Binance you need to swap your ERC-20 tokens into native AMB. In this section we’re going to convert these tokens to native AMB which we’ll be able to use in the mainnet.

Note: If you have your coins on KuCoin , Probit or P2PB2B exchange in native AMB you don’t need to swap and you can continue at step 5 to send them directly to your node address.

Send the tokens from Binance over to your wallet address from step 3. Navigate to the tokens tab and then click on “Add token”. Also, send some Ethereum to cover gas fees, something like 0.05 would suffice.

Image for post
Image for post
Image for post
Image for post

Enter following data:
Token contract address: 0x4dc3643dbc642b72c158e7f3d2ff232df61cb6ce
Token symbol:AMB
Decimals of precision: 18

Click “Add” and you will be able to see your Amber.

Once you’ve received the tokens in your wallet, all you need to do next is send it over the bridge.

Open MetaMask and click the Network dropdown at the top, change it to Main Ethereum Network. Navigate to https://bridge.ambrosus.com and click on transfer AMB click on proceed with MetaMask.

Notice the top is Ethereum and the bottom is AMB-NET. If your page does not follow that ordering ensure you have switched your MetaMask network to be connected to Ethereum.

Be sure to accept the transaction on MetaMask. If the transaction seems to be taking too long, you can configure the gas amount by navigating to your MetaMask page and clicking on the transaction in flight. From there you should be able to tweak your gas.

Step 5: Send tokens

With MetaMask configured and bridge completed or having native AMB already from Kucoin/P2PB2B, you can now send your stake for the masternode you are onboarding to the public address of your wallet from step 3. For example, for Atlas Omega that’s 75,000. To ensure we cover any additional fees, I would send an extra 300 tokens (total of 75,300).

Step 6: Whitelisting email

Once the transfer is completed you can send a whitelisting request to tech@ambrosus.com (subject Atlas Omega Whitelist Request).

Enter the output from the command below in the email, you can copy by selecting and right mouse click in the Putty window and paste in the email body.

cat ./ambrosus-nop/output/TOS.txt

{
network: main,
address: 0x123456789
role: Atlas Omega
email: youremail@gmail.com
url: http://127.0.0.1
...
}

Afterwards wait until whitelisting confirmation by the tech team, usually it takes 24 hours (weekdays).

Running Your Node

Step 7: Finishing the setup

Once you’ve heard back from the team with your whitelist confirmation, you are ready to run your node!

Connect to your VPS and run the following script. Note this script is different than the one we previously ran. Refer to the previous steps if you forgot how to connect to your VPS.

./setup2.sh

Go through the interactive menu again and select any that apply to you. Once you are done with the script you’ll be officially onboarded!

You should be able to see your public address in the list of masternodes. It is sorted with the top being the most recently onboarded nodes. The node will be starting to sync the blockchain now, which can take up to roughly 4 hours.

https://explorer.ambrosus.com/atlas
https://explorer.ambrosus.com/apollo

If you would like to see how many bundles you’ve successfully stored so far (Atlas) or to see your block rewards (Apollo) simply search your address in the explorer.

Congratulations, you’re officially an Ambrosus masternode operator!

Final Comments

Restrict access

As an extra security step, you can decide to restrict root access via SSH. This will prevent hackers from stealing our information and gaining access to our server. The first step to doing this is creating a new user that you will use to login, followed by restricting access to anyone trying to login to our server using a username and password. You will instead connect to the VPS using SSH keys as mentioned above.

Here is a good doc that covers the steps needed to take on our Ubuntu environment.

Backup Wallet/Key
Be sure to backup your private/public key to the address we created. If you have a password manager, create a secure note. Even better, store it securely offline on paper.

Monitor for Node software updates
Your node has an automatic update function. However keep an eye on slack and the telegram channel for required updates.

Monitor for OS Updates
Ubuntu regularly has OS updates that you need to install. Make sure to keep your VPS OS up to date using:

sudo apt update
sudo apt upgrade
Reboot the system if kernel was updated by typing sudo reboot command.

Hall of fame
Thanks to subliminal-amb for creating the original guide.

Migration & Other providers
Not looking to host on Hetzner? There are more guides available for other cloud providers.

Already running a node on another cloud provider? Use this link on how to move your existing Atlas server. Apollo migration instructions here.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store