Step 1: VPS Server

Get yourself a VPS (Virtual Private Server) with a minimal of 4GB RAM or recommended 8GB. (For example: https://contabo.com/?show=configurator&vserver_id=221)

  • Choose your OS  (I did choose for Ubuntu 18.04)
  • Pay the first month and the VPS will be prepared for you
  • After a while you will receive an email with your login information

Step 2: Login on your VPS

  • Click on open
  • Now you get a message to login. Login with the credentials that you get in the email.
    Mostly something like (root) (password)
  • After logging in you are in your machine.

Step 3: Update the OS

Before we can go further, you should update your OS to the latest version.
Commands:
apt-get update
apt-get upgrade

Step 4: Additional software

We need to install some additional software on the machine.
Commands:
apt install -y software-properties-common
apt install -y build-essential
apt install -y nano

apt install python-pip
pip install base58

Step 5: Installing Java Development Kit

Java development is an requirement to have otherwise Waves will not work properly. It only works with Java 1.8 so DO NOT install the latest Java version!

  • Commands:
    add-apt-repository -y ppa:webupd8team/java
    apt update
    apt install openjdk-8-jdk
  • Check if you have the right version.
    Command:
    java -version

Step 6: Waves Repository

Now we will download the latest repository of the fullnode.

Step 7: Install Waves

When you have completed step 6 you will have a new file in your home directory named waves_(version)_all.deb. This is the file we will install right now!

Put in the command:
dpkg -i waves_(version)_all.deb

Example
dpkg -i waves_1.0.2_all.deb

Step 8: Create waves wallet

It is recommended to create a separate wallet for your node!

Step 9: Encode your seed

Your seed should be encode with base58 so the system will understand your seed. In this step we explain you how to do so.

  • Create a new file named “base58script.py”:
    nano base58script.py
  • Copy the following information in the file:
    import base58
    seed = “YOURSEEDHERE”
    encoded_seed = base58.b58encode(seed)
    print(encoded_seed)
  • Retype the + fill in your seed!
    Be aware! If you copy and paste the above rows the won’t work because the layout is different. Retype the so the seed will be marked in green. See example below:
  • Saved and close the file (CTRL S + CTRL X)
  • Activate your new script by the following command:
    chmod u+x base58script.py
  • Run the following command to get your seed:
    python base58script.py
  • Keep that Base58 string (we need it in Step 10)

Step 10: Configuring Waves

  • Open the configuration file by the following command:
    nano /usr/share/waves/conf/waves.conf
  • Go to “node-name” and remove the “#” following with defining your own node name.

Before:

After:

  • Changed the “declared-address” to your public IP address of your node (same as step 2)

Before:

After:  

(Don’t remove or change the “:6868”)

  • Change the password in the file (between the “”)
  • Add your base58 (what we get on step 9) in the Seed section. (don’t forget to remove the “#” here as well)

Before:

After:

(This is just an example – NEVER Share this information with someone else!)

  • Change your “REST API” from NO to YES

Before:

After:

  • Change the bind-address to your public IP Adress

Before:

After:

  • Save the file and exit.

Step 11: Start Waves Node

  • You can start the Waves Node by the following command:
    service waves start
  • Check if you don’t receive an error by running the following command:
    journalctl -u waves.service -f

If you see the following, than everything went well and your node is verifying transactions/blocks!

  • Close the screen by using the following key combination : “ctrl C”

Step 12: API-key-HASH

You can find your API key hash by the following steps:

  • Open your browser and fill in your Public IP address (without “www” or “http”)
  • Now “Swagger” will open
  • Choose for “Utils”
  • Choose for “/utils/hash/secure”
  • Put in the message field your “password”
  • And Click on “Try it Out!”
  • Now you see your hash in the “Response Body” section
  • Copy your hash
  • Go back to the waves config file
    Command:
    nano /usr/share/waves/conf/waves.conf
    Replace the api-key-hash with the one you copied.

Before:

After:

  • Save the file and exit
  • Restart the waves service
    Command:
    service waves restart
  • Check if the node is running normaly (same as step 11)
    Command:
    journalctl -u waves.service -f

Step 13: Installation is Completed!

The node is syncing right now to the latest block height that you can found on www.wavesexplorer.com.

When the node is at the same height as the latest block, your node will join mining new blocks (if there are at least 1000 waves leased to this wallet)!

After a few minutes you will see your node in the list at pywaves. (http://dev.pywaves.org/nodes/) This means he is working well and you will also see the latest status of your node over there. 

Questions or need help ?

I hope this manual was clear and easy to understand and of course we hope you complete the installation without any problems!
If you have any questions or need any help, contact us and we will help you out!

Add your Comment