Free TON

Prolongation of the: Validator Devops contest for Rust-Node [Updated]

UPD: Due to the delay in the start of Rust cap competition and rustnet unavailability during contest time. DevOps SubGovernance members decided to vote on the proposal to change contest dates. (Ref: Telegram: Contact @ton_validators). Proposed changes:

Dates

Submissions - Starts: 18.01.2021 at 00:00 UTC, Ends: 12.02.2021 at 23:59 UTC

Voting - Starts: 13.02.2021 at 00:00 UTC, Ends: 27.02.2021 at 23:59 UTC

Short description

Monitoring, Alerting, Scripts and Tooling for RUST implementation of Free TON Validator

github.com

tonlabs/ton-labs-node-tools

tools for node. Contribute to tonlabs/ton-labs-node-tools development by creating an account on GitHub.

github.com

tonlabs/rustnet.ton.dev

Contribute to tonlabs/rustnet.ton.dev development by creating an account on GitHub.

Type

Contest

Dates

Submissions - Starts: 18.01.2021 at 00:00 UTC, Ends: 07.02.2021 at 23:59 UTC

Voting - Starts: 08.02.2021 at 00:00 UTC, Ends: 21.02.2021 at 23:59 UTC

Motivation

Validators need tools and automation to insure efficient scalable and secure operations to support Free TON blockchain

General requirements:

  • Documentation should be provided for each tool
  • Provided tools should operate exactly according to its documentation
  • Motivation and goal for each tool should be described
  • All software must be released with licences supported by Free Software Foundation

DevOps Skills required:

  • Linux
  • Unix Shell scripting, javascript
  • Infrastructure as a code
  • docker/docker-compose/kubernetes
  • Desirable: Ansible, logstash, Prometheus/Grafana

Tasks:

  1. Enhanced node deployment infrastructure
  • Need to develop enhanced deployment infrastructure for Rust validator nodes based on modern tools and techniques (docker/docker-compose, Ansible, Terraform, etc.).
  • Based on infrastructure as a code. Take into account deployment from scratch, upgrade, cleanup scenarios on various set of Linux distros as well as other OS (e.g. MacOS).
  1. Intellectual log dashboard with analytics:
  • Need to collect log files into centralised database (e.g. logstash).
  • Make base analytics with some predefined patterns which can simplify failure analysis and monitoring.
  1. Extended metrics for node monitoring
  • Analyse available node/validator/elector metrics and define a subset useful for further analytics and monitoring tasks.
  • Develop visualisation concept to simplify the analysis.
  • Develop alert rules for daily monitoring
  1. Automate staking through depool (and/or direct staking to the elector) based on tonos-cli or SDK (use TON-SDK core library or any existing binding)
  • Write validator script for elections using tonos-cli/SDK
  • Use tonos-cli/SDK to run elector get-methods.
  • Use tonos-cli/SDK to query global configuration parameters.
  • Use tonos-cli/SDK to prepare, sign and send validator query to depool/elector smart contract.
  • Automate confirmation of multisig transactions.
  • Improve custodian notification mechanism for multisig transactions: notify about submitted transactions via user-friendly mechanism (e-mail, sms, etc.).
  • Implement tools for staking monitoring and alerting
  1. Automate staking through depool (and/or direct staking to the elector) using R-Node Console
  • Write a script to manage overall staking procedure (prepare elector request, sign, send, manage bids, etc.)
  • Automate confirmation of multisig transactions
  • Implement tools for staking monitoring and alerting

Evaluation criteria and Winning conditions:

  • Number of completed tasks. Tasks 1 (at least for one OS) and optionally 4 or 5 are necessary . Without them submission will be rejected
  • Correctness of operations of the provided tool
  • Quality of code and description
  • Work as advertised, perform its stated functions

The Jury

The Jury will be selected by a sub-governance which will support this contest.

Jury rewards:

An amount equal to 5% of the sum total of all total tokens actually awarded to winners of this contest will be divided equally between all jurors who vote and provide feedback. Both voting and feedback are mandatory in order to collect this reward.

Winners:

The winners of all 5 tasks will recieve the following:

1st prize — 40,000 Tons (16 000 + 24 000 by vesting)
2nd prize — 30,000 Tons (12 000+ 18 000 by vesting)
3rd prize — 20,000 Tons (8 000 + 12 000 by vesting)
4th prize — 5,000 Tons
5th prize — 3,000 Tons
6-10th price — 1,000 Tons each

Winners receive 40% of their rewards when contest results are evaluated.
Another 60% will be vested over a 12-month period with monthly payouts.

Vesting details

Vesting is devided into 12 equal parts. The first vesting payout is paid one month after the end of the contest. To receive all 12 distributions, the solution should be supported at least for 1 year. Scripts should be updated within a reasonable timeframe - 1 month maximum, and according to rust node changes. Major GitHub Issues should be resolved within a reasonable timeframe - 1 month maximum.

3 Likes

I support changing dates due to the lack of access to the new elector contract and network to test it.