This repo holds a collection of examples on how to build distributed applications with the Fluence stack.
The aqua-examples
directory contains examples demonstrating the use of Aqua to compose decentralized applications from distributed services, whereas the marine-examples
directory contains examples with respect to the development of Rust Wasm modules.
If you encounter a problem, please post an Issue or open a PR. If you want to contribute an example, please contact us by opening an Issue or a draft PR. See the contribution guidelines.
-
The Ceramic Integration provides an example Wasm adapter for the Ceramic CLI API and HTTP API.
- Rust Wasm, Aqua
-
The IPFS Integration shows how to use the aqua-ipfs library to deploy single-module Wasm services to a Fluence node from a IPFS sidecar
- Fluence JS, Aqua
-
The Near Integration provides integration examples for the Near API JS and RPC API. We use Fluence JS to implement a minimal Near signing service and wrap a few select RPC examples into a Wasm module.
- Fluence JS, Rust Wasm, Aqua
-
The Timestamp Oracle illustrates how to use builtin services to acquire timestamps from a node's Kademlia neighborhood and then process those timesstamps using Wasm services into point or range estimates.
- Aqua, Rust Wasm
-
The Price Oracle provides a stylized example of how to create a price stream oracle using Rust Wasm services. Further provides a Fluent JS and Web client examples.
- Rust Wasm, Fluence JS, Aqua
-
The EIP712 Validator Node provides a stylized example of validating signed EIP712 forms and storing the results in a local sqlite database. We use Fluence JS to implement both peer and client, where the peer expose sqlite crud interfaces allowing other peers to query validations and form a consensus.
- Rust Wasm, Fluence JS, Aqua, SQLite
Unless otherwise indicated, the applicable license is Apache 2.0.