Skip to content

Commit

Permalink
docs: update and rebrand
Browse files Browse the repository at this point in the history
  • Loading branch information
neriumrevolta committed Jul 18, 2023
1 parent 143f3af commit 99cd201
Show file tree
Hide file tree
Showing 6 changed files with 312 additions and 259 deletions.
26 changes: 19 additions & 7 deletions docs/graphcast/design-principles.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,34 @@ The SDK is the base layer which is used to abstract all the necessary components
- Checks message validity for past message injections, nonexistent blocks and expired timestamps. It also guarantees that messages are signed by an authorised operator address of an active on-chain Indexer (this can be used as a basis for a reputation system).
- Supports a flexible and customizable configuration of the Graphcast gossip agent, enabling specification of network settings, peer discovery mechanisms, message encoding formats, and more. For detailed instructions on configuring Graphcast to suit your needs, refer to the configuration guide.
- Topics in Graphcast represent different categories or subjects of information. Nodes can dynamically subscribe to specific topics to receive messages related to those topics. Topics enable efficient message routing and dissemination within the network.
- Provides comprehensive message handling structure to ensure that messages are reliably transmitted, received, and processed within the network.
- Provides comprehensive message handling structure to ensure that messages are reliably transmitted, received, and processed within the network.

## Radios

General Radio components

- Supports Radio for specific use cases.
- Controls topic subscriptions dynamically for interested topics.
- Provides radio type definition used to verify the integrity and authenticity of messages exchanged within the network.
- Controls topic subscriptions dynamically for interested topics.
- Provides Radio type definition used to verify the integrity and authenticity of messages exchanged within the network.
- Collects Radio-specific information and incorporates it into Graphcast messages along with other relevant metadata.
- Observes and handles relevant messages received from peers.
- Provides performance metrics, logs, and API services.

Our first example Radio is built for real-time cross-checking of Indexer Proof of Indexing attestations (POIs). Indexers must generate valid POIs to earn indexing rewards. Indexers find it beneficial to alert each other on the health status of subgraphs in community discussions. To alleviate the manual workload, the POI Radio:
The first Radio built on top of Graphcast is the Subgraph Radio. It's designed to facilitate real-time information exchange among participants in The Graph network and serves as a tool for Indexers and other network participants to share valuable Subgraph data.

With Subgraph Radio, Indexers can run a single Radio instance and track a wide variety of message types and data related to Subgraphs. Different use cases and message types form the different _functionalities_ of the Radio.

### Functionalities

#### Proof of Indexing (POI) cross-checking

Indexers must generate valid POIs to earn indexing rewards. Indexers find it beneficial to alert each other on the health status of subgraphs in community discussions. To alleviate the manual workload, the POI functionality within Subgraph Radio:

- Defines message types and topics
- Collects POIs from the Graph node and sends them inside of Graphcast messages along with other useful metadata
- Observes relevant messages and aggregates POIs sent from other Indexers, in order to compare _local_ POIs to _remote_ POIs
- Monitors the network for conflicts and takes certain actions if needed, for instance Indexers can configure an alert system to send messages to a custom channel in their Slack workspace (support for Discord and email notifications coming soon).
- Collects public POIs from the Graph node and sends them inside of Graphcast messages along with other useful metadata
- Observes relevant messages and aggregates public POIs sent from other Indexers, in order to compare _local_ POIs to _remote_ POIs
- Monitors the network for conflicts and takes certain actions if needed, for instance Indexers can configure an alert system to send messages to a custom channel in their Slack workspace, a Discord channel, or a Telegram chat.

#### Subgraph Versioning

The subgraph versioning functionality provides a way for Subgraph Developers to signal when they plan on releasing a new subgraph version, thereby allowing Indexers to start syncing the subgraph in advance. If the Radio operator has set up the notification system, they will get notified whenever a new subgraph versioning message is received.
Loading

0 comments on commit 99cd201

Please sign in to comment.