A capability system for use with the Willow General Purpose Sync Protocol, conformant with the Meadowcap specification.
In Willow, a namespace is a self-contained data space with three dimensions: time, path, and subspace. Data entries correspond to points within this three dimensional space.
This capability system enforces boundaries on who gets to read and write what data in a Willow namespace. Read or write access can be bestowed, delegated to others, or further restricted within a given three dimensional product.
Willow namespaces can be communal or owned, and the subspace or namespace signature scheme will be used for signing and verifying, respectively.
This system is meant to be used in tandem with Willow, and must be configured to use many of the same parameters (e.g. namespace signature scheme, payload digest encoder) as its parent Willow instance.
These parameters can be provided via a MeadowcapParams
object to construct a Meadowcap
instance, which will then give you access to lots of useful methods and hopefully not have to think about those parameters anymore.
Add Package
deno add jsr:@earthstar/meadowcap
Import symbol
import * as meadowcap from "@earthstar/meadowcap";
---- OR ----
Import directly with a jsr specifier
import * as meadowcap from "jsr:@earthstar/meadowcap";
Add Package
npx jsr add @earthstar/meadowcap
Import symbol
import * as meadowcap from "@earthstar/meadowcap";
Add Package
yarn dlx jsr add @earthstar/meadowcap
Import symbol
import * as meadowcap from "@earthstar/meadowcap";
Add Package
pnpm dlx jsr add @earthstar/meadowcap
Import symbol
import * as meadowcap from "@earthstar/meadowcap";
Add Package
bunx jsr add @earthstar/meadowcap
Import symbol
import * as meadowcap from "@earthstar/meadowcap";