Skip to content
This repository has been archived by the owner on Jul 14, 2022. It is now read-only.

Latest commit

 

History

History
162 lines (138 loc) · 17 KB

challenge003.md

File metadata and controls

162 lines (138 loc) · 17 KB

Stake Wars Challenge 003

Published on: June 9 2020

Monitor your node health, and send an automated email in case of issues.

Acceptance Criteria

  1. Monitor your node
  2. Send email alerts

1.Monitor your node

Define a list of parameters that you want to monitor on your node, to promptly intervene if your node risks to be kicked out, the network is stalling, or your nearcore version is outdated.

General Parameters

Monitor storage, CPU and memory usage, to be sure that your node is working properly. Most cloud providers offer this service by configuring a few simple parameters. Alternatively, run your own crontab scripts, or install your favorite monitoring tools.

Nearcore Parameters

Nearup comes with simplified logs, available via docker logs nearcore or nearup logs (the latter is necessary if you are running nearup in --nodocker mode). By using grep or tee commands you can extract data from your node, such as:

  • number of active peers
  • validator status, by parsing V/xx
  • block height progress
  • network health, by parsing the bps value

Alternatively, you can connect nearcore with Prometheus using the <NODE_IP>:3030/metrics endpoint.

NEAR Network Parameters

Monitor the network by using NEAR's JSON RPC APIs. Simple curl commands can extract valuable information for your validator operations, such as:

  • number of blocks produced vs expected
  • current, next and kicked out validators
  • cost of a validator seat
  • epoch start height vs current block height
  • NEAR's nodes version and build

BetaNet changes epoch every 10,000 blocks; TestNet changes epoch every 43,200 blocks. Use these constants together with the epoch_start_height to estimate the remaining epoch duration.

Additionally, you can direct the same RPC calls to your local node, and check any differences between your node and the rest of the network.

2.Send email alerts

Define the thresholds that trigger alerts, such as:

  • memory/CPU/storage usage
  • low number of peers or zero new blocks downloaded
  • missed blocks, risk of being kicked out, or insufficient stake
  • a new nearcore build is running in the network

Heads up: To prove that you are running your automated monitoring system, add [email protected] to your email alerts. If your node is running with insufficient stake and sends an alert email, a script will provide additional BetaNet tokens to your pool.

List of Validators who already completed this challenge (updated Jun 9)

pool ID date token staked
@validator_italia_contract Jun 9 10,000
@plex2 Jun 9 10,000
@staking.dsrv.betanet Jun 9 10,000
@pool.dokiacapital.betanet Jun 9 10,000
@c3.inotel.betanet Jun 9 10,000
@a_validator Jun 9 10,000
@huglester Jun 9 10,000
@applied Jun 17 10,000
@bitcat.stakehouse.betanet Jun 17 10,000
@mutedtommy.betanet Jun 17 10,000
@sfpool Jun 17 10,000
@yyyyyyyyyyyyy1 Jun 17 10,000
@alexzz Jun 17 10,000
@a.betanet Jun 17 no staking pool
@freshnears Jun 17 10,000
@jazza Jun 17 10,000
@top Jun 17 10,000
@joejoen.betanet Jun 17 10,000
@joesixpack.betanet Jun 17 10,000
@blazenet Jun 17 10,000
@buildlinks Jun 17 10,000
@c2.bibwang.betanet Jun 17 10,000
@nodeasy.test Jun 17 no staking pool
wetez Jun 19 10,000
@masternode24 Jun 23 10,000
@rockpathpool Jun 23 10,000
@kokos-anti-covid Jun 23 10,000
@zeropool Jun 23 10,000
@ryabina Jun 23 10,000
@sl1sub Jun 23 10,000
@mathwallet Jun 23 10,000
@stakedpool.staked.test Jun 24 10,000
@neozaru.stakehouse.betanet Jun 24 10,000
@sc.galbraith.betanet Jul 1 10,000
@ag_staking Jul 6 10,000
@777stakes Jul 29 10,000
@paulainsley1betanet.stakehouse.betanet Jul 31 10,000
staking_viboracecata.stakehouse.betanet Aug 8 10,000
general.alfa.betanet Aug 13 10,000
aquariuspool.stakehouse.betanet Aug 13 10,000
arm.armada.betanet Aug 13 10,000
iosgvc.stakehouse.betanet Aug 13 10,000
swiss-staking.stakehouse.betanet Aug 19 10,000
crypto-solutions.stakehouse.betanet Aug 20 10,000
genesislab.stakehouse.betanet Sep 07 10,000
crypto-solutions.stakehouse.betanet Aug 20 10,000
@optimisticvalidator Sep 01 10,000
stakingpool.youlaiwuqu.betanet Sep 1 10,000
get_rich Sep 2 10,000
starlink-pool.stakehouse.betanet Sep 02 10,000
@mfsc.stakehouse.betanet Sep 04 10,000
@majlovesreg.stakehouse.betanet Aug 26 115,685

Contribution Opportunities

