Arlodotexe / OwlCore.Nomad.Kubo

Shared tooling for building Nomad-enabled applications on ipfs
MIT License
0 stars 0 forks source link

OwlCore.Nomad.Kubo Version

Shared tooling for building Nomad-enabled applications on ipfs.

Put simply, this library was built to help you easily cover the gap between "User device" and "User".

Nomad enables applications to distribute their application domain across a set of peers. It does this by having each one maintain their own modifiable event stream while reading the read-only event streams published by other peers.

The state of an object is rebuilt from a seed by replaying and aggregating individual event streams published by individual devices, each containing an append-only history of interactions performed against an application domain on that device.

Even as peers come and go, publishing only peer-specific interactions with the application domain allows the consolidated state to eventually converge on each device without CDRTs or generalizable conflict resolution logic. Conflict resolution is effectively delegated to an implementation detail.

This library was specially crafted to take advantage of content addressing under a changing device topology, especially considering the one-to-many nature of IPNS, the immutability of IPFS CIDs, and the need for a permission-aware "shared" p2p-native state that reaches an eventually consistency defined by the application.

Featuring:

This library is in prerelease and documentation is a work-in-progress. Reach out if you'd like to use this library in your own application.

Install

Published releases are available on NuGet. To install, run the following command in the Package Manager Console.

PM> Install-Package OwlCore.Nomad.Kubo

Or using dotnet

> dotnet add package OwlCore.Nomad.Kubo

Usage

var test = new Thing();

Financing

We accept donations here and here, and we do not have any active bug bounties.

Versioning

Version numbering follows the Semantic versioning approach. However, if the major version is 0, the code is considered alpha and breaking changes may occur as a minor update.

License

All OwlCore code is licensed under the MIT License. OwlCore is licensed under the MIT License. See the LICENSE file for more details.