Essentia Mainnet is Live! Set-Up Guide

Essentia
Essentia
Oct 29, 2019 · 8 min read

The Essentia Mainnet is officially launched on October 28, 2019, when the first block was forged. Yesterday, we devoted all our efforts to running and testing it to make sure the network is working perfectly smooth and without any hitch. Today, we couldn’t be more delighted to announce that, thanks to the support of our community, we have hit the biggest milestone since the beginning of the project.

Essentia has always been passionate about providing our users with efficient solutions to simplify their blockchain technology leverage. Lead by this goal, during the last couple of years we have achieved great results, including the release of the Desktop and Mobile applications — manager allowing everyone to take their crypto lives wherever they go. It was truly an exciting journey seeing all the support and belief that our community has been showing through the years of development and growth. We managed to gather over 32k active users across all Essentia’s platforms, established more than 15 partnerships, and visited more than 20 significant events.

Now, we have come a step further. Our own blockchain.

Though it is a huge step towards the decentralized world we all dream about, it is only the beginning. We will continue working towards our goals, as well as refining, testing and updating the network we have put out. Stay tuned for the future ahead!

What is the Essentia blockchain?

Essentia is an open-source peer-to-peer network with Proof-of-Stake (PoS) consensus algorithm and masternode functionality focused on decentralization and real-world use.

PoS is a type of protocol that is used to create ESS that is distributed to stakers as a reward for validating transactions. The first 100 blocks of the Essentia blockchain are created via PoW, all next blocks — PoS.

In order to get more information about the state of the blockchain, remember you can always visit the Essentia block explorer.

Requirements

Masternodes:

In order to install and run a node on your device, there are some basic requirements you need to meet. Those are:

Unix OS Ubuntu 16.04 and later
at least 2GB of memory.
at least 40GB hard drive.

In order to set up a masternode and participate in the Essentia network you will need:

Note: To set up a node, you will have to firstly swap your tokens for coins. The token swap procedure will be available in just a few days. While we wait for that, make sure to get familiar with the detailed installation guide below.

Guide

How to set up the node on all platforms using Docker?

Install docker on windows (only for professional edition) https://docs.docker.com/docker-for-windows/install/

Install docker on Mac

https://docs.docker.com/docker-for-mac/install/

Install docker on Linux

https://docs.docker.com/install/linux/docker-ce/ubuntu/

2. Open PowerShell program with admin privileges

(for other systems open terminal with root privileges)

and copy this command:

docker run — name essnode -d -p 8080:8080 -p 41312:41312 -p 41313:41313 devess/essd:latest

And press ‘Enter’.

To check if the node started successfully you can use this command:

docker ps

The output should be like this:

IMAGE devess/essd:latestCOMMAND “/entrypoint.sh”CREATED 56 seconds agoSTATUS Up 55 seconds -> this means that node is livePORTS 0.0.0.0:8080->8080/tcp, 0.0.0.0:41312–41313->41312–41313/tcp NAMES essnode

To connect to the node command-line interface use this command:

docker exec -it essnode bash

To stop the node use this command:

docker stop essnode

To start the node use this command:

docker start essnode

To copy files from a docker container, use this command:

docker cp essnode:<absolute file path> <local folder>

For example, to copy wallet.dat to the current local directory use this command:

docker cp essnode:/root/.ess/wallet.dat .

To copy files to the docker container from the local filesystem use this command:

docker cp <local file path> essnode:<absolute folder path>

For example, to copy wallet.dat to the current local directory use this command:

docker cp wallet.dat essnode:/root/.ess/

Note: To install the node on Windows home edition you can use Ubuntu subsystem installed on Windows and then set up the node following the guide or via docker.

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. Edit file ~/.ess/ess.conf with your custom values (inside the container (cd ~/.ess) use command nano masternode.conf):

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.

1. Make a collateral transaction to allocate funds using ess-cli tool. This transaction will cost 10 ESS coins.

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 the remote node:

add the next lines to the file ess.conf:

masternode=1
externalip=
<masternode_ip>:<port>
masternodeprivkey=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.

That’s it! Your masternode is up and running.

Masternode Setup FAQ

Is the command ‘ess-cli’ available in any location?

Yes. But if you installed a node using docker this command must be replaced with this one:

/ess/ess-cli

How can I send all my coins from the desktop app to the node wallet?

The preferable way is to export the private key from the app and import it to the node using this command:

ess-cli importprivkey “key”

Note: Remember if you backup your node wallet (any method) this imported private key won’t be included in this backup.

How do I check the wallet balance?

You can do that using the command:

ess-cli getwalletinfo

or

ess-cli getinfo

How do I find my node address?

You can find a list of your accounts using:

ess-cli listaccounts

and then find addresses of some of the accounts:

ess-cli getaddressesbyaccount “account”

For example, for default account the command will be:

ess-cli getaddressesbyaccount “”

How can I get the private key from the node:

You can do that with the command:

ess-cli dumpprivkey “address”

Where are the configuration files, backups, blockchain data, etc stored?

Everything related to the node is stored in the .ess directory. The full path is:

/home/root/.ess

Or you can try to find this directory using the command (For Unix OS):

find / -type d -name ‘.ess’ | grep .ess

How do I encrypt the wallet?

You can do that with the command:

ess-cli encryptwallet “password”

How do I unlock the wallet (for staking or sending coins)?

You can do that with the command:

ess-cli walletpassphrase “password” 9999999

* the last argument is time in seconds

How do I backup my wallet?

You can simply save the file wallet.dat (not includes imported addresses) from .ess directory to a safe place.

How do I backup hdseed/mnemonic of my wallet?

You can do that using the command:

ess-cli dumphdinfo

I don’t see my balance/My coins disappeared.

Most probably your node is not synced with the blockchain.

First, you need to check the block count in your node:

ess-cli getblockcount

or

ess-cli getinfo

If the block count does not match to the last block in blockexplorer https://blockexplorer.essentia.one/ it means that the node is not synced.

First of all, make sure that you did a backup of your wallet.

Then stop the node:

ess-cli stop

Then we are going to do a full resync, so we need to remove all blockchain data except config files, you can do that using the command:

find /home/root/.ess -not -name ‘wallet.dat’ -not -name ‘ess.conf’ -not -name ‘masternode.conf’ -delete

*/home/root/.ess is the path of .ess directory and can be different.

Then start the node:

essd

And wait for synchronization:

ess-cli getblockcount

If you want to check status of your masternode you can use our Blockexplorer:
https://blockexplorer.essentia.one/masternodes
or this command from the control node:

ess-cli llistmasternodes

You will be able to found your masternode in this list, if not, make sure that your masternode is live and execute this command (from control node):

ess-cli startmasternode <alias>

Here’s a little hint: the token swap is already being prepared, so stay tuned for more following announcements! If you have any questions regarding the mainnet set up, or anything related to the project, do not hesitate to reach us via our official Telegram channel!

Connect or Contribute

Website|Telegram | Twitter| Reddit

Essentia One

Essentia is the decentralized data management framework.

Essentia One

Essentia is the decentralized data management framework. Forged by a set of protocols. Forming Essences. Inside them, users own their data, identity and communications, enabling new powerful interactions.

Essentia

Written by

Essentia

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

Essentia One

Essentia is the decentralized data management framework. Forged by a set of protocols. Forming Essences. Inside them, users own their data, identity and communications, enabling new powerful interactions.