Do you want to earn extra tokens? We have contribution opportunities available below!

Reply to the challenges application thread on Github specifying:

  • which contribution you want to do, and the link to the challenge
  • the type of document you will release
  • the date when you will publish the content (you can postpone a few days, no worries)

Once your work is done, you will be added to the list below. Please note that rewards in tokens will need to pass basic KYC checks from NEAR Foundation, and comply with regulations.

List of available contributions

Heads Up: No more contributions are accepted, except the ones already posted on https://portal.near.org before October 2nd. You are free to add new ones without receiving token rewards!

Abstract Description Contributor Due Date Link NEAR Tokens Maintenance Language
Run a monitoring platform Create a tutorial, in the form of a video, a blogpost or Github document, that explains how to monitor the health of your node (general parameters, nearcore parameters and NEAR network). Updates to this guide, reflecting any updates of the tools involved, will be paid a % of the initial bounty per each revision, up to once per month, until Stake Wars is over. Contributions in other language than English are encouraged, but considered case by case basis. @masknetgoal634 Jun 11 2020 Github 1,100* 10% EN
Run a monitoring platform Same as above @narniec Jun 14 2020 Medium 1,000 10% RU
Run a monitoring platform Same as above @Minstr22 Sept 30 2020 [Github] (https://github.com/minstr22/Monitoring-Alerting 1,000 10% EN
Run a monitoring platform Same as above @wjdfx Jun 15 2020 Jianshu 1,000 10% CN
Run a monitoring platform Same as above @imnisen Jun 23 2020 Github 1,000 10% CN
Run a monitoring platform Same as above @Viacheslav198 Jul 1 2020 Github 1,000 10% IT
Run a monitoring platform Same as above @Lalit15 Jul 6 2020 Medium 1,000 10% EN
Run a monitoring platform Same as above @everuner Aug 29 2020 Medium: 1, 2, 3 1,000 10% RU
Run a monitoring platform Same as above @RussellGalt Sep 01 2020 Notion 1,000 10% EN
Run a monitoring platform Same as above @RussellGalt Sep 03 2020 Notion 1,000 10% RU
Run a monitoring platform Same as above @everuner Sept 07 2020 [Medium] (https://medium.com/@serj_czech/run-a-monitoring-platform-30ef76041ca4) 1,000 10% RU
Run a monitoring platform Same as above @youlaiwuqu Sep 12 2020 Jianshu 1,000 10% CN
Run a monitoring platform Same as above @Cryptomilion Sept 13 2020 Medium 1,000 10% UA
Run a monitoring platform Same as above @mabalaru Sep 17 2020 Ansible 1,000 10% EN
Run a monitoring platform Same as above @48cfu Sep 17 2020 Github 1,000 10% IT
Run a monitoring platform Same as above @bonsfi Oct 1 2020 Github Gist 1,000 10% EN
Run a monitoring platform Same as above @zavodil May 2020 Telegram 1,000 10% RU
Send alerts Create a tutorial, in the form of a video, a blogpost or Github document, that explains how to connect cloud alerts from AWS, GCP, Azure, Alibaba (and others) with your nearcore node. Contributions in other languages are encouraged, but considered case by case basis. @wjdfx Jun 15 2020 Jianshu 1,000 10% CN
Send alerts Same as above @imnisen Jun 23 2020 Github 1,000 10% CN
Send alerts Same as above @narniec Jul 1 2020 Medium 1,000 10% RU
Send alerts Create a tutorial, in the form of a video, a blogpost or Github document, that explains how to connect cloud alerts from AWS, GCP, Azure, Alibaba (and others) with your nearcore node. Contributions in other languages are encouraged, but considered case by case basis. @wjdfx Jun 15 2020 Jianshu 1,000 10% CN
Send alerts Same as above @imnisen Jun 23 2020 Github 1,000 10% CN
Send alerts Same as above @narniec Jul 1 2020 Medium 1,000 10% RU
Send alerts Same as above @masknetgoal634 Aug 25 2020 Github 1,000 10% EN
Send alerts Same as above @rozum-dev Sep 06 2020 Medium 1,000 10% UA
Send alerts Same as above @ama31337 Sep 09 2020 Github 1,000 10% EN
Send alerts Same as above @mabalaru Sep 17 2020 Github 1,000 10% EN
Send alerts Same as above @youlaiwuqu Sep 12 2020 Jianshu 1,000 10% CN
Send alerts Same as above @majal Sep 16 2020 GitHub Gist 1,000 10% EN
Send alerts Same as above @yes-filippova Sep 19 2020 Medium 1,000 10% UA
Send alerts Same as above @48cfu Sep 25 2020 Github 1,000 10% IT
Send alerts Same as above @bonsfi Oct 1 2020 Medium 1,000 10% ES
*Including 10% update reward

Next Challenge

Create your warchest to dynamically keep one seat: challenge004

Previous Challenge

Enroll your staking pool, receive your delegation, and maintain your validator status: challenge002