🔭Rebase
Rebase - Map Identities to Cryptographic Keys
Rebase is a library for handling the witnessing of cryptographically verifiable claims, and the issuance of Verifiable Credentials (VC) based on this programmatic witnessing. It is based on several layered abstractions defined with Rust traits. In particular, Rebase abstracts schemas that can be wrapped inside VCs using the SchemaType
trait. This trait provides the required pieces of a VC:
a JSON-LD context to interpret the VC serialized as a JSON-LD document,
the types of the VC,
the subjects of the VC, and
the evidence of the VC.
Defining the necessary JSON-LD context introduces a lot of redundancies with the schema definition, and depending on the schema size, can be very tedious. This section shows a few examples on how TreeLDR can be used to simplify the definition of types and the conception of JSON-LD contexts when implementing Rebase flows.
Projects
Several projects are hosted in the Rebase GitHub repo.
The main library written in Rust supports the creation of VCs from simpler structs, the signing of VCs using an
Issuer
abstraction, and witness flows for public issuers of VCs (along with their consuming clients).The witness library also written in Rust which supports specifically applications seeking to act as Issuer Witnesses or clients of Issuer Witnesses. Creates an opinionated implementation of the main library allowing users to build on top of it quickly.
The client library published to NPM using Rust->WASM compilation, allowing in browser usage of the witness/client library.
The Witness CloudFlare worker which is open-source code base of the SpruceID Rebase Witness and serves as a working example / demo of the witness library.
Examples
There's an existing credential faucet which is the built version of the demo/dapp
site, and makes use of a deployed witness service which in turn is the built version of the rebase_cf_worker
codebase.
Last updated