PEP-38 POKT Lint (re-submission)

Re-submission Update

This is a re-submission of PEP-29 POKT Lint. In the original proposal there was confusing on how value was being gauged, since there was no standard format to itemizing value, so I recinded the proposal and set out to create the Proposal Value Model. The Proposal Value Model has now been used by multiple proposals (including POKT.tools and POKT Wallet), so I’m now re-submitting POKT Lint under the same model.

There are some slight changes to the proposal, most notably we are not asking for a development runway. We will use future proposals to fund any new features or major upgrades.

Attributes

Author(s): Shane Burgett

Recipient(s): Decentralized Authority

Category: Reimbursement

Fulfills: RFP-7: Node Deployment Tools & RFP-8: Node Monitoring Tools

Asking Amount: 476,112 POKT ($33,328)

Summary

POKT Lint is an open-source tool and service that enables node runners to test their node’s latency performance against every location the POKT Portal is deployed. Since the Portal favors nodes that are able to respond to requests within 100ms, it is increasingly important that node runners be able to gauge their latency performance. Pocket Lint is the first publicly available tool for measuring node latency.

The purpose of this proposal is to reimburse for the development of Pocket Lint and fund it’s deployment in prominent Portal locations as a free API service for the POKT node community. Since the beta launch in March, POKT Lint has already been used to test/troubleshoot hundreds of POKT nodes.

To see POKT Lint in action, check out our presentation and demo from the March 25th Community Call .

Background

Decentralized Authority is the development group behind Node Pilot and Node Launcher. It was started by long time POKT contributor, Shane Burget, and long time web3 developer, Ryan Burgett. POKT Lint was a joint effort between Shane, Ryan, and POKT community member @noproblem, who is the creator of the awesome https://pokt.tools .

What’s the deal with calling it POKT Lint?

Wikipedia: “Lint, or a linter, is a static code analysis tool used to flag programming errors, bugs, stylistic errors and suspicious constructs.”

We couldn’t resist! Credit: @noproblem

Motivation/Rationale

Any POKT node runner knows that the most important factors to maximizing rewards are: 1) chain selection and 2) relay latency. Fortunately, through tools like POKTscan , node runners can research chain rewards to identify which chains they want to serve… but there are no practical ways for node runners to identify their relay latency in respect to Pocket Portal locations. This leaves most node runners in the dark regarding how latency may be affecting their rewards.

Pocket Lint was built to fill this gap in node tooling by empowering node runners with the ability to identify their relay latency per chain, per Portal location. It’s being deployed as an open API for the Pocket community to freely test their POKT nodes. We’ve also created an open-source GUI that is hosted at poktlint.com which makes it simple for users to test their nodes by simply dropping their node addresses.

See instructions in how POKT Lint works here .

POKT Lint can also be added into other tools through an API. Node Pilot and pokt.tools already plan to integrate this as a feature to their platforms. Documentation for using the API can be found on the POKT Lint Github .

POKT Lint is built as a small microservice that has been packaged as an AWS Lambda function or an Docker container, making it easy for others to deploy as well. This could be useful for commercial node operators who need more flexibility for running larger scale tests. Deployment information can be found on the POKT Lint Github.

As Pocket Network’s node ecosystem grows, its important that there be tools that help node runners, large and small test latency and chain connectivity. POKT Lint does this in a way that is accessible to all types of node runners. Improved relay latency not only can help node runners with rewards, but it also improves the latency performance for apps using Pocket.

Objective(s)

  1. Reimburse for past development
  2. Cover basic costs of running and maintaining POKT Lint and the POKT Lint API as a free community service

Objective Key Results

  • Provide POKT Lint as a free, open-source tool for the Pocket community :white_check_mark:
  • Deploy POKT Lint prominant Pocket Portal regions :white_check_mark:
  • Allow applications free access to the POKT Lint API :white_check_mark:
  • Host poktlint.com as a free GUI frontend :white_check_mark:
  • Provide documentation on APIs and deployment. :white_check_mark:

Needs Being Met

POKT Lint is a tool address both RFP-7: Node Deployment Tools and RFP-8 Node Monitoring Tools . POKT Lint helps with node deployment by enabling node runners to identify the latency of both mainnet and testnet deployments. If node runners are seeing high latency through POKT Lint, they can adjust deployment strategies if a location is hindering performance. It can also be used to troubleshooting to ensure latency is not affected by changing hardware or other infrastructure changes.

Relay latency testing is frequently brought up in the weekly Node Runners Community calls on Wednesdays at 12pm EST. The node runner community has been asking for a tool like POKT Lint.

Dissenting Opinions

Shouldn’t the the Pocket Network Foundation should be the ones to operate and maintain this kind of community tools?

While PNI does create and run a number of POKT related services (example: The POKT Portal ), many community services are operated and hosted by community teams. Services like POKTscan, POKTwatch, POKT.tools, POKT Wallet are all operated by different teams, adding team distribution and creative diversity to the POKT ecosystem.

PNI was consulted when needed during the development process and Alex, who was the tech lead for PNI, spoke highly favorable to this product and it’s relevance to node runners. POKT Lint is a tool that PNI has actively refers node runners to for checking their node against an accurately replication of the cherry picker.

Beyond providing free software for independent node runners through Node Pilot, Decentralized Authority is excited to also provide this service to the larger node community.

Deliverable(s)

  • POKT Lint
    • Relay Latency tester
    • Chain selection
    • Sample rate
  • POKT Lint API service
    • Deployed in prominent Portal regions
  • POKTLint.com
    • User Friendly GUI
    • Wallet address importer
    • Multiple node support
    • Auto multi-region
    • Auto multi-chain

Budget

Reimbursement

Work on POKT Lint began in January 2022. The time invested went towards:

  • Planning
  • Research
  • Development
  • Testing
  • Documentation
  • Deployment
  • Community support

Please review the POKT Lint Proposal Value Model for a full breakdown of the itemized value.

Total Budget: 476,112 POKT ($33,328)

Beyond This Proposal

Depending on the needs of the POKT Validator community, there may be features, upgrades, or maintenance costs that will require further funding to complete. This current proposal covers past work, community support, and expected maintenance/hosting costs.

Contributor(s)

Shane Burgett - Long time POKT contributor with a background in business development, marketing, media production, and community growth.

Ryan Burgett - Full-stack Web3 application developer with 5+ years of experience in the areas of wallets, interoperability platforms, mining, and node deployment.

Copyright

Copyright and related rights waived via CC0.

2 Likes

I strongly support this proposal.

The value of the tool is strong and clearly established, and the asking price for development is fair.

The proposal value model primary variable is cost per hour in USD. In that case, I would suggest just asking for a USD amount and ask for the POKT equivalent at the time of the disbursement. This allows for a more predictable amount of POKT being disbursed while staying true to model created.