Essentia Testnet: Node & Masternode Set Up Guide

Essentia
Essentia One
Published in
5 min readMay 3, 2019

The testnet is now live! The day has finally come and you can already join the Essentia network. But before that, we recommend you follow the given instructions precisely to avoid any inconveniences on the later stages.

This article will provide a step-by-step guide to prepare everything you need to interact with the testnet — how to set up a node, and masternode.

Requirements

Devices:

  • A primary computer, which can be turned on and off without affecting the masternode.
  • A masternode Server (VPS with a unique IP address) to be powered 24/7.

Note: you can use whichever VPS you prefer for running the masternode.

Technical requirements:

  • Unix OS (we recommend Ubuntu 18.04).
  • at least 2GB of memory.
  • at least 80GB hard drive.

Tokens to be locked:

  • For Staking: 10,000 ESS
  • For a Mercury masternode: 100,000 ESS
  • For a Mars masternode: 300,000 ESS

Note: if you want to both deploy a masternode and enable staking on one wallet, you will have to stake 10,000 + 300,000 (for a Mars masternode) = 310,000 ESS.

Specs

Consensus algorithm:

First 100 blocks — PoW,

All next — PoS.

Block size: 2MB.

60-second block — 10080 blocks/week.

Initial coin circulation: 617321166 ESS.

Just a reminder, you can already use the Essentia blockexplorer. This tool allows you to check all info regarding the blockchain, including blocks, wallet addresses, network hashrate, transaction data, and others. For more information about the Essentia Blockexplorer see here, or check out the tool itself through the following link: https://blockexplorer.essentia.network/.

How to set up a node on Linux OS?

1. Clone this repository.

git clone https://github.com/essentiaone/essx

2. Install required dependencies:

apt-get install git checkinstall build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev libdb-dev libdb++-dev

3. Run next commands:

cd essx
export BDB_PREFIX="$(pwd)/contrib/db4"
cd contrib/ ; sh ./install_db4.sh . ; cd .. ;
./autogen.sh
./configure --disable-tests --with-unsupported-ssl --without-gui LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/"
make
make install

4. Create file ~/.ess/ess.conf with content:

rpcuser=%username%
rpcpassword=%password%
daemon=1

5. Run node command:

essd

How to set up a masternode via terminal on Linux OS

Note: Please ensure you have sufficient coins for running a masternode. All numbers are specified in the first part of this article.

1. Make a collateral transaction to allocate funds using ess-cli tool.

ess-cli allocatefunds masternode mn23 marswhereallocatefunds — is command,masternode — purpose,mn23 — alias of masternode,mars — tier of masternode (Mercury or Mars).

The response to this command is a hash of the collateral transaction.

2. Wait until this transaction has 15 confirmations.

3. Run command:

ess-cli fundmasternode mn23 mars <hash_of_collateral_tx> <masternode_ip>

where

fundmasternode — is command,mn23 — alias of masternode,mars — tier of masternode,<hash_of_collateral_tx> — result of paragraph 1,<masternode_ip> — ip address of the remote server, where masternode will be running.

The result of this command will be a configuration:

mn23 <masternode_ip>:<port> <private_key> <hash_of_collateral_tx> <output_index>

where

mn23 — alias of masternode,<masternode_ip>:<port> ip address of the remote server, where masternode will be running,<private_key> — masternode private key,<hash_of_collateral_tx> — result of paragraph 1.

4. Stop the node via command: ess-cli stop.

5. Edit file masternode.conf:

Copy and paste the result of paragraph 3.

Now local node is configured.

6. Configure remote node:

add the next lines to the file ess.conf:

masternode=1externalip=<masternode_ip>:<port> from paragraphmasternodeprivkey=private_key from paragraph 3.

7. Start masternode.

On local (control) node run command: ess-cli startmasternode mn23

where

startmasternode — command,mn23 — masternode alias.

To check if it is successful, run command ess-cli listmasternodes. Masternode mn23 must be in the list of existing masternodes.

How do I get test ESS tokens?

To get test tokens you should:
- Download code from repository;
- Use this guide to set up and run the node;
- Get address via command:

ess-cli getaddressesbyaccount ""

and send it to the Essentia Testnet chat;
- The team will send coins to that address.

We’re working on the way to optimize the process of receiving the test tokens, we’ll update the community soon!

How to stop running a masternode/node?

To stop running the masternode: enter command “ess-cli stop” in the console terminal.

To stop running the (control) node:

1) enter command “ess-cli stop” in the console terminal;

2) delete config line in masternode.conf;

3) restart control node.

Suggestions?

If you’d like to contribute to the development of the Essentia blockchain follow the next steps:

  1. Fork the Essentia One blockchain public repository;
  2. Make your improvements;
  3. Create a pull request to the main repository. Done!

We will take into consideration all of the requests before releasing the Essentia mainnet!

That’s it for now! If you have questions or need any support please contact us in the dedicated Telegram channel here!

Connect or Contribute

Website| Telegram | Twitter| Reddit

--

--

Essentia
Essentia One

Decentralized data management framework. With one seed, you can control all of your dApps, identities, and assets. Website: essentia.one