Gladios opens third round of node public testing | Practical Section

Ares Protocol
9 min readMay 31, 2022

The third round of the node test of Gladios will be officially open to the public on June 1st. What does the node need to do to join the test? You need to complete the following steps:

1. Deploy/update the validator node program

2. Set the latest Session Keys

3. Pass the validation verification and produce the blocks and quotes continuously

Node activation reward

From June 1st, we will collect the online status of nodes on working days based on the Gladios validator penalty mechanism. It needs to run 24 hours a day, and currently supports Linux systems and Docker to run nodes. This node testing round will last for 10 working days (two weeks), with a reward of 1000 ARES/day given every day. For those penalized nodes, the daily reward is halved, that is, the reward of 500 ARES/day.

Please make sure you are in our node telegram group (Ares Protocol Node Miner) so that we could send you the latest information and rewards in a convenient and timely manner.

Node telegram group:

https://t.me/AresProtocolNode

Instruction for beginners

Get test coins

At present, the Gladios application channel for test coins is open. You can first create a Gladios account and then claim 1000 ARES/day of test coins on the Telegram faucet via @AresProtocolBot. (The release of test coins is only for testing the operation experience on the testing network without any actual token value.) This will help your node to staking and produce blocks on Gladios.

How to create a Gladios account:

https://docs.aresprotocol.io/docs/en/account

Instruction for getting test coin:

https://docs.aresprotocol.io/docs/en/claimTestCoins

Staking

Step one:

As shown in the picture above, enter the Staking page and click on the Account actions button and the Stash button.

Step two:

Select the stash account and the corresponding controller account. The stash and the controller can be the same account, however, this is not recommended in practice. Fill in the amount of value bonded as required, then the staking value will be deducted from the stash account.

· The stash account can be regarded as your cold wallet, and all operation of funds is controlled by the stash account.

· Other non-fund operations are done by the controller account (such as setting session keys, setting commission, participating in voting, releasing pledges, etc.)

· Do not use all the available balance for staking as you would need to reserve some for the transaction fee.

After filling in the above information, click the Bond button to complete the staking operation.

Validator node program upgrade/deployment

After you complete the staking, you need to upgrade/deploy the validator node. The validator nodes who have participated in the test should be notified that the current upgraded version of the node program is no longer compatible with the old version, and historical data needs to be cleared.

Node program update/deployment

Method 1: Download the node executor program

If you are using the node program, please use the following command to update

1. The executable gladios-node binary document

wget -c https://github.com/aresprotocols/ares/releases/download/v1.3.3/gladios-node-linux-amd64-1.3.3-f8b1d5d

2. Add execute permission

chmod 777 gladios-node-linux-amd64–1.3.3-f8b1d5d

3. Execute the node

./gladios-node-linux-amd64–1.3.3-f8b1d5d — base-path data — name Ares_Emily0626_0xA86ed7899330DF48316E2A2842D5aD13F031Ab11 — telemetry-url ‘wss://telemetry.polkadot.io/submit/ 0’ — warehouse http://api.aresprotocol.io — validator

· Please use the previously-specified base-path directory

· Please fill in your-name in the form of Ares_TelegramUsername_bsc address. For example: name Ares_Emily0626 (node ​​tg group username) _0xA86ed7899330DF48316E2A2842D5aD13F031Ab11 (BSC address)

· warehouse parameter (required): used to specify the IP address of ares quotation server

· validator parameter (required): used to start a validator node

Method 2: Run the Docker node program

1. Stop the previous Docker program and data

docker stop ares_gladios

2. Remove the previous Docker program

docker rm ares_gladios && docker rmi aresprotocollab/ares_gladios:latest

3. Docker run the new node program

docker run -d — name ares_gladios -p 9944:9944 aresprotocollab/ares_gladios:latest gladios-node — name your-name — chain gladios — telemetry-url ‘wss://telemetry.polkadot.io/submit/ 0’ — warehouse http://api.aresprotocol.io — validator

· Please fill in your-name in the form of Ares_TelegramUsername_bsc address. For example: name Ares_Emily0626 (node ​​tg group username) _0xA86ed7899330DF48316E2A2842D5aD13F031Ab11 (BSC address)

· warehouse parameter (required): used to specify the IP address of ares quotation server

· validator parameter (required): used to start a validator node

