This repository is a development gateway to the Akash Blockchain. It aims following:
- Define data types and API via protobuf
- Define data types and API (both REST and GRPC) of Akash Provider Interface
- Provide official reference clients for supported programming languages
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.
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"
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"
Reference implementation of the SDL.
import "pkg.akt.dev/go/sdl"
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"
Source code is located within ts directory
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
If there is a need to run regenerate protobuf (in case of API or documentation changes):
-
Install direnv and hook it to the shell
- MacOS
brew install make direnv
-
Allow direnv within project
direnv allow
-
Run codegen. This will
- Install all required tools into local cache
- generate changes to all supported programming languages
make proto-gen
- to run codegen for specific language use
make proto-gen-<lang>
. For example
make proto-gen-go
Releases indicate changes to the repository itself. API versions are defined within each module.
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.