Chromia protocols
Chromia provides a set of protocols that help you manage accounts, tokens, and communication between blockchains in the network. These protocols work together to establish a robust foundation for your digital assets.
- FT4 (Flexible Tokens, version 4): The core component for account and token management in Chromia, providing a library for complex blockchain solutions.
- ICMF (Inter-chain Messaging Facility): Facilitates communication between blockchains within a dapp cluster.
- ICCF (Inter-chain Confirmation Facility): Enables communication between blockchains that operate in different dapp clusters.
Let's explore each of these protocols in more detail.
FT4 protocol
The FT4 protocol offers a library that assists developers in creating complex blockchain solutions related to fungible tokens and accounts in the Chromia network. It supports features like token registration, token transfers, and account creation.
Asset registration
To create an asset on the chain, developers use the FT4 library. They specify the name, ticker, decimals, and values required to register the new asset and mint tokens to an account. Based on business logic, they distribute tokens as specified in the code—this process is known as on-chain asset registration.
Developers can also perform cross-chain asset registration, which involves initially minting an asset on chain A and then registering it with chain B. Once the cross-chain registration is complete, the asset becomes available for transfers.
Account registration
Unlike traditional blockchain networks that use an address for receiving and transferring digital assets, Chromia utilizes accounts as the primary unit for managing balances and performing network operations. Accounts on Chromia resemble traditional web2 accounts, but instead of passwords, they use private/public key pairs for management. Developers register accounts on demand, meaning that if an account has not yet been created, it cannot receive transfers. This contrasts with traditional blockchains, where all addresses exist simultaneously and are available for deposits.
To register an account, developers create the necessary functionality using the FT4 library. They can implement any required business logic related to the account registration process. Once an account exists, its owner can send and receive assets both on-chain and across blockchains within the Chromia network.
FT4 user accounts can also use Ethereum and Binance Chain account addresses, allowing dapp developers to enable users to authenticate with an existing wallet, such as MetaMask. Alternatively, Chromia provides a native wallet solution called the Chromia Vault.
Developers can transfer assets between accounts on the same blockchain or across blockchains within the Chromia network. They can also bridge assets to and from Ethereum or Binance Chain, outside the Chromia network, using Chromia's bridging framework.
Account management
Developers can manage accounts using either a single private/public key pair or multiple key pairs. In both cases, they must design the corresponding account registration and management processes.
For more detailed information, visit the Chromia FT4 documentation.
Cross-chain communication protocols
Inter-chain messaging facility (ICMF)
By default, blockchains running in a single dapp cluster cannot communicate with each other. Communication means that
one blockchain can read data from another and act accordingly. To enable this functionality, developers must implement
the ICMF, which serves as an event-based service. Here, blockchain_#1
emits events while
blockchain_#2
subscribes to these events, reads them, and triggers the corresponding functions based on their content.
For more information about this protocol and integration, refer to the ICMF documentation.
Inter-chain confirmation facility (ICCF)
Blockchains that run in different dapp clusters also cannot exchange messages directly. While the ICMF protocol manages
communication within a single dapp cluster, the ICCF enables communication between blockchains in entirely separate dapp
clusters. The ICCF functions as a client application, acting as an intermediary between blockchain_#1
and
blockchain_#2
. It submits transactions on blockchain_#1
, waits for validation, and then presents the proof of the
validated transaction to blockchain_#2
. This proof allows the construction of a valid transaction on blockchain_#2
to update the account balance.
For example, if a user wishes to transfer assets from their account on blockchain_#1
to their account on
blockchain_#2
, the ICCF client initiates the asset transfer. The transfer is validated on blockchain_#1
, after which
the ICCF constructs the proof based on the validated transaction and submits it to blockchain_#2
. For more information
about the protocol and integration, refer to the ICCF documentation.
Next up
Next, we'll look at Generic Transaction Protocol (GTX) that Postchain uses for sending and receiving transactions. GTX is encoded into the base protocol GTV (Generic Transfer Value), which is Chromia's fundamental data serialization format used to encode and decode all data structures in the blockchain.