regel / cardano-p2p

A package to simplify and secure p2p topology updates for Cardano node stake pool operators

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About cardano-p2p

License Go Report Card Build Docker pulls codecov

A CLI application to simplify Cardano node topology files updates.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

The Cardano Blockchain Needs A Decentralized Node Discovery Service

The Cardano blockchain does not yet have a production ready p2p feature to update topology files, although all required information is registered in the blockchain.

To find a temporary workaround, the Cardano community created a centralized API (known as CLIO1, api.clio.one) to exchange node's IP addresses and update their topology files.

The cardano-p2p application solves this issue and enables fully decentralized topology file updates.

How It Works

The cardano-p2p application:

  • Connects to Ogmios websocket in order to get registered pool parameters found in the Cardano blockchain
  • Verifies each pool metadata and sends a TCP probe to ensure their IP and port are still reachable
  • Selects Cardano nodes that passed the above test in order to produce valid topology files
  • Serves list of Cardano nodes randomly to ensure fairness and produce reliable Graphs topologies

Backward Compatibility

cardano-p2p implements an API that is backward compatible with CLIO hosted service api.clio.one and therefore is designed to simplify the transition.

About

A package to simplify and secure p2p topology updates for Cardano node stake pool operators

License:Apache License 2.0


Languages

Language:Go 97.0%Language:Dockerfile 3.0%