Essentia Mainnet is Live! Set-Up Guide

Essentia
Essentia One
Published in
8 min readOct 29, 2019

--

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:

  • Mercury masternode (allocation of 100,000 coins and more).
  • Mars masternode (allocations of 300,000 coins and more) — previously known as a Supernode. Available for private contributors only. If you are a pre-sale contributor wanting to set up a Mars masternode please contact us at support@essentia.one.

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:

  • To stake coins: you need to lock in a minimum of 10,000 coins in your wallet. The coins then cannot be spent or moved.
  • Computer Equipment or a Virtual server: you can dedicate a separate computer just for the masternode (though it is not a must) or set up a virtual server instead. One of the benefits of PoS as opposed to PoW is that you’re not forced to operate heavy hardware, but would be able to start earning node rewards with light equipment. Though, keep in mind that you’ll have to be connected to the internet at all times.
  • Internet: make sure that your Internet connection is fast enough to run a masternode, meaning keeping your copy of the blockchain constantly updated and being in contact with your peer nodes.

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?

  1. The most preferred way of installing the Essentia node would be using the Docker. If you choose this way, then install the Essentia node via docker (for all platforms):

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
Essentia One

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