Overview
Akash is a cloud infrastructure platform whose resources are provided
by independent datacenters. A high-level overview of the Akash Protocol
can be found here; a detailed
protocol definition can be found here; and the target
workload definition spec is here.
This repository contains Akash Suite, the reference implementation of the
Akash Protocol. It is an actively-developed
prototype currently focused on the distributed marketplace functionality.
The Akash Suite is composed of two applications: akash
and akashd
. akashd
is the (tendermint-powered) blockchain node that
implements the decentralized exchange; akash
is the client used to access the exchange and network
in general.
Building
Dependencies
Akash is developed and tested with golang 1.8+. Building requires a working golang installation, a properly set GOPATH
, and $GOPATH/bin
present in $PATH
.
Additional requirements are:
- glide: Golang library management.
For development environments, requirements include:
Most golang libraries will be packaged in the local vendor/
directory via glide, however the following packages will
be installed globally with their binaries placed in $GOPATH/bin
by make devdeps-install
:
See below for dependency installation instructions for various platforms.
MacOS:
brew install glide
# dev environment only:
brew install protobuf
Arch Linux:
curl https://glide.sh/get | sh
# dev environment only:
sudo pacman -Sy protobuf
Akash Suite
Download and build akash
and akashd
:
go get -d github.com/ovrclk/akash
cd $GOPATH/src/github.com/ovrclk/akash
make deps-install
make
# dev environment only:
make devdeps-install
Running
We use thin integration testing environments to simplify
the development and testing process. We currently have two environments:
Each of these environments can demonstrate:
- Sending tokens from one account to another.
- Creating provider accounts.
- Running a provider which bids on open orders.
- Creating deployments.
- Obtaining leases for deployments.
- Monitoring marketplace activity.
- Querying details of all objects.