Architecture
Codius fits into the middle tier of the standard three-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.