npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@caelum-tech/caelum-diddoc-nodejs

v0.1.3

Published

Self-Sovereign Identity rust/wasm crate

Downloads

7

Readme

Decentralized Identity Documents

The diddoc crate is aimed to help javascript and rust developers manage DID docs (Decentralized Identity Documents) in an easy manner. Following w3's specifications on DID Documents this crate aims to be a Resolver. This means it will create, read, update and delete all properties of a DID document. As well as interacting with other DIDs and DID document, using proof verification. Also, it will be able to interact with others on other Decentralized Identifier Registry. This will can effectively be used to perform all the operations required of a CKMS (cryptographic key management system), such as key registration, replacement, rotation, recovery, and expiration. More details in w3's method specifications.

Documentation

You can read our code documentation, which makes reference to usage with javascript and rust as well as the actual implementation of the library.

For more details you can take a look at our book.

Book

Clone repository and go to the book directory:

git clone https://gitlab.com/caelum-tech/caelum-diddoc.git
cd caelum-diddoc/book

Download mdbook and build the documentation:

cargo install mdbook
mdbook build

Open the book /your/relative/path/caelum-diddoc/book/book/index.html on your favorite browser.

Installing DidDoc for JavaScript

From npm

Add it to your package.json:

"devDependencies": {
    "@caelum-tech/caelum-diddoc-nodejs": "^0.1.2",
   ...
  }

Imported in your code:

const diddoc = require('@caelum-tech/caelum-diddoc-nodejs')

Finally you can use it as any other package:

const d = new diddoc.DidDoc('https://www.w3.org/ns/did/v1', 'did:lor:cat:lab:root')
console.log(d.toJSON())

From gitlab

Clone or download diddoc repository

git clone ...

Go to diddoc directory and build the package using wasm-pack (make sure wasm-pack is installed)

cd diddoc

wasm-pack build

This will generate a directory called pkg inside diddoc directory.

Add the generated package to your package.json;

"devDependencies": {
    "diddoc": "file:../diddoc/pkg",
    ...
}

Now your ready to import it in your JavaScript code as usual:

const diddoc = require('diddoc')

Finally you can use it as any other package:

const d = new diddoc.DidDoc('https://www.w3.org/ns/did/v1', 'did:lor:cat:lab:root')
console.log(d.toJSON())

From npm

Installed as a normal npm package:

npm i @caelum-tech/caelum-diddoc-nodejs

Resolvers

A DID resolver is a software component with an API designed to accept requests for DID lookups and execute the corresponding DID method to retrieve the authoritative DID Document. To be conformant with this specification, a DID resolver:

SHOULD validate that a DID is valid according to its DID method specification, otherwise it should produce an error.

MUST conform to the requirements of the applicable DID method specification when performing DID resolution operations.

SHOULD offer the service of verifying the integrity of the DID Document if it is signed.

MAY offer the service of returning requested properties of the DID Document.

Roadmap

  • [ x ] Basic CRUD implementation on properties.
  • [ x ] Basic CRUD implementation on Optional properties.
  • [ ] Basic interaction with IPFS.
  • [ ] Verifying cryptographic proofs.
  • [ ] Implementing important DID methods such as did-erc725, did-btcr, did-sov, and others.
  • [ ] Helper to implement DID for own methods.

Contributing

Please, contribute to diddoc! The more the better! Feel free to to open an issue and/or contacting directly with the owner for any request or suggestion.

Acknowledgment

This library is created to satisfy w3's specifications.

Code of conduct

This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4

License

This project is distributed under the terms of both the Apache License (Version 2.0) and the MIT license, specified in LICENSE-APACHE and LICENSE-MIT respectively.