Skip to content
This repository has been archived by the owner on May 6, 2024. It is now read-only.

P2P Prober for IoTeX Mainnet #26

Open
4 tasks
simonerom opened this issue May 6, 2021 · 2 comments
Open
4 tasks

P2P Prober for IoTeX Mainnet #26

simonerom opened this issue May 6, 2021 · 2 comments

Comments

@simonerom
Copy link
Member

simonerom commented May 6, 2021

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

@gitcoinbot
Copy link

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
Copy link

gitcoinbot commented May 14, 2021

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants