Azura Chain is built on the Cosmos Network, which includes Tendermint, Application Blockchain Interface (ABCI), Cosmos SDK, and utilize Ignite CLI. These technologies form the foundation for interoperability and scalability. In this section, Azura will introduce the technologies it is based on.
Cosmos is a network of interconnected, application-specific blockchains built using standardized and customizable tools for blockchain architecture. It employs several key components to create a comprehensive framework for developing robust and scalable blockchain applications. By understanding and leveraging these technologies, Azura can build blockchain systems tailored to the specific needs. This modular approach allows for greater flexibility and efficiency in creating custom blockchain solutions.
The system is structured and illustrated as follows:
Azura Chain benefits from Tendermint consensus protocol, ensuring transaction security and consistency. Tendermint is a BFT consensus engine designed to replicate applications consistently and securely across multiple machines, which is commonly used in conjunction with PoS systems. It plays a crucial role in the blockchain ecosystem by ensuring all nodes agree on the same state, even in the presence of faulty or malicious nodes. It is designed to offer high performance, potentially capable of processing thousands of transactions per second, while maintaining robust security. Tendermint is composed of a consensus mechanism for blockchains and a versatile application interface. The core consensus engine, known as Tendermint Core, guarantees that all machines record identical transactions in the same sequence to achieve consistency.
Note
Tendermint is now known as CometBFT. CometBFT is the authoritative implementation of the Tendermint consensus. It originated as a fork of Tendermint Core in early 2023 and has since evolved with modern features.
Azura uses the ABCI to ensure communication between the Tendermint consensus engine and the application layer. This facilitates the construction of gaming applications on top of Azura Chain. The ABCI is a protocol that bridges Tendermint with the application. It allows to build the application in any programming language while leveraging the Tendermint consensus engine. ABCI acts as the data channel connecting Tendermint Core, the secure consensus layer of the blockchain, to the application layer that maintains and utilizes the state of the blockchain.
The main components in ABCI consist of the following:
The main message types in ABCI consist of the following:
This diagram illustrates an example. When a transaction enters the mempool, the consensus logic sends a CheckTx message to the application logic via ABCI, checking for transaction validation. If valid, the transaction results are sent to the consensus logic. For each proposed block, the consensus logic sends DeliverTx messages to process transactions. After receiving pre-commits from 2/3 of validators, Tendermint Core sends a Commit message. The transaction results along with the state root are sent to the consensus logic.
Azura utilizes the Cosmos SDK that can develop a diverse range of modules to build the application layer. This flexibility allows Azura Chain to create a tailored blockchain environment suitable for gaming applications. The Cosmos SDK is a framework designed to streamline the creation of blockchain applications. By providing a comprehensive set of tools and libraries, it significantly simplifies the development process, allowing Azura to concentrate on crafting game logic rather than focusing on underlying blockchain infrastructure. Key features and advantages of the Cosmos SDK include:
Azura takes advantage of Ignite CLI as a powerful tool designed to streamline the creation of blockchain networks built on the Cosmos SDK. The Ignite CLI (formerly Starport) can simplifies the process of creating and deploying Cosmos SDK-based blockchains. This command-line interface allows Azura to quickly establish Azura Chain ecosystems without the need for extensive manual setup. This streamlined approach enables the efficient and expedient creation of blockchain-based solutions.
Ignite CLI offers the following features:
Azura Chain is developed with the Cosmos SDK framework and incorporates multiple standard modules to offer various functionalities. These modules encapsulate essential blockchain functionalities and can be customized or extended as per requirements. Here are some of the critical modules utilized:
Module | Description | Key Features |
---|---|---|
Auth | Manages account, transaction authentication / authorization | * Secure identity management * Transaction validation |
Bank | Handles basic token operations | * Transfers between accounts * Minting, burning, supply |
Governance | Enables on-chain governance mechanism | * Proposal submission * Voting and decision-making |
NFT | Supports creation, management, transfer of NFT | * Essential for applications requiring unique digital asset representation |
Staking | Implements Proof-of-Stake consensus mechanism | * Allows validators to stake tokens and earn rewards |
Distribution | Manages the distribution of staking rewards | * Fair and transparent reward allocation to validators / delegators |
IBC | Enables interoperability between different blockchains | * Cross-chain token transfers * Inter-chain communications |