DID Client (did-io)
A DID (Decentralized Identifier) resolution library for Javascript
Table of Contents
Security
TBD
Background
TBD
See also (related specs):
- Decentralized Identifiers (DIDs) - Data Model and Syntaxes
- Veres One DID Method
- Web Ledger Protocol
- Linked Data Cryptographic Suite Registry
- Linked Data Proofs
- Object Capabilities for Linked Data
Install
Requires Node.js 8.3+
To install locally (for development):
git clone https://github.com/digitalbazaar/did-io.git
cd did-io
npm install
To install as a dependency in another project, add this to your package.json
:
"did-io": "^0.7.0"
Usage
Configuring method-specific drivers
did-io
is meant to be a DID resolver harness for use with one or more
method-specific drivers (no drivers are included by default). It uses a
Chai-like plugin architecture, where each driver
is loaded via didIo.use(method, driver)
.
That means that you need to create instances of specific driver libraries for each method that you want to use.
Creating a did-io
Client Instance
const didIo = require('did-io');
// You can now specify which DID methods you want via `.use(method, driver)`
Supported Drivers
Veres One DID Method
- Veres One Method spec
did-veres-one
driver docs
const v1 = require('did-veres-one');
// See did-veres-one repo for instructions on how to set up the httpsAgent etc
const veresDriver = v1.driver({ mode: 'dev', httpsAgent, documentLoader });
// to use the did:v1 / Veres One method
didIo.use('v1', veresOneDriver);
// Now you can start using the API (inside an async function)
const didDoc = await didIo.get({did});
console.log(didDoc);
didIo.methods['v1'].generate({...});
// or
veresDriver.generate({...})
Some operations are method-specific, and can be only called on individual drivers:
Veres One Supported Operations
register()
get()
update()
did:key
DID Method
did-key-driver
driver docs
const keyDriver = require('did-method-key');
// to use the did:key method
didIo.use('key', keyDriver);
did-key
Supported Operations
get()
Contribute
See the contribute file!
PRs accepted.
Small note: If editing the Readme, please conform to the standard-readme specification.
Commercial Support
Commercial support for this library is available upon request from Digital Bazaar: support@digitalbazaar.com
License
New BSD License (3-clause) © Digital Bazaar