Short description
Monitoring, Alerting, Scripts and Tooling
Type
Contest
Dates
18.05.2020 - 1.06.2020
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
- Infrastructure as a code
- docker/docker-compose/kubernetes
- Desirable: Ansible, Terraform, AWS, logstash
Tasks:
- Enhanced node deployment infrastructure
- Need to develop enhanced deployment infrastructure for C++/Rust 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).
- 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.
- Extended metrics for node monitoring
- Analyse available node/validator/elector metrics (from lites-client/validator-engine-console/GraphQL/etc.) and define a subset useful for further analytics and monitoring tasks.
- Develop visualisation concept to simplify the analysis.
- Develop alert rules for daily monitoring
- Automate participation in elections
- Write validator script for elections using tonos-cli
- Use tonos-cli to run elector get-methods.
- Use tonos-cli to query global configuration parameters.
- Use tonos-cli to send validator query to 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.).
- Write validator script for elections using lite-client for C++ node.
- Use lite-client to query global configuration parameters.
- Use lite-client to run elector get-methods.
- Use lite-client to send validator query to elector smart contract.
Bonus
- Integrate TON address converter (different addresses used in config.json) with your solutions
Evaluation criteria and Winning conditions:
Number of completed tasks
Correctness of operations of the provided tool
Quality of code and description
Work as advertised, perform its stated functions
The Jury
Each of the Initial Validators will have a right to nominate 1 person to the jury
Initial Validators whose teams are willing to participate in the Contest will loose their right to nominate a jury
The Jury membership will be public
The Jury will provide feedback for all proposals
The Jury will vote for each proposal “yes” or “no”
Winners:
The winners of all 5 tasks will recieve the following:
1st prize — 30,000 Tons
2nd prize — 20,000 Tons
3rd prize — 10,000 Tons
Next 10 runners up — 1,000 Tons each
Jury members who vote — 500 Tons each for doing their civic duty