Run a Validator node

Setting up a Parex Chain Validator node

What is a validator node?

To become a Parex Chain validator, you are required to have specific hardware setup and be able to run a Validator node. A node is a computer system set up specifically to validate transactions before committing them on the Parex Chain.

Launch the Validator

To run a Validator node, you need to set the following parameters:

  • #Download mainnet.tar.gz

wget https://github.com/ParexChain/Mainnet_PEP20/raw/main/mainnet.tar.gz
  • #extract files

tar zxvf mainnet.tar.gz
  • #create datadir

mkdir geth_data

## TL;DR To create a new account on the node, you must use the following code.

./geth --datadir  ./geth_data account new

After running the account creation code, you will be presented with the password setting screen. You need to set a strong password to create a new account.

Once the password is determined, an account will be created. The created password must be written to the password.txt file.

  • This is a security precaution. Your password is saved in the password.txt file so that it is not explicitly executed in the command. Thus the password is unlocked.

  • The new account created can also be added to metamask. It can be imported into metamask with the json file and password found on the server.

Please make sure to securely back up the JSON file and your password for wallet recovery. This precaution helps prevent asset loss and protect the information needed to ensure account access. We kindly ask you to heed this warning to protect your account security and prevent asset loss.

Transfer 77,000 wPRX to the new account created. Validator deposit fee is 77000 WPRX. It will be locked for 1 year. The lock can be unlocked after 1 year and withdrawal can be made after 30 days. And then the node is initialized with the following command. (In the section labeled "0xYour_address" you must remember to write the address of the account you just created)

  • #init genesis.json

./geth --datadir geth_data init genesis.json
./geth  \
--config ./config.toml  \
--datadir ./geth_data  \
--cache 16000 \
--rpc.allow-unprotected-txs \
--txlookuplimit 0 \
--http.api=eth,net,web3,personal,miner \
--syncmode full \
--unlock [your_miner_address] \
--password ./geth_data/password.txt \
--mine \
--allow-insecure-unlock \
--gcmode=archive \
--miner.etherbase [your_miner_address]

There is a point to be considered here. If the - -http.api parameter is used to open api as in the command, port 8545 (http api port) must be inaccessible from outside. Since it is unlocked on the Signer adress node, it allows transfers through the address if accessed from outside. Therefore, access to this port should be closed. Or if it is not necessary, especially the "personal" api should not be opened.

Port 8545 can be closed with iptables tools.

Also tcp/udp address 30303 must be externally accessible.

Validation process

After the node is initialized in this way, the signer address is reported to the network administrators.

After the necessary check, the network administrators submit it to the other signers for approval.

After all signers approve, the node starts to work as a signer node and performs block validation on its own turn.

Prerequisites

To run the Parex Chain validator node, you must have Linux or Ubuntu operating system on your machine or server. The minimum amount required for a validator to join the network is wPRX 77,000.

System requirements

You will need a dedicated server to run your validator node. This server should have at least 16GB RAM, 8 CPU cores and a solid state drive (SSD) for optimal performance. It is recommended to have at least 1024 GB of free disk space to synchronize with the chain. You can use a cloud provider such as Amazon Web Services, Google Cloud Platform or Microsoft Azure, or you can set up your own server.

Note: System requirements will need to be updated as the Parex Chain network grows.

Validator Income

In Parex Chain, fees generated from all transactions and service fees collected from stake operations are distributed to validators using the following formula.

Last updated