Development
Technical Concepts

Getting Started

Cosmos-based Blockchain with EVM Compatibility

AIOZ Network enables EVM compatibility by implementing various components that together support all the EVM state transitions while ensuring the same developer experience as Ethereum:

  • Ethereum transaction format as a Cosmos SDK Tx and Msg interface
  • Ethereum's secp256k1 curve for the Cosmos Keyring
  • StateDB interface for state updates and queries
  • JSON-RPC client for interacting with the EVM

Power of EVM Compatibility:

An EVM-compatible solution has major advantages from three perspectives: the User, the Developer's, and the Business.

The User

It becomes considerably simpler and easier for users to switch from Ethereum to an EVM-compatible chain as AIOZ Network. For users, the products on the Ethereum ecosystem have a lengthy history and a solid reputation; therefore, users will feel at ease, convenient, and confident while interacting with similar Dapps on an EVM-compatible chain - AIOZ Network.

The Developer

Existing developers are more likely to be prone to become involved, as they can leverage their current knowledge and skills rather than learning something completely new.

Ethereum developers are already familiar with a multitude of technologies that facilitate the development of the ETH ecosystem, such as Web3.js or Remix, Truffle. This vast community of developers and supporters will simplify and expedite the process of development, training, and debugging.

The Business

Ethereum decentralized applications (dApps) span a wide range of genres, including GameFi, NFT, and DeFi, all of which need significant development capital. Thus, reusing the same codebase on another blockchain network will ensure that the user base grows and the business expands with minimal effort.

AIOZ Account

AIOZ uses custom Account type that utilizes Ethereum's ECDSA secp256k1 curve for keys. This satisfies the EIP84 (opens in a new tab) for full BIP44 (opens in a new tab) paths. The root HD path for AIOZ accounts is m/44'/60'/0'/0.

+++ https://github.com/tharsis/ethermint/blob/main/types/account.pb.go#L28-L33 (opens in a new tab)

Address Formats

EthAccount can be represented in both Bech32 (opens in a new tab) (aioz1...) and (Hex (opens in a new tab) ) (0x...) formats for Ethereum's Web3 tooling compatibility.

The Bech32 format is the default format for the Cosmos-based queries and transactions through CLI and REST clients.

The Hex format on the other hand, is the Ethereum common.Address representation of a Cosmos sdk.AccAddress.

For example:

  • Address (Bech32 (opens in a new tab)):

    aioz1j800cll9vq7l4rxfke2u74mjgkdlzrr0kyzl2j

  • Address (Hex (opens in a new tab) ):

    0x91defC7fE5603DFA8CC9B655cF5772459BF10c6f

  • Compressed Public Key: {"@type":"/ethermint.crypto.v1.ethsecp256k1.PubKey","key":"AsV5oddeB+hkByIJo/4lZiVUgXTzNfBPKC73cZ4K1YD2"}

Smart Contract

A smart contract is an agreement, a set of rules designed to store and execute on a blockchain when certain criteria are satisfied. User accounts can then interact with a smart contract by submitting transactions that execute a function defined on the smart contract. Smart contracts cannot be deleted by default, and interactions with them are irreversible.

In Ethereum Network, developers create smart contracts in a programming language called Solidity, then compile and deploy them into an Ethereum Virtual Machine to execute. Ethereum Virtual Machine (EVM) will be used as "state machine" since it is responsible for computing the state changes resulting from executing the code of smart contract.

Consider Uniswap as an example. Uniswap is an automated market maker protocol; it is a decentralized exchange with numerous trading pairs; the exchange method and price decisions are specified in smart contracts written in the Solidity programming language, then deployed and run on the EVM Virtual Machine.

Since AIOZ Network Blockchain fully supports EVM Smart Contract, developers can now directly deploy existing dApps on Ethereum Ecosystem to the AIOZ Network without altering any code.

You can follow these tutorials to start deploy EVM Smart Contract in AIOZ Network:

Besides, AIOZ Network will integrate WebAssembly Virtual Machine (WASM) to support WASM Smart Contract with Rust programming language, widely used in today’s emerging blockchain projects.

AIOZ Coins/Tokens

AIOZ Network Blockchain is a Cosmos-based chain with full Ethereum Virtual Machine (EVM) support. Because of this architecture, tokens and assets in the network may come from different independent sources.

AIOZ Accounts are able to have AIOZ Native Coins, Cosmos Coins, AIOZRC-20, AIOZ NFT EIP-721, AIOZ NFT EIP-1155

AIOZ Native Coin

The denomination used for staking, governance, and gas consumption on the EVM is the AIOZ. AIOZ is the main denomination to use for staking, governance, gas consumption for smart contracts executed on the EVM (Ethereum Virtual Machine)

AttoAIOZ is the smallest denomination of AIOZ.

One AIOZ = 1,000,000,000,000,000,000 AttoAIOZ

Cosmos Coins

AIOZ Accounts can store Cosmos coins from Cosmos-based blockchain by transferring using IBC (Inter Blockchain Communication Protocol)

AIOZ Tokens: AIOZRC-20, AIOZRC-721, AIOZRC-1155

AIOZ Network Blockchain has fungible token standard AIOZRC-20, and other non-fungible token standards (AIOZRC-721, AIOZRC-1155). These token standards are similar to Token (ERC-20), NFT (EIP721, EIP1155) from Ethereum Network.