PoS Node Monitoring Tool ( & possibly for PoW Node too ) – Tier 1

PoS Node and PoW Node Monitoring Tool – TIER 1 (5000$) + separate API server maintenance

APPLICATION INTRODUCTION:
Create an Open Source tool to monitor validators in Conflux PoS and possibly also PoW full nodes and archive nodes. ( https://confluxglobal.notion.site/PoS-Monitoring-Tool-6b7ed30861b546abbd852841c5fef1c3 ).

PURPOSE OF THE SYSTEM:
The strategic objective of this grant is to make PoS pool monitoring easier to track for end users and PoS stakers and through this, to lower the entry barrier of running a PoS pool or PoW full or archive node and make it more visible to the public. Project’s source code will be open source and available on GitHub.

SCOPE OF THE SYSTEM:
Application will be public and accessible to all. Source code will be on GitHub repository for anyone to view or fork.

REQUIREMENTS:
Basic features to include are:

  • Track validator balance and performance
  • Track sync progress of execution and consensus nodes
  • Check the health and status of nodes (execution, consensus, and validator). Track the history of node selection in the committee, and vote history
  • Support for sending alerts
  • Location
  • Uptime
  • Software Version
  • Generate graphs and charts to easily check history and performance

DEFINITIONS, ACRONYMS, AND ABBREVIATIONS:
Conflux PoS monitoring tool, Conflux PoW node monitoring tool, Conflux node monitoring tool

TEAM:
Team consists of only myself. I’ve been a fullstack developer for 22 years and also a web3 dev for about 1 year now. I’m doxxed to Conflux Team, but choose to remain anonymous to public. I’ve built:

  • Hundreds of Docker images from scratch and I use them also frequently with my private business and they have been stable in production for many years now.
  • Conflux Core Space and ESpace faucets:
    https://conflux-faucets.com (Frontend and Tx maker are open source and on Github)
  • Webomatic NFT Rarity Tool:
    https://rarity.webomatic.fi/ (Frontend’s JS will be on Github later on, but otherwise it’s closed source)
  • I also run PoS node and have built the website for Webomatic Conflux Proof-of-Stake Pool, this is running on a Docker instance:
    https://pos.webomatic.fi/ (Open Source, Github)
  • Webomatic tools website:
    https://webomatic.fi

Also here is my Twitter account: https://twitter.com/nioctla
and my GitHub page: https://github.com/ni0c/

TOTAL BUDGET AND FUNDING TIER:
The approximative budget is 100$ x 50h (about 6 full days) for work and maintenance = Total of $5000 (TIER 1)
PoS monitor API server maintenance and upkeep: 100$ x 15h (about 2 full days in 3 years total) for maintenance and upkeep and API server costs for 3 years: $3000 = Total of $4500.

CURRENT FUNCTIONALITY:
End Users / PoS Stakers and PoS node/pool owners can monitor PoS pool and PoS nodes from a web page and also via a Public PoS API. See the preliminary version of PoS monitor in below image. Some additional data will be added in future versions and PoS pool owner will be able to control their PoS node(s) via the Monitor UI.

PERFORMANCE:
Preliminary version has a PHP client script running beside Conflux node binary and also a separate PHP-Apache monitoring API with email notifications. The PoS monitoring UI web page works via JSON API. JSON API will also have the data available for public to use. The specs and technics used may vary as project develops.

PACKAGING:
Source code + documentation will be on Github and open source (Apache License 2.0).

LEGAL / LICENSING:
Apache License 2.0

DEVELOPMENT ROADMAP:

  • Initialization of the project (Github, Documentation) : 4 hours
  • Development of the project (PHP client, PoS Monitor Public API server, testing): 34 hours
  • Release of the project (GitHub) : 2 hours
  • Maintenance for 3 years (GitHub updates): 10 hours
  • Maintenance of PoS monitor Public API server: Server costs: $3000 / 3 years, Maintenance : 15 hours / 3 years

Development budget total: 50 hours / $5000 ( Tier 1 )
Maintenance and upkeep budget total: 15 hours + server upkeep: $4500 / 3 years

SPECIFICATION OF THE SOFTWARE:

  • PHP-CLI (8.0+ / last stable version)
  • Apache-PHP (PHP 8.0+, Apache latest stable version)

This tool would run in a Docker image.
Monitoring API would be also running in a Docker image.

MAINTENANCE CONSIDERATIONS:
I will maintain the GitHub for 3 years. It is possible to transfer the owner role of the Github repository to Conflux member in future if necessary.
I will also maintain and upkeep the API server for 3 years, and it’s possible to give the gathered monitoring data and domain name over to Conflux member in future, or make a new maintenance grant for continuance of the upkeep of the monitoring API server.

5 Likes

Thanks @nio! Just some initial questions on your proposal:

  1. Is this tool intended for use by PoS operators or by PoS stakers to help select the best pool for them? Ideally I think it should be intended for use by PoS stakers and perhaps integrated into this page (https://www.conflux-pos-validators.com/)

  2. Will PoS operators need to download a script in order to display data? Could you please provide more information on how you the node information is collected in your proposal?

Thanks! :slight_smile:

2 Likes

Thanks for the questions @Geoff !

  1. Is this tool intended for use by PoS operators or by PoS stakers to help select the best pool for them? Ideally I think it should be intended for use by PoS stakers and perhaps integrated into this page (https://www.conflux-pos-validators.com/)

Main use would be for PoS operators to monitor their pool and node(s) and receive alerts of errors with their pool or nodes.
But yes, the tool’s gathered data could be also leveraged with PoS stakers for.ex. in conflux pos-validators to get more data of the pool for user to evaluate, or for.ex. with Confluxscan to show where the conflux nodes are located in world map.

  1. Will PoS operators need to download a script in order to display data? Could you please provide more information on how you the node information is collected in your proposal?

Ideally I would run it in the Docker image, but yeah, it could be possible to make it also so that it’s easy-to-install script that user can download and use too without using a docker image there.
The program works as a small PHP-CLI client program - beside the Conflux executable - queries the running executable there and also the OS and filesystem to get it’s data. The PHP client sends the data to PoS monitor web server for evaluation and the server sends alerts and updates the monitor UI for user to view and interact with on the web page .
It is possible to use other programming languages than PHP for the client, if the need arises. And maybe also have the server in the same docker image as the data gathering PHP client - to make things more simple - if needed.

3 Likes

In light of new information from the Conflux team, I revised the grant specifications there somewhat.

Please check it out.

EDIT2: Another update: PoS pool owner will be able to control their node via the Monitor UI afterall.

3 Likes

we defenetly need master/backup node autoswitching for PoS runners.
I guess it will be good for the projects. It will give opportunity not to run it in expencive datacenters, but in private places with keeping stability/redudancy
Speaking as PoS node runner, small one, but… )

1 Like

Hello @nio, I have a couple of questions:
1- Will this tool need a separate UI or Can we integrate this tool in the same UI that’s being used for the validators list? https://www.conflux-pos-validators.com/
2- Can you breakdown into more details the maintenance and upkeep budget?

1 Like

Thanks @0xn1c0,

1- Will this tool need a separate UI or Can we integrate this tool in the same UI that’s being used for the validators list? https://www.conflux-pos-validators.com/

I think via the public API of the PoS monitor we can add most of the functionality to the PoS validators site there too - as it just needs extra data from API and some UI changes to implement there.
Maybe administration will need to be on the separate site though, not certain about that.

2- Can you breakdown into more details the maintenance and upkeep budget?

Maintenance of PoS monitor Public API server: Server costs: $3000 / 3 years.
This will be a couple of virtual servers running to keep the API going smoothly with load balancing, estimated cost will be around $1000 / year.

Maintenance : 15 hours / 3 years
API servers will need more administration than smaller instances I’ve done before for Conflux as there are a lot of nodes and web/bot clients connecting to it and it needs to run smoothly at all times, and also the security needs to be in high level with the API. So the hours for administration might be on the low side here even.

1 Like

Thanks @nio . I approve this grant proposal
One more approval is required for this Grant to get approved.

1 Like

Thanks @0xn1c0 !

I think this application would be useful for conflux network. Seems like most of the questions have been clarified. I approve this grant proposal as well.

1 Like

Including maintenance costs, this grant is actually a Tier2 application. @nio can we find a way to get budget <Tier1?

Hey @Geoff ,

I think with the upgrades you requested, this grant should be tier 2, as with maintenance costs Tier 1 is no longer possible.

We can implement it with lower price and similar user experience like this.
image

Our tool is useful.


I’m sorry I fail to see how your entry in this grant application is relevant.

I’ve seen the security issues in your grant and I would say if yours is cheaper - it’s also inferior design filled with security issues and your code and scripts should not be used in production.

Thanks for your presure.