Directory chain

The directory chain framework contains the logic for the system chains on Chromia:

Directory chain:

A dapp for managing all blockchains in the network, including itself. It stores all the needed information to run the network, such as a list of providers, nodes and configurations (code) of all blockchains on the Chromia network. This information is crucial for nodes to synchronize and maintain a consistent network state.

Economy chain:

The economy chain acts as the financial core of the network, managing container pricing, provider rewards, and dapp payments through leases. It communicates with the directory chain for resource allocation and leverages a pooled reward system to incentivize node providers. Cost and reward calculations factor in metrics like node availability, occupancy, and set fees.

The staking logic of the economy chain pays a fixed reward rate proportional to the stake delegated. The staked CHR can be deposited on the economy chain, but rewards will also be paid for staking with the legacy TwoWeeksNotice contract on Ethereum mainnet and Binance Smart Contract Chain.

Cluster Anchoring Chain:

Each cluster has its own anchoring chain, specifically responsible for anchoring blocks from its associated chains. This process involves serializing and committing the headers of all blockchains within a cluster to the cluster anchoring chain. Subsequently, these committed blocks can be further anchored to either a system anchoring chain or an external blockchain like Ethereum.

System Anchoring Chain:

The system anchoring chain stands as the top-level anchoring point for the entire Chromia network. It serves as a repository for anchoring blocks from all cluster anchoring chains. This comprehensive anchoring mechanism provides a unified view of the network's state, facilitating the detection and resolution of consensus failures. In the event of a consensus failure, blocks anchored in the system anchoring chain take precedence over conflicting versions, ensuring the integrity and reliability of the Chromia network.

Namespaces

Link copied to clipboard

Cluster Anchoring Chain

Link copied to clipboard

Common logic for anchoring chains

Link copied to clipboard

System Anchoring Chain

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Cluster Management API

Link copied to clipboard

Common logic for directory chain

Link copied to clipboard

Initialization module for the common logic

Link copied to clipboard

Common operations always accessed withing the directory chain

Link copied to clipboard

Common queries always accessed withing the directory chain

Link copied to clipboard

This module contains shared logic to evaluate consensus for voting and provider auth modules.

Link copied to clipboard

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

This is a generic proposal and voting module using pubkeys as voter set members. However provider keys can be used for actual voting.

Link copied to clipboard

Import this module to get a generic operation to manage voter sets. Extend validate_voter_set_proposal to restrict usage if needed.

Link copied to clipboard
Link copied to clipboard

Link copied to clipboard

Simple module to support delayed events by adding an event entity and then extend and listen to the callback.

Link copied to clipboard

This module is bound to proposals in directory-chain.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The purpose of this module is to migrate data in the same way we do in EC.

Link copied to clipboard
Link copied to clipboard

Link copied to clipboard

Link copied to clipboard

Link copied to clipboard

Link copied to clipboard

Node Management API

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Link copied to clipboard

This module contains support for provider multi key authentication. A provider can have one or more keys and also define a threshold for keys required to sign a operation.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Link copied to clipboard

Link copied to clipboard

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard