Projects
You can find a list of projects related to the Mosaic Chain.
Blockchain
This project contains the source code for the Mosaic Chain. The project can be broken down into two main categories:
- Node implementation: This is a client that is used to connect to the chain, download blocks, manage keys, etc.
- Runtime: This is the code runnning on the chain, which produces blocks.
Indexer
The Indexer provides historical informations about the chain. While the blockchain keeps only the data that is required for consensus, the indexer keeps all historical data, that happened for the chain.
Example features:
- Get a user's balance history.
- How much reward did a validator earn on a single day.
Admin Backend
This is a convinience layer for validators that enables them to do operations on their validator nodes without the need for their stash account (in a web2-like way).
Example features:
- Chill validator node
- Update validator node
VPN Controller
Mosaic Chain validators are placed in a full-mesh VPN powered by Nebula. The VPN Controller is responsible to distribute IP addresses and certifiactes used for authentication.
TIP
The VPN network is currently using the 10.137.0.0/16 IPv4 address range.
Gateway
Gateway nodes are acting as a proxy between the internet and the Mosaic VPN. It provides a convinient way to connect to your validator node without the need to be on the same network, while also achieving a decentralized connnection manner.
Redirect
Redirect nodes are acting as a load balancer that redirects users to avaialble gateway nodes.
Explorer
This is the frontend used to interact with the Mosaic Chain. It sources the data from Indexer, directly from the blockchain and from the admin backend. The Explorer can dynamically connect to any node in the network.
Telemetry
The Telemetry website collects incoming information from the blockchain nodes and aggregates them. Its' primary role is to track hardware in use on the chain.
Metrics
The Metrics website collects on-chain information about several key metrics on the chain (such as number of slashes, minted NFTs, etc.). It can provide historical data for up to 1 year.
Chopsticks
The Chopsticks project can be used to fork existing chains. This can be useful to test transactions that would otherwise require root privilige.
Scripts
It is a collection of scripts that can be used do administrative tasks on chains (eg: mint NFTs, execute something as council).
WARNING
The Scripts repository has the development accounts hardcoded as council members. This means that you can execute these commands only on chains, where council members are the development accounts.
TIP
You can use the Chopsticks repository to fork an existing chain. These forks are configured to set the development accounts as council members for this exact purpose.
Announcer (Deprecated)
The Announcer was previously used to announce the blockchain node to the Gateway nodes. We have changed this behavior to instead directly query the VPN Controller for available blockchain nodes.