icafa / akash

a secure, transparent, and peer-to-peer cloud computing network

Home Page:https://akash.network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Akash - Decentralized Serverless Network

Build status Go Report Card License

Akash

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.

NOTE

The master branch is currently unstable as we migrate to cosmos-sdk from the previous tendermint-core implementation. The previous, stable branch can be found at stable.

Akash Suite

Akash Suite is the reference implementation of the Akash Protocol. Akash is an actively-developed prototype currently focused on the distributed marketplace functionality.

The 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 with Akash

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

Join the Community

Official blog and documentation

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

Roadmap and contributing

Akash is written in Golang and is Apache 2.0 licensed - contributions are welcomed whether that means providing feedback, testing existing and new feature or hacking on the source.

To become a contributor, please see the guide on contributing

Building from Source

Dependencies

Akash is developed and tested with golang 1.13.1+. Building requires a working golang installation, a properly set GOPATH, and $GOPATH/bin present in $PATH.

For development environments, requirements include:

Most golang libraries will be installed via go modules, 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:

# dev environment only:
brew install protobuf

Arch Linux:

# 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.

About

a secure, transparent, and peer-to-peer cloud computing network

https://akash.network

License:Apache License 2.0


Languages

Language:Go 93.4%Language:Shell 4.3%Language:Makefile 1.8%Language:Smarty 0.5%