akash

module
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2019 License: Apache-2.0

README

Akash

Build status Go Report Card License

Akash is a secure, transparent, and decentralized cloud computing marketplace that connects those who need computing resources (tenants) with those that have computing capacity to lease (providers).

For a high-level overview of the Akash protocol and network economics, check out the whitepapers; a detailed protocol definition can be found in the design documentation; and the target workload definition spec is here.

Akash Suite

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.

Get Started

The easiest way to get started with akash is by trying Testnet. Sign up here to get started.

Installing

The latest binary release can be installed with Homebrew:

$ brew tap ovrclk/tap
$ brew install akash

Or GoDownloader:

$ curl https://raw.githubusercontent.com/ovrclk/akash/master/godownloader.sh | sh

Building

Dependencies

Akash is developed and tested with golang 1.11+. 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:

  • Single node: simple (no workloads) single node running locally.
  • Single node with workloads: single node and provider running locally, running workloads within a virtual machine.
  • Multi node: multiple nodes and providers running in a virtual machine.

Directories

Path Synopsis
cmp
app
market/mocks
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.
cmd
mocks
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.
pkg
apis/akash.network/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/akash.network/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/akash.network/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cluster/kube/mocks
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.
cluster/mocks
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.
manifest/mocks
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.
mocks
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.
mocks
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.
mocks
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.
Package types is a generated protocol buffer package.
Package types is a generated protocol buffer package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL