Adding a Rollup to the Registry
To add a rollup to the registry, follow these steps:Fork the Initia Registry Repository
To make changes to the registry, you will need to fork the Initia Registry repository. This will create a copy of the repository in your own GitHub account.Add the Rollup to the Registry
Once you have forked the repository, you can add the rollup to the registry by following these steps:- Add a new folder with your rollup’s name in the
testnetsormainnetsfolder, depending on whether your rollup is currently live on the testnet or mainnet. - Add a
chain.jsonfile to the folder. This file will contain the metadata for your rollup to be used by the apps.
Example Chain Schema and Description
Example Chain Schema and Description
Description
General Information| Field | Description | Optional |
|---|---|---|
$schema | The schema definition file. (should always be ../../chain.schema.json) | No |
chain_name | The name of the rollup. | No |
chain_id | The chain ID of the rollup. | No |
website | The website of the rollup. | No |
pretty_name | A human-readable name for your rollup. | No |
status | The current status of the rollup (e.g., live). | No |
network_type | The type of network (one of mainnet, testnet, devnet). | No |
bech32_prefix | The Bech32 prefix used for addresses on the blockchain. | No |
daemon_name | The name of the daemon process for the blockchain (e.g., minitiad). | No |
node_home | The default home directory for the blockchain node. | No |
key_algos | The cryptographic algorithms supported for keys. | No |
slip44 | The SLIP-0044 identifier for the blockchain. | No |
description | A brief description of the rollup. | No |
| Field | Description | Optional |
|---|---|---|
fees | Details about the fee and fee tokens on the rollup. | No |
fee_tokens | Tokens used for fees, including their denominations and gas prices. | No |
| Field | Description | Optional |
|---|---|---|
staking | Information about staking on the rollup. | No |
staking_tokens | Tokens used for staking. | No |
| Field | Description | Optional |
|---|---|---|
codebase | Information about the blockchain’s codebase. | No |
git_repo | The URL of the Git repository for the rollup. | No |
recommended_version | The recommended version of the rollup software. This should in most cases be the latest version of the software. | No |
compatible_versions | Versions of the rollup software that are compatible. | No |
binaries | URLs for downloading binary files for different platforms. | No |
genesis | Information about the genesis block of the rollup. | No |
genesis_url | The URL to download the rollup genesis file. | No |
versions | List of versions of the rollup software. | No |
| Field | Description | Optional |
|---|---|---|
peers | Information about network peers. | No |
seeds | The list of seed nodes for the rollup. | No |
persistent_peers | The list of persistent peers for the rollup. | No |
| Field | Description | Optional |
|---|---|---|
apis | Information about the different endpoints for the rollup. | No |
rpc | RPC endpoints and their providers. | No |
rest | REST endpoints and their providers. | No |
grpc | gRPC endpoints and their providers. | No |
| Field | Description | Optional |
|---|---|---|
explorers | Blockchain explorers available for the network. | No |
kind | The type of explorer. | No |
url | The URL of the explorer. | No |
tx_page | The URL template for transaction pages. | No |
account_page | The URL template for account pages. | No |
| Field | Description | Optional |
|---|---|---|
images | URLs for images related to the blockchain. | No |
png | URL for the PNG image. | No |
svg | URL for the SVG image. | No |
logo_URIs | URLs for the blockchain logo. | No |
| Field | Description | Optional |
|---|---|---|
metadata | Additional metadata about the blockchain. | No |
op_bridge_id | The bridge ID for operations. | Yes |
op_denoms | Denominations used in by the OP Bridge. | Yes |
executor_uri | The URI for the executor service. | Yes |
ibc_channels | Information about IBC channels. | Yes |
chain_id | The chain ID for the IBC channel. | No |
port_id | The port ID for the IBC channel. | No |
channel_id | The channel ID for the IBC channel. | No |
version | The version of the IBC protocol used. | No |
assetlist | URL for the asset list JSON file. | Yes |
minitia | Specific metadata for the rollup. | No |
type | The type of chain (one of minimove, minievm, or miniwasm). | No |
version | The version of the rollup. | No |
- Create an
assetlist.jsonfile in the folder. This file will contain the metadata for the assets on your rollup to be used by the apps.
Example Assetlist Schema and Description
Example Assetlist Schema and Description
| Field | Description | Optional |
|---|---|---|
| name | The name of the token | No |
| symbol | The symbol of the token | No |
| description | The description of the token | No |
| coingecko_id | The CoinGecko ID of the token | Yes |
| Field | Description | Optional |
|---|---|---|
| denom_units | List of denomination units | No |
| denom_units.denom | The denomination identifier (e.g. “uinit”, “INIT”) | No |
| denom_units.exponent | The exponent of the denomination (e.g. 0, 6) | No |
| Field | Description | Optional |
|---|---|---|
| base | The base denomination of the token (e.g. uinit, l2/…) | No |
| display | The display denomination identifier (e.g. INIT) | No |
| Field | Description | Optional |
|---|---|---|
| traces | List of trace information for the token | No |
| traces.type | The type of trace (e.g., “op”, “ibc”) | No |
| traces.counterparty | Information about the counterparty chain | No |
| traces.counterparty.base_denom | The base denomination on the counterparty chain | No |
| traces.counterparty.chain_name | The name of the counterparty chain | No |
| traces.counterparty.channel_id | The channel ID on the counterparty chain | Yes |
| traces.chain | Information about the current chain | No |
| traces.chain.bridge_id | The bridge ID on the current chain | Yes |
| traces.chain.channel_id | The channel ID on the current chain | Yes |
| traces.chain.path | The path on the current chain | Yes |
| Field | Description | Optional |
|---|---|---|
| images | List of image URIs for the token | No |
| images.png | The PNG image URI for the token | No |
| images.svg | The SVG image URI for the token | No |
| Field | Description | Optional |
|---|---|---|
| logo_URIs | Object containing logo URIs for the token | No |
| logo_URIs.png | The PNG logo URI for the token | No |
| logo_URIs.svg | The SVG logo URI for the token | No |
How to Derive a Bridged Token Denom
How to Derive a Bridged Token Denom
For tokens bridged from L1, the denom can vary depending on the type of bridge used. In order for token bridging to work correctly, you must add the appropriate denom to your assetlist.We have two scenarios for calculating the denom:IBC Denom
- OP Denom: The denom used in the OP Bridge
- IBC Denom: The denom used in the IBC Bridge
denom.ts
denom.ts
- (Optional) create an
imagesfolder to store the images for your rollup logo and token logos to link to in the two JSON files above.