halogrants icon indicating copy to clipboard operation
halogrants copied to clipboard

P2P Prober for IoTeX Mainnet

Open simonerom opened this issue 3 years ago â€Ē 2 comments

Description

Build a system of probers to listen to P2P traffics on the IoTeX mainnet, collecting and aggregating P2P traffics, sample-storing some of them and visualizing the metrics on a dashboard.

Context

IoTeX mainnet is growing - it is now composed of over 100 delegate nodes talking to each other in a P2P fashion, to process transactions, produce blocks by reaching consensus and help others to sync. When debugging an issue on the IoTeX mainnet recently, the developers complain about the lack of visibility of the network at the p2p layer, e.g, which types of messages are congesting the network, from which nodes and why. Such a system would greatly help the developer to understand the current status of the network, implement new features that keep the protocol improving and scaling up.

Misc/References

This project should be composed of 4 parts:

  • An P2P prober written in Golang; multiple instances of which will be deployed and connects to IoTeX mainnet's P2P layer
  • A backend written in Golang that aggregates all collected information from probers
  • A dashboard (e.g., ELK) that visualizes the network status and let the developers dive into some of the P2P messages that happened on the network
  • The script (e.g., helm, dockercompose) to easily deploy the whole system to AWS or GCP, e.g. 10 probers + 1 backend + 1 dashboard

Acceptance criteria

  • [ ] Milestone 1
  • Architectural Design
  • PoC (one prober + one backend + one dashboard with basic flows implemented)
  • [ ] Milestone 2
  • Full-features implementation with production quality
  • Read to deploy to testnet and mainnet

Time estimation

2 weeks

Reward

4,500 USD

  • [ ] Milestone 1: 2,000 USD
  • [ ] Milestone 2: 2,500 USD

Important Links

Getting started: https://docs.iotex.io

IoTeX Blockchain Explorer: https://iotexscan.io

IoTeX Testnet Faucet https://faucet.iotex.io/

Follow Us

https://iotex.io https://t.me/IoTeXGroup https://twitter.com/iotex_io https://medium.com/@iotex https://www.reddit.com/r/IoTeX

simonerom avatar May 06 '21 21:05 simonerom

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 4500.0 USDT (4500.0 USD @ $1.0/USDT) attached to it.

gitcoinbot avatar May 14 '21 05:05 gitcoinbot

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 2 weeks, 1 day from now. Please review their action plans below:

1) ekawut has started work.

āļ‰āļąāļ™āļˆāļ°āļŠāļ™āļąāļšāļŠāļ™āļļāļ™āđāļœāļ™āļ‡āļēāļ™āđāļĨāļ°āļŠāđˆāļ§āļĒāļŠāļģāļĢāļ§āļˆāđ€āļžāļ·āđˆāļ­āļŦāļēāļˆāļļāļ”āļšāļāļžāļĢāđˆāļ­āļ‡ 2) awadelkarim has started work.

[email protected] [email protected] [email protected] [email protected] [email protected] 3) shashisenses has started work.

It seems to be a wonderful project. Need more information. 4) hhio618 has started work.

I'm very experienced in such tasks: My plan: 1- An P2P prober in Golang 2- A Golang backend that aggregates all collected information using Prometheus 3- A Grafana dashboard that visualizes the network status 4- k8s/helm manifest to easily deploy the whole system to AWS or GCP 5) yahtoo has started work.

  1. The p2p network probe monitors the block and transaction information.
  2. The server connects to the probe and counts the data.
  3. ELK data display.

Learn more on the Gitcoin Issue Details page.

gitcoinbot avatar May 14 '21 17:05 gitcoinbot