Skip to content

akash-network/chain-sdk

Repository files navigation

Akash Chain SDK

Lint Status Test Status

Overview

This repository is a development gateway to the Akash Blockchain. It aims following:

  • Define data types and API via protobuf
    • Akash Blockchain and it's stores, aka node
    • Akash Provider Interface, aka provider
  • Define data types and API (both REST and GRPC) of Akash Provider Interface
  • Provide official reference clients for supported programming languages

Supported languages

Golang

This implementation provider all necessary code-generation as well as client defining Akash Blockchain There are a few packages this implementation exports. All packages available via Vanity URLs which are hosted as Github Pages.

Go package

Source code is located within go directory

Contains all the types, clients and utilities necessary to communicate with Akash Blockchain

import "pkg.akt.dev/go"
Migrate package

Depending on difference in API and stores between current and previous versions of the blockchain, there may be a migrate package. It is intended to be used by node only.

import "pkg.akt.dev/go/node/migrate"

SDL package

Reference implementation of the SDL.

import "pkg.akt.dev/go/sdl"

CLI package

CLI package which combines improved version of cli clients from node](https://github.com/akash-network/node) and cosmos-sdk

import "pkg.akt.dev/go/cli"

TS

Source code is located within ts directory

Protobuf

All protobuf definitions are located within proto directory.

This repository consolidates gRPC API definitions for the Akash Node and Akash Provider. It also includes related code generation.

Currently, two buf packages are defined, with potential future publication to BSR based on demand:

  • Node Package: buf.build/pkg.akt.dev/node
  • Provider Package: buf.build/pkg.akt.dev/provider

Proto documentation is available for:

Documentation in swagger format combining both node and provider packages can be located here

How to run protobuf codegen

If there is a need to run regenerate protobuf (in case of API or documentation changes):

  1. Install direnv and hook it to the shell

    • MacOS
    brew install make direnv
  2. Allow direnv within project

    direnv allow
  3. Run codegen. This will

    make proto-gen
    • to run codegen for specific language use make proto-gen-<lang>. For example
    make proto-gen-go

Releases

Releases indicate changes to the repository itself. API versions are defined within each module.

Contributing

Please submit issues via the support repository and tag them with repo/chain-sdk. All pull requests must be associated with an open issue in the support repository.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 7