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

P2P Prober for IoTeX Mainnet #26

@simonerom

Description

@simonerom

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions