Tools & Examples for IPFS, IPFS-Cluster, Libp2p, OrbitDB, Bacalhua...
This repository contains tools and examples for IPFS, Libp2p, OrbitDB, Bacalhau, and other distributed computing technologies. Included are Dockerfiles
, docker-compose.yaml
files, package.json
and other configuration files to help you get started.
peers/
- client/server examples, organized by project and versiondeploy/
- deployments for various use-cases & infrastructurestools/
- tools and code snippets for working with libp2p, ipfs, orbitdb...
Exemplify a distributed computing framework that allows you to run your code, store files, utilize databases, serve content and applications in a trustless peer-to-peer manner.
- Cost Efficiency
- Fault Tolerance
- Scalability
- Privacy
- Security
- Performance
- Standardization
-
Access is permissionless and censorship resistant
- Based on the DID standard. [https://www.w3.org/TR/did-core/]
-
Data is verifiable and immutable
- Utilizing CIDs [https://github.com/multiformats/cid]
-
Computation is secure, private, fault tolerant, and future proof
- Compute Over Data [https://docs.bacalhau.org/]
-
Network is scalable, performant, and cost efficient.
- Interconnectivity by libp2p [https://github.com/libp2p/specs/]
LibP2P allows the creation of a network of nodes that can communicate with each other without the need for a central server. This is the basis for decentralized applications (DApps) and peer-to-peer (P2P) networks.
Built on top of LibP2P, IPFS is a distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository. In other words, IPFS provides a high throughput content-addressed block storage model, with content-addressed hyperlinks. This forms a generalized Merkle DAG, a data structure upon which one can build versioned file systems, blockchains, and even a Permanent Web.
OrbitDB is a serverless, distributed, peer-to-peer database. OrbitDB uses IPFS as its data storage and IPFS Pubsub to automatically sync databases with peers. It's an eventually consistent database that uses CRDTs for conflict-free database merges making OrbitDB an excellent choice for decentralized apps (dApps), blockchain applications and offline-first web applications.
Bacalhau is a distributed computing framework that allows you to run your code in a distributed manner. It is built on top of IPFS and OrbitDB. It is a framework that allows you to run your code in a distributed manner. Docker containers and WASM are supported. The output is stored on IPFS, returning the CID.
Please open an issue or submit a pull request. Thanks!