High Level Architecture

The purpose of Bacalhau is to provide a platform for public, transparent, and optionally verifiable computation. Bacalhau enables users to run arbitrary docker containers and wasm images as tasks against data stored in IPFS. This architecture is also referred to as Compute Over Data (or CoD). The Portuguese word for salted Cod fish is "Bacalhau" which is the origin of the project's name.

Bacalhau operates as a peer-to-peer network of nodes where each node has both a requestor and compute component. 

To interact with the cluster - Bacalhau CLI requests are sent to a node in the cluster (via JSON over HTTP), which then broadcasts messages over the transport layer to other nodes in the cluster.  All other nodes in the network are connected to the transport layer and as such have a shared view of the world.

Sample Code

Submitting Jobs is Easy

$ bacalhau docker run ubuntu echo hello

$ bacalhau list

$ bacalhau get CID