Architecture

Codius fits into the middle tier of the standard three-tier architecture:

Codius 3-Tier Architecture

Previously, most distributed applications in the cryptocurrency community were written in such a way that clients interacted directly with ledgers/blockchains (databases). However, oftentimes applications need to interact with multiple clients, multiple ledgers/blockchains and other Internet services. An application logic layer is the ideal place to host such functionality.

How Codius works

Codius is a hosting platform and accompanying client. We generally distinguish two roles:

  • Codius Hosts are companies or individuals who are looking to earn money by operating servers to host other people's applications. They use codiusd in order to provide the necessary APIs for uploading apps. codiusd also creates a pod and the necessary amount of containers. These pods are granted access to a moneyd instance that allows both the host and its pods to send and receive payments over Interledger.

  • Developers create applications and deploy them on top of Codius. They use codius to upload apps. The upload is accomplished via a manifest that describes information about the program such as its name, version, environment variables, and a Docker image to pull. (Images are pulled from Dockerhub by default.)

codius-host utilizes hyperd in order to run applications isolated from each other and from the outside world.

Architecture Diagram