Skip to content

Latest commit

Β 

History

2,811 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

axone github banner

Β  Β  Β  Β 

Axone - Orchestration Layer for AI

lint-go build-go test-go codecov docker-pull Godoc Reference

Built with Nix conventional commits semantic-release Contributor Covenant license

Axone is a public dPoS layer 1 specifically designed for connecting, sharing, and monetizing any resources in the AI stack. It is an open network dedicated to collaborative AI workflow management that is universally compatible with any data, model, or infrastructure. Data, algorithms, storage, compute, APIs... Anything on-chain and off-chain can be shared.

The protocol

axoned is the node of the AXONE network built on the Cosmos SDK πŸ’« & CometBFT consensus, which allows companies & individuals to define on-chain rules, share any off-chain resources & create a new generation of applications on top of them.

  • πŸ“– Read the introduction blog post to understand the project’s vision.
  • 🧠 Explore the white paper for a deeper look at the protocol architecture and network economics.

Looking for more?

Want to become a validator?

Validators are responsible for securing the axone network. Validator responsibilities include maintaining a functional node with constant uptime and providing a sufficient amount of $AXONE as stake. In exchange for this service, validators receive block rewards and transaction fees.

Want to become a validator? πŸ‘‰ Checkout the documentation!

Looking for a network to join ? πŸ‘‰ Checkout the networks!

Supported platforms

The axoned blockchain currently supports the following builds:

Platform Arch Status
Darwin amd64 βœ…
Darwin arm64 βœ…
Linux amd64 βœ…
Linux arm64 βœ…
Windows amd64 ️🚫
Not supported

Intel Darwin is not supported by the Nix development environment. Note: as the blockchain depends on CosmWasm/wasmvm, we only support the targets supported by this project.

Releases

All releases can be found here.

axoned follows the Semantic Versioning 2.0.0 to determine when and how the version changes, and we also apply the philosophical principles of release early - release often.

Newly published release binaries are accompanied by an SPDX SBOM and signed SLSA provenance. A downloaded binary can be verified against this repository:

gh attestation verify ./axoned-X.Y.Z-linux-amd64 --repo axone-protocol/axoned

Install

From release

curl https://i.jpillora.com/axone-protocol/axoned! | bash

From source

make install

Using docker

docker run -ti --rm axoneprotocol/axoned --help

Release images published to GHCR and Docker Hub include an SPDX software bill of materials (SBOM) and SLSA build provenance. The provenance of a GHCR release image is also signed by GitHub Actions and can be verified against this repository:

AXONED_IMAGE=ghcr.io/axone-protocol/axoned:X.Y.Z
docker login ghcr.io
gh attestation verify "oci://${AXONED_IMAGE}" --repo axone-protocol/axoned

The SBOM and build provenance attached to an image can be inspected with Docker Buildx:

docker buildx imagetools inspect "${AXONED_IMAGE}" --format '{{ json .SBOM }}'
docker buildx imagetools inspect "${AXONED_IMAGE}" --format '{{ json .Provenance }}'

Developing & contributing

axoned is written in Go and built using Cosmos SDK. A number of smart contracts are also deployed on the AXONE blockchain and hosted in the axone-protocol/contracts project.

Prerequisites

  • install Nix;
  • install direnv and nix-direnv, then run direnv allow from the repository root;
  • without direnv, enter the development shell with nix develop before invoking make;
  • verify that Docker is properly installed and running if you use Docker-related targets.

Makefile

The project comes with a convenient Makefile that helps you to build, install, lint and test the project.

$ make <target>

Targets:
  Lint:
    lint                Lint all available linters
    lint-go             Lint go source code
    lint-go-golangci    Lint go source code with golangci-lint
    lint-go-gofumpt     Lint go source code format with gofumpt
    lint-proto          Lint proto files
  Format:
    format              Run all available formatters
    format-go           Format go files
    format-proto        Format proto files
  Build:
    build               Build all available artefacts (executable, docker image, etc.)
    build-go            Build node executable for the current environment (default build)
    build-go-all        Build node executables for all available environments
    build-docker        Build docker image
  Install:
    install             Install node executable
  Test:
    test                Pass all the tests
    test-go             Pass the test for the go source code
  Chain:
    chain-init          Initialize the blockchain with default settings.
    chain-start         Start the blockchain with existing configuration (see chain-init)
    chain-stop          Stop the blockchain
    chain-upgrade       Test the chain upgrade from the given FROM_VERSION to the given TO_VERSION.
  Clean:
    clean               Remove all the files from the target folder
  Proto:
    proto               Generate all resources for proto files (go, doc, etc.)
    proto-gen           Generate all the code from the Protobuf files
  Documentation:
    doc                 Generate all the documentation
    doc-proto           Generate the documentation from the Protobuf files
    doc-command         Generate markdown documentation for the command
    doc-predicate       Generate markdown documentation for all the predicates (module logic)
  Mock:
    mock                Generate all the mocks (for tests)
  Release:
    release-assets      Generate release assets
  Help:
    help                Show this help.

This Makefile uses tools provided by the Nix development environment. Docker remains a host dependency:
- for macOS: https://docs.docker.com/docker-for-mac/install/
- for Windows: https://docs.docker.com/docker-for-windows/install/
- for Linux: https://docs.docker.com/engine/install/

Build

To build the axoned node, invoke the goal build-go of the Makefile:

make build-go

The binary will be generated under the folder target/dist.

Build a docker image

This project leverages heighliner, provided by the Nix development environment, to simplify the management and creation of production-grade container images:

make build-docker

Run a local network

To initialize a local network configuration, invoke the goal chain-init of the Makefile:

make chain-init

The node home directory will be generated under the folder target/deployment/localnet. The configuration contains a single validator node.

To start the network, invoke the goal chain-start of the Makefile:

make chain-start

A wallet is preconfigured with some tokens, you can use it as follows:

axoned --home target/deployment/localnet tx bank send validator [to_address] [amount]

Bug reports & feature requests

If you notice anything not behaving how you expected, if you would like to make a suggestion or would like to request a new feature, please open a new issue. We appreciate any help you're willing to give!

Don't hesitate to ask if you are having trouble setting up your project repository, creating your first branch or configuring your development environment. Mentors and maintainers are here to help!

Audit

Date Auditor Version Report
2024/08/22 BlockApex 2f0f84d (v10.0.0) Axone Blockchain - Final Audit Report.pdf

Community

The AXONE Discord Server is our primary chat channel for the open-source community, software developers and node operators.

Please reach out to us and say hi πŸ‘‹, we're happy to help there.

You want to get involved? 😍

So you want to contribute? Great! ❀️ We appreciate any help you're willing to give. Don't hesitate to open issues and/or submit pull requests.

We believe that collaboration is key to the success of the Axone project. Join our Community discussions on the Community space to:

  • Engage in conversations with peers and experts.
  • Share your insights and experiences with Axone.
  • Learn from others and expand your knowledge of the protocol.

The Community space serves as a hub for discussions, questions, and knowledge-sharing related to Axone. We encourage you to actively participate and contribute to the growth of our community.

Please check out Axone health files:

About

⛓️ Axone blockchain πŸ’«

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

175 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

Generated from okp4/template-oss