Skip to content

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:

  1. Node implementation: This is a client that is used to connect to the chain, download blocks, manage keys, etc.
  2. 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.