halogrants
halogrants copied to clipboard
P2P Prober for IoTeX Mainnet
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
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.
- If you would like to work on this issue you can 'start work' on the Gitcoin Issue Details page.
- Want to chip in? Add your own contribution here.
- Questions? Checkout Gitcoin Help or the Gitcoin's Discord
- $2,257,353.59 more funded OSS Work available on the Gitcoin Issue Explorer
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.
- The p2p network probe monitors the block and transaction information.
- The server connects to the probe and counts the data.
- ELK data display.
Learn more on the Gitcoin Issue Details page.