Enevti Protocol Testnet Launch!

Enevti.com
Enevti.com Blog
Published in
7 min readJan 25, 2023

--

Enevti Protocol Testnet Launch!

After 740 commits on the enevti-app repo and 234 commits on the enevti-core repo, we are super excited to announce that Enevti Protocol has launched its Testnet network, available as Docker Images!

It’s always been our dedication to making #NextEvolutionOfNFT easy for mass adoption! After several feature developments starting from MVP, wallet, on-chain social interaction, NFT utility video call, and proof-of-redeem, now is the time for us to go deeper into the true power of web3, which is decentralization. Therefore, we are excited to announce that the Enevti Testnet network is LIVE, since January 15, 2023!

As explained in our whitepaper, as an app-specific chain that implements the DPoS consensus algorithm using the Lisk SDK, Enevti’s blockchain is highly efficient, scalable, and environmentally friendly. Anyone can participate in the Enevti protocol by running their own enevti-core node, even later they can also become validators and get block rewards. Of course, to support mass adoption, we designed the Testnet deployment process to be as easy as possible.

Through this article, we will explain how you can run an Enevti Testnet node through docker images or building from source, set up a validator node, as well as give you a glimpse of what we’re going to do next!

Run an Enevti Testnet Node Through Docker Image (It’s Super Easy!)

Containerization through Docker makes deployment super easy! (Source: Pexels)

Our recommended way to run the Enevti Testnet node is via a Docker Image. Why? Because the process is much easier, and only takes about 5 minutes! To be able to follow this guide, make sure you have Docker properly installed on your system.

Are you ready? To be able to run the Enevti Testnet node, you just need to run the following single command:

docker run -p 5000:5000 --name enevti-core enevti/core:latest

The image-building process takes only about 5 minutes, after which the node will be automatically configured to connect to the Enevti Testnet Network. Congratulations, you just deployed an Enevti Protocol Testnet node! Easy right?

Look how easy it is to deploy the Enevti Testnet node using docker!

To find out more about additional configuration, feel free to visit the enevti/core Docker Hub page!

Run an Enevti Testnet Node by Building From Source

Building Enevti from our GitHub repo is no less cool! (Source: Pexels)

If you want more flexibility, or want to run the Enevti node without using docker, of course, you can build enevti-core from the source! Although it’s not as easy as deploying through docker, we assure you that the process is still fun! One more thing, the following guide is specific for Ubuntu OS and Mac OS!

Step 1: Setup Dependencies

Before running Enevti Core, make sure you have installed NodeJS version 16! However, if you are on the Mac M1 series, NodeJS must be above version 16! The easiest way to manage NodeJS installation is by using Node Version Manager (NVM).

Then, to be able to build the required modules, you need to set up build tools. If you are on Ubuntu OS, make sure your system already has build-essential installed, by running the following commands:

sudo apt-get update
sudo apt-get install -y build-essential

However, if you are on a mac-based system, we recommend you install the Homebrew package manager, and make sure your system has the required tools installed, by running the following commands:

brew install libtool cmake autoconf automake pyenv
pyenv install 2.7.18
pyenv global 2.7.18

Then, you need to add eval “$(pyenv init --path)“ to your shell configuration!

Step 2: Installation

Ready to install Enevti Core? To install Enevti Core from the source, you can run the below commands:

git clone https://github.com/enevtihq/enevti-core
cd enevti-core
npm install

Step 3: Setup Permission

Make sure you have to execute permission for ./bin/run:

chmod +x ./bin/run

Step 4: Start

Finally, run the Enevti Core using the following command:

./bin/run start --network testnet

Not that hard, right? If you want to learn more about the configuration, or if you want to deploy the node with additional off-chain service data, you can visit the enevti-core documentation in our official repository.

Setup a Validator Node (Advanced)

Ready to do some advanced stuff? (Source: Pexels)

If you are interested in participating in the Enevti blockchain consensus to operate the network and further earn block rewards, you can become a Validator! There are certain things that need to keep in mind, in the Enevti consensus mechanism, only the top 101 validators with the most stakes can participate in the consensus. In this section, we will explain briefly how you can set up validator nodes.

Step 1: Setup Validator Account

Only accounts that have been set up as validators can validate blocks. Actually, setting up the validator account is the same as setting up the NFT creator’s account in the app, and that’s why for this process we recommend you do it through the app.

Setting up your creator account means you are one step closer to becoming a validator!

Please keep in mind that you need at least 1000 ENVT self-stake to be eligible as a validator. Thankfully, if you use the app, you will get a test coin easily! Not to mention, that you can get staked by other people too!

Create a new account, copy the passphrase & hex address, and get testnet coins!

Do you notice the game here? This mechanism means that we encourage Enevti Protocol as a network that is operated by creators, from creators, and for creators. That sounds like an interesting idea, right?

Step 2: Setup Configuration Files

To set up configuration files, first, you need to copy the default testnet config. If you are building from source, navigate to the root of the enevti-core directory, then, we recommend downloading the testnet config from the enevti-core repo using a library like curl:

curl -o config.json https://raw.githubusercontent.com/enevtihq/enevti-core/main/config/testnet/config.json

Then, you need to generate validator configuration data. If you are using docker, you can execute the following commands:

docker run --rm enevti/core:latest forging:config -p "your twelve passphrase here" -w mypassword --pretty > validator_config.json

However, if you are building enevti-core from the source, you can execute the following commands:

./bin/run forging:config -p "your twelve passphrase here" -w mypassword --output ./validator_config.json

Please replace your twelve passphrase here with your validator account passphrase created in step1, and replace mypassword with your specified password, you will need this password when you enable forging later!

After that, you need to insert the value from validator_config.json to .forging.delegates variable insideconfig.json. To make life easier, we recommend using jq. After installing it, you can run the following commands:

TEMP_FILE=$( mktemp )
jq --argjson validatorConfig "$(<validator_config.json)" '.forging.delegates += [$validatorConfig]' config.json > $TEMP_FILE
mv $TEMP_FILE config.json

Open config.json, and verify the .forging.delegates value has been updated!

And finally, use this newly created config.json when you run an enevti-core node. If you are using docker, run the following commands:

docker run -p 5000:5000 \
--name enevti-core \
-v {path-to-config}/config.json:/home/enevti/enevti-core/config/testnet/config.json \
enevti/core:latest

Or, if you are building enevti-core from the source, replace old configuration files with the new ones, by running the following commands:

mv config.json ./config/testnet/config.json
./bin/run start --network testnet

Pheww, that’s a lot to cover! Hope you have fun doing all of these steps!

Step 3: Enable Forging

Oops, we are not done yet! The final step is to tell your node to enable forging. To do that, first, make sure that your node is running and fully synchronized with the network! Then, if you are using docker, run the following commands:

docker exec -it enevti-core ./bin/run forging:enable 9bd82e637d306533b1e1ad66e19ca0047faa1a6a 0 0 0

Or, if you are building enevti-core from the source, run the following commands:

./bin/run forging:enable 9bd82e637d306533b1e1ad66e19ca0047faa1a6a 0 0 0

Please replace 9bd82e637d306533b1e1ad66e19ca0047faa1a6a with your Hex address created in step1. Please note that you will be prompted to input a password that you specified in the step2 above. You can also refer to Lisk's official documentation for further reference.

Congratulations, your node is now a Validator Node! 🎉

What’s Next

Your feedback will help us build the best web3 social media, ever!

We have worked very hard to develop Enevti.com, from the mobile apps to the blockchain aspect. And from the whole process, we are very aware that YOUR feedback and suggestions are very crucial.

Therefore, our main goal in releasing the Testnet is to gather as much feedback as possible, especially from the decentralized aspect of this protocol. For this reason, we also created a feedback form that you can fill out through the following link:

https://link.enevti.com/testnet-feedback-en

From this survey, we will map priorities about what features we will develop next for MAINNET(Thank you for filling out the form, we really appreciated it)

Additionally, you can experience our Testnet through our newly created Alpha App v2, which can be downloaded for Android through the following link:

https://link.enevti.com/android-alpha-v2

Please keep in mind, since this is a testnet, there will be no persistence guarantees, and tokens in the test network will not be transferable to the mainnet in any way. We expect we’ll need to regenerate the genesis block and reset the Testnet network periodically. So if you found any bug or trouble, please open an issue on our GitHub repository for enevti-app or enevti-core. Together, we can strive for #NextEvolutionOfNFT!

What do you think? Excited to know more about Enevti.com? Check us out on:

Official Website: https://enevti.com/

Official Blog: https://blog.enevti.com/

Medium: https://enevti.medium.com/

GitHub: https://github.com/enevtihq

Twitter: https://twitter.com/enevtihq

Discord: http://chat.enevti.com/

Instagram: https://www.instagram.com/enevtihq/

--

--

Enevti.com
Enevti.com Blog

Award-winning web3 social media super-app that connects creators and fans through redeemable NFTs