/axon

Axon is a Layer 2 framework of CKB with native cross-chain and interoperability.

Primary LanguageRustMIT LicenseMIT

Developed by AxonWeb3

Versioning

Note this is the branch for Axon v0.3.

Axon v0.2 (beta) is still in operation but is not being actively developed.

What is Axon

Axon is a high-performance Layer 2 framework with native cross-chain function. Built on top of the Overlord consensus protocol and the P2P network Tentacle , Axon supports hundreds of nodes and achieves thousands of TPS. Axon is also EVM-compatible with well-developed toolchains. Its high interoperability facilitates cross-chain communication among dApps.

Highlights

Developer-Friendly Design

Axon is compatible with Ethereum so that all of the develop utilities can be used on it directly. Seeing is believing, there is a 15 minutes tutorial that will lead you to build your own chain and deploy your application.

Native Cross-Chain Communication

Openness and mobility are the foundation of social development, so is blockchain. Cross-chain function enhances liquidity for the web3 ecosystem. Axon develops native cross-chain communication without any bridge. Each Axon-based chain can speak to CKB, other Axon-based chains, and any IBC compatible chains. Axon will embed more cross-chain protocols in the future.

Staking on Layer 1 CKB

Axon supports a Proof-of-Stake (PoS) consensus mechanism and requires each Axon-based appchain to issue native Extensible User Defined Tokens (xUDTs), which are designed and customized by the app chain's development team and released on CKB. For simplicity, the xUDTs on Axon-based chains are referred to as Axon tokens (AT tokens) below. Holders of AT tokens can stake to become validators and/or delegate their tokens to other validators in exchange for rewards. Unlike other sidechains where staking takes place on Layer 2, Axon's staking is grounded on Layer 1 CKB. Validators and other participants stake their native AT tokens on CKB, which uses a Proof-of-Work (PoW) consensus mechanism. This unique staking design helps Axon-based appchains enjoy the highest degree of decentralization and security from Layer 1 while maintain their high performance and sovereignty as independent Layer 2 networks.

Roadmap

Most of the infrastructure has been done and some substantial features to be developed are as below:

  1. Compatible with IBC protocol.
  2. Design a cross-chain protocol for EVM-based chains.
  3. Compatible with more cross-chain protocols in the future.

Getting Started

You could build Axon from source code, or use a docker image to run an Axon node.

Compile from Source

If you perfer to build Axon from source code, please make sure that rust, clang, openssl, m4 have already been installed. Then execute the following commands:v

# Clone the Axon repository from GitHub
git clone --depth=1 https://github.com/axonweb3/axon.git && cd axon
# Build Axon in release mode
cargo build --release
# Initialize the chain
target/release/axon init \
    --config     devtools/chain/config.toml \
    --chain-spec devtools/chain/specs/single_node/chain-spec.toml
# Start a single Axon node
target/release/axon run --config devtools/chain/config.toml

Working with Docker

While compiling from source can take about 20 minutes, if you want a quick start, a docker-compose file is provided, see quick-start.md.

Multiple nodes

For running multiple nodes, first create toml files for each node and run different nodes in separate terminals or docker containers. The metadata in the genesis transactions should be updated to include all nodes' credentials. Here is a simple Example.

Toolchains

Apart from the framework, Axon has:

Contributing

Please read the CONTRIBUTING.md for details on code of conduct, and the process for submitting pull requests. And the security policy is described in SECURITY.md.

Communication

The following ways are a great spot to ask questions about Axon:

Socials

All Axon related accounts are displayed via linktree.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.