Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/paradox-tt/TVP_Monitor

A bot that monitors nominations of the accounts held by the 1KV programme.
https://github.com/paradox-tt/TVP_Monitor

Last synced: about 1 month ago
JSON representation

A bot that monitors nominations of the accounts held by the 1KV programme.

Awesome Lists containing this project

README

        

# Thousand Validator - Nomination Monitoring & Audit Tool
A bot that monitors nominations of the accounts held by the 1KV programme.

Rationale


At times members of the Thousand Validator Programme (TVP) query the status of the nomination system when they have not been nominated for a long period of time.
This system allows users to examine the nomination history of the TVP nomination accounts to ascertain if the system is rotating nominations. It further allows users to anticipate when nominations are incoming so that that they may plan accordingly.


Public channels


  • #kusama-tvp-monitor:matrix.org

  • #polkadot-tvp-monitor:matrix.org



TVP Nomination System

The Thousand validator programme is governed by an automated system commonly referred to as the 1KV_backend. This system monitors metrics for each candidate and
uses a weighted system to elect nominees every 24hrs.



The 1kv_backend nominates canidates using a delayed proxy system. When it selects nominees for each account, those nominations would be applied in 18hrs. On Polkadot the nomination arrives in session five (5) of the era and this is too late for the candidate to be considered for active validation in the next era. These candidates have an opporunity to validate in the era subsequent to the next.



Most of the queries related to issues with the nomination system lay with candidates themselves but there have been occassions due to major events when the system did not operate properly. A few examples would be:


  • Maximum number of nominator accounts attained on Polkadot

  • Metadata v14

  • Errors due to blocked nominations

  • Failed proxy events





Functionality


The system provides notifications on three events:



  1. When nominees are decided and the proxy is triggered. The bot will retrieve the last proxied nominees and using strikethrough messages represent a change in validators

  2. ~18hrs after the proxied call is issued the bot alerts that the nominees should change in the next era

  3. At each era change, the bot monitors for any changes in nominations. If there are differences this is represented with strikethroughs, any validator to retain nominations for a subsequent era would have their era count incremented.




Phase 2 ✔️ - Completed


With the launch of the application in private quarters some suggestions for improvments have been noted. These items will be actioned as a phase 2 after a public launch of the initial build.


  • Allow users to opt in for ping notifications (matrix address taken from an identity)

  • Develop independent timers for Proxy events, if a Proxy event isn't received within the expected time then produce an error for investigation


Images




Img 1: Shows a change in nomination at the proxy level, this SHOULD be applied in the future and gives the validator some forewarning. Also note that two valdiators were re-nominated by the proxy account, these were not striked-out.







Img 2: Shows a change in actual nomination, this confirms that the proxy call was actually made



Promotion

If you like this tool and would like to lend support to the developer kindly consider nominating my validator nodes

Polkadot

  • PARANODES.IO/01 - 14hM4oLJCK6wtS7gNfwTDhthRjy5QJ1t3NAcoPjEepo9AH67

Kusama


  • PARANODES.IO/01 - H3DL157HL7DkvV2kXocanmKaGXNyQphUDVW33Fnfk8KNhsv

  • PARANODES.IO/02 - HtYny8Eker9VBEKQrtBd6Y5PTkaHQFSvyMFy2bkd66wGBan

  • PARANODES.IO/03 - FkWky3r2bryP3aaAwVWykYrKesAwkDyKZWsDyBvck7YawSi

  • PARANODES.IO/04 - EsNZHmG4bQMGzQNK4Z2CR7Hdhu4or7p2vsLRChUEJcjJAeU

  • PARANODES.IO/05 - EriYFJuqCeBF6SFkKxyQWwaTvT9tcoF9ZGDQ4LX3a1iBsYr



Primary Identity

  • Paradox - HqRcfhH8VXMhuCk5JXe28WMgDDuW9MVDVNofe1nnTcefVZn