· -p: specify the docker port mapping

· -v: specify the docker storage mapping

4. View the program running log

docker logs -f ares_gladios -n 1000

Set Session Keys

CLI

Step 1:

curl -H “Content-Type: application/json” -d ‘{“id”:1, “jsonrpc”:”2.0", “method”: “author_rotateKeys”, “params”:[]}’ http://localhost:9933

Output

{“jsonrpc”:”2.0",”result”:”0x865cec2b50d8a16bff955c3f83501d7ed178a769f410c8557920964227cf55262be48db19f5ec8fc30706f68c7949768d9f9e943b5e4d019295b4da579618848b68b116b6e42dfd62162971efed83729f09582abd729b935a35dece66fb34615",”id”:1}

  • [result] is your [rotateKeys]. Keep them safe as they will be used in setting [session key].

Step 2:

Enter the Staking page and click the Account actions tab; select the account you need to operate and click Change session keys, then paste the public key obtained in the first step in the input box of the pop-up page, and click the Set Session Key button to confirm the submission.

Docker set Session key

Step 1:

docker exec -it ares_gladios bash -c “apt update && apt install -y curl && curl -X POST http://localhost:9933 -H ‘Content-Type: application/json’ -d ‘{\”id\”:1, \”jsonrpc\”:\”2.0\”, \”method\”: \”author_rotateKeys\”}’”

Output

{“jsonrpc”:”2.0",”result”:”0x74ed2791ab818797bc4a2caa78b01180cc52a5e95c8cd5286d2642b671c3986d00a93e91eaedd838f275f4c49f1c9a9c2525f7f34577c556f02bc357eddaa4dbf28ab5102be4fa22b6b8115765d290de0c6c91f37a265acecdf3782746bff32b”,”id”:1}

The obtained result is used for setting the Session Key in Gladios.

Validator node verification

Run the validator node

Enter the Staking page and click the Account actions tab; select the account you need to operate and click Validate, then set the reward commission percentage and allow new nominations on the pop-up page.

· Reward commission percentage sets the percentage of block reward commission (i.e. 10%, which means 10% of the block reward is earned by yourself, and the rest is distributed to the nominees proportionally. It is recommended that the commission setting should not be too high. The appropriate commission allows more people to nominate, so as to win the competition and become a validator (block node)

· Allow new nominations. The default is to allow nominations. If no nomination is allowed, you can only compete with others on the amount you stake alone. After completing the above operations, you would be able to participate in the block generation if you win the election.

Query the verification status of the validator

It usually takes 1–2 eras (6–12 hours). the validator waiting area will submit a review. If there is no problem with your configuration, you are allowed to become a validator node. If the maximum number of Validators is full (eg: 24/24), the technical committee members are required to increase the upper limit of Validators (eg: increase to 26).

Considering that there may be problems with your own configuration, you can check the verification status of the validator on the AresScan browser.

Validator Audit Page

https://aresscan.aresprotocol.io/ares/onchain/validator

When your validator verification result is [review], you need to click the [unpass] button to check the unpass information corresponding to your host key.

How to check host key

Use CLI

curl -H “Content-Type: application/json” -d ‘{“id”:1, “jsonrpc”:”2.0", “method”: “offchain_localStorageGet”, “params”: [“PERSISTENT”, “0x6172652d6f63773a3a6c6f63616c5f686f73745f6b6579”]}’ http://localhost:9933

Output example:

{“jsonrpc”:”2.0",”result”:”0xf9c395a5",”id”:1}

Then 0xf9c395a5 is your host key.

Use docker

docker exec -it ares_gladios bash -c “apt update && apt install -y curl && curl -X POST http://localhost:9933 -H ‘{“id”:1, “jsonrpc”:”2.0", “method”: “offchain_localStorageGet”, “params”: [“PERSISTENT”, “0x6172652d6f63773a3a6c6f63616c5f686f73745f6b6579”]}’”

Output example:

{“jsonrpc”:”2.0",”result”:”0xf9c395a5",”id”:1}

Then 0xf9c395a5 is your host key.

Check the reason of unpass status

1. [Result: Validator settings do not match]

If the local validator set does not match the set on the chain, it is recommended that the user resets the Session Key.

2. [Result: The setting time is within 1era]

The local set authority is matching the on-chain, but the setting time does not exceed 1era. Please wait in patience for the system to submit data.

3. [Result: Feedback data to the project side]

The local set authority is matching the on-chain, and the setting time exceeds 1era. Users are requested to report data to the project side.

Data feedback example

Please send back the complete debugging information of the node, including the role of the node, the status returned by the request, and the JSON format, etc. In most cases, run this command to learn about node status.

Use CLI

curl -H “Content-Type: application/json” -d ‘{“id”:1, “jsonrpc”:”2.0", “method”: “ares_getInfos”}’ http://localhost:9933

Output example:

{
“jsonrpc”: “2.0”,
“result”: {
“node_role”: “Authority”,
“request_body_checked”: “Ok”,
“request_scheme_checked”: “Ok”,
“request_status_checked”: “Ok”,
“warehouse”: “https://api.aresprotocol.io”,
“xray": 0xf9c395a5
},
“id”: 1
}

Use docker

docker exec -it ares-chain bash -c “apt update && apt install -y curl && curl http://localhost:9933 -H \”Content-Type: application/json\” -d ‘{\”id\”:1, \”jsonrpc\”:\”2.0\”, \”method\”: \”ares_getInfos\”}’”

Punishment verification

After you successfully become a validator node, you will continue to participate in block generation and quotation. The system will check in real time whether the validator has a block in the corresponding session. If there is no block, it will submit a “heartbeat request” (the validator program will automatically submit it) to prove that the validator is online. At the end of the session cycle, the node who has no block generated or heartbeat sent will be reported, and the reported validator will be punished.

How to check if a node is penalized?

Enter the Staking page and click on the Slashes tab. When the page displays “unapplied”, no one is penalized.

If the penalty list where your account address is displayed in it appears on the tab page, you need to accept the punishment of kicking out of the validator set and deducting the penalty corresponding to the deposit (test coin).

At the same time, because of your node being penalized, the activity reward will be halved based on the number of penalized days, which is 500 ARES/day reward. Normally the reward is calculated as 1000 ARES/day.

Finally, we look forward to your participation in the third round of node public beta of the testing network Gladios! Your valuable suggestions for the functional development of Ares oracles are much appreciated.

Ares Protocol, the decentralized cross-chain Oracle service in Polkadot ecosystem

Ares Protocol is a decentralized cross-chain oracle platform that introduces a truly new generation of cross-chain oracle service protocols with on-chain data verification and is the first to open a compensation channel for data users in case they suffer business losses due to the use of data provided by the oracle.

Ares Protocol is an oracle solution with security using VRF, developed on the Substrate framework, and it supports hybrid Babe and off-chain workers. It integrates Polkadot’s latest on-chain governance, brings the Optimistic Rollup challenge model into the oracle field, supports the Ink contract ecosystem, and brings better oracle services to DeFi Developers.

🌐 Ares Protocol Social Media

Telegram Group: https://t.me/aresprotocollab
Telegram Channel:
https://t.me/AresProtocolAnnouncements
Twitter:
https://twitter.com/AresProtocolLab
Facebook:
https://www.facebook.com/aresprotocollab
Instagram:
https://www.instagram.com/aresprotocollab/
Medium:
https://aresprotocollab.medium.com
Discord:
https://discord.gg/cqduK4ZNaY
Reddit:
https://www.reddit.com/r/AresProtocolLabs/
Email:
info@aresprotocol.io
Youtube:
https://www.youtube.com/channel/UCgwY4NwkoP8Hx1Fqmp_rJUw

Telegram Groups

Spanish: https://t.me/aresprotocol_spanish
Ukrainian: https://t.me/AresProtocol_UkrainianCommunity
Chinese: https://t.me/AresprotocolChina
Russian: https://t.me/AresProtocol_RussianCommunity
Japanese: https://t.me/AresProtocol_JapaneseCommunity
Korean: https://t.me/AresProtocol_KoreanGroup
Hindu: https://t.me/AresProtocol_HindiCommunity
French: https://t.me/AresProtocolFrenchCommunity
Arabic: https://t.me/AresProtocolArabic_Community
Turkish: https://t.me/AresProtocol_TurkishCommunity
Portugese: https://t.me/AresProtocol_PortugueseCommunity

--

--

Ares Protocol

The first chain-verified decentralised cross-chain oracle service protocol, please visit this link www.aresprotocol.io.