transmute-industries / did-key.js

A DID Key Implementation in TypeScript
https://did.key.transmute.industries/
Apache License 2.0
53 stars 15 forks source link
bls12-381 decentralized-identifiers did ed25519 eddsa es256k json-ld secp256k1 x25519

did:key

CI CD

DID Key Method Specification

did:key is a DID Method which is offline friendly, cryptographically self certifying, requires no trust of blockchain or certificate authoritites and is ideal for ephemeral use.

🚧 Under Construction.

https://did.key.transmute.industries.

Because did:key is just a deterministic transformation of public key bytes , you really ought to never resolve it over a network.

did-key.js

npm i @transmute/did-key.js@latest

This module contains all did-key implementations we current support.

Unless you really intend to use all of them, we suggest installing just the ones you need.

Ed25519

did:key:z6Mk...

npm i @transmute/did-key-ed25519@latest --save

X25519

did:key:z6LS...

npm i @transmute/did-key-x25519@latest --save

Bls12381

npm i @transmute/did-key-bls12381@latest --save

Secp256k1

did:key:zQ3s...

npm i @transmute/did-key-secp256k1@latest --save

Secp256r1, Secp384r1, Secp521r1

npm i @transmute/did-key-web-crypto@latest --save

Release process

Unstable releases

Unstable releases are automatic, from CD:

Stable releases

Stable releases are triggered by a dev locally

Example

Usage

To install all packages run

npm install

To install a specific package (and its dependencies) run

npm run install:only @transmute/did-key-x25519

To run tests in every packages run

npm run test

To test a specific package run

npm run test:only @transmute/did-key-x25519

Alternatives

License

Copyright 2020 Transmute Industries Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.