Phase 2 of the Validator Resource Center and Ranking Website (VRC) further improves upon the ranking method from Phase 1, by making the scoring model more customizable and thereby better representing the user’s preferences. Also, the VRC score is now a major metric in the manual selection process. Additionally, we include several new metrics (e.g. performance based on historic era data) and thereby reduce the load of information on nominators. A new filtering technique helps to reduce the overall set of validators based on their quantitative properties and make it easier for nominators to make an appropriate selection. We also introduce a staking dashboard, which gives important visual and numerical information about the network.
This proposal covers the development of milestones 2, 3, 4, 5 and includes a report for milestone 1.
Original proposal for M1 and context:
https://docs.google.com/document/d/14pvmbMMzNAqVzQkoXi_nRS-1wDti2y03X4VqOp9nNTw/edit?usp=sharing
Link to the Validators Ranking website (new UI and tools):
https://validatorsv2.kusama.polkastats.io/
Link to monorepo (backend + frontend):
https://github.com/Colm3na/kusama-validator-resource-center-v2
Report for M1 - delivered
Phase I tasks:
- Ryabina feedback improvements
- Kusama network website integration
- Dependency upgrades
- Renting of a dedicated development server for 3 months of development:
- 46.41€ Heztner setup fee + 3 x 46.41€ = 185,64 €
Completed tasks:
- Ryabina improvements for V1 was implemented: https://github.com/Colm3na/kusama-validator-resource-center
- Lot of dependency upgrades for V1, mainly polkadot-js/api.
- Integration with Kusama network website was complete including: Klaro integration for cookie management, same header as Kusama network website, footer with privacy policy, terms of use and cookie settings.
- Small bugfixes and improvements for V1
- Renting of the Heztner dedicated server for V2 development
Report for M2 - completed
Project kick-off:
Report for M3 - completed
Backend:
The backend has been developed and tested using the Kusama chain. It successfully crawled the entire chain storing blocks, events and extrinsics in the database. That allows us to query long term information like address creation without the need to use an external API. Also the crawler that consolidates the ranking data is live and storing the info in the database, calculating all major and minor metrics and also including Thousand validators program API information.
Report for M4 - completed
UI/UX design:
- Design pages, components and user interactions
- Receive feedback from Iggy/team
- Discuss before implementation to speed up development.
About the new UI, we discussed extensively about main flows and user interaction in the proposal elaboration, so we chose to directly implement into the project as mockups to have a clear idea about them. Some elements are functional like exclude and search filter and some others not like auto-filter and custom weighted score (its logic will be implemented in the following milestones).
Report for M5 - completed
User interface implementation I:
The UI logic has already been migrated from polkadot-js/api to GraphQL queries to leverage the new backend and the ranking data is live and fully functional. Some charts have been added to the validator single page like era points, commission and payouts charts. Also we mocked the charts and general layout of the dashboard page, the import page is pretty functional showing extension accounts and their validators sets. The connect to wallet button is also implemented, showing the extension addresses and letting you connect to any of them to use it in the nominate page.
Scope of work for this proposal
The majority of the work for these milestones has been completed: the team is at the moment finalising details on M5 to continue further development. In Phase 2, we extended previous work and incorporate three upgrades:
- A new manual selection for validators set taking into account custom scoring and a filtering technique to remove quantitatively dominated (undesired) validators from the overall lists.
- A dashboard, which makes it easier to cope with the ever changing nature of the network, where today’s selection might not be the right one for a nominator in the future. It shows general information (like number of validators, number of nominators, current era, minimum stake) and graphs with metrics over time: a. Graphs (across time) for: average commission, average self-stake, average performance, average era-points; b. Plot the current selection of validators in the VRC as points (averaged) in the graphs of a); c. Indicate the on-chain nominations (when connected to the polkadot extension) in the graphs of a). Here we can potentially plot two points. One where the nomination was made in the past and another where the current nomination compares to the current state of the network.
- A process for nominators to cultivate their on-chain nominations. To do so, we can compare the nominations made in the past to the most recent era and flagging critical events (e.g., commission increases by validators or slashing events) that happened between the time of the validators set election and present time. We can further offer nominators to remove validators who caused critical events from their set and make a renomination of the rest.
Milestones to be covered by this allocation request:
Milestone 2: (1 week) - EUR 1000.00 / 4.76 KSM
Project kick-off:
- Create and configure project repository.
- Backend and frontend will use the same repo using yarn workspaces
- Development server (VPS) setup
Milestone 3: (1 week) - EUR 1000.00 / 4.76 KSM
Backend:
- Define backend db schema, with the goal of extracting interesting extrinsics and events to separate tables for faster further analysis.
- Develop crawler based on PolkaStats backend
- Implement new metrics
- Thousand validators program data integration
Milestone 4: (1 week) - EUR 1000.00 / 4.76 KSM
UI/UX design:
- Design pages, components and user interactions
- Receive feedback from Iggy/team
- Discuss before implementation to speed up development.
Milestone 5: (1 week) - EUR 1000.00 / 4.76 KSM
User interface implementation I:
- Implement new user interface
- Migrate logic from polkadot-js to graphQL
- New performance metrics
Development server costs (added to the total allocation of the milestone)
Below you will find the server renting budget for another 3 months period:
- Dedicated server: 46.41 €
- TOTAL (1 month): 46.41 €
- 3 MONTHS PERIOD: 139.23 € - 0.66 KSM
Payment conditions:
- One submission per milestone/ 4 milestones per submission (as decided by council)
- First milestone submitted as agreement for Phase 2 of this project, to start as soon as passed by Council.
- Subsequent milestones to be paid after delivery.
- Overall timeline: 4 weeks
- Total estimation: EUR 4139.23 / 19.70 KSM
- KSM Rate: USD 249.88/KSM (monthly average from https://kusama.subscan.io/tools/charts?type=price - 17.03.2021) - EUR 210.04/KSM.
- ADDRESS: FUNseFMiXE3b1iAbfixBLtPNgc1PPWaxhDRpZHrC8sjL4aX (Mario)