Skip to content
Blockchain utils for 3ID
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
src
.babelrc
.gitignore
LICENSE
README.md fix(readme): fixed typo Nov 12, 2019
package-lock.json Release v0.2.1 Nov 12, 2019
package.json

README.md

3id-blockchain-utils

standard-readme compliant CircleCI npm npm Codecov Greenkeeper badge

This package contains a bunch of utilities that is used by 3ID and 3Box in order to create and verify links from blockchain addresses.

Tabel of Contents

Install

$ npm install --save 3id-blockchain-utils

Usage

Import the package into your project

import { createLink, validateLink } from '3id-blockchain-utils'

Use the library to create and verify links:

const did = 'did:3:bafypwg9834gf...'
const proof = await createLink(did, '0x123abc...', ethereumProvider)
console.log(proof)

const verified = await validateLink(proof)
if (verified) {
  console.log('Proof is valid', proof)
} else {
  console.log('Proof is invalid')
}

Maintainers

@oed

Contributing

If you want to add support for a new blockchain to 3ID this is the place to do so. In order to do this start by adding a file for the given blockchain with the path: src/blockchains/<blockchain-name>.js. This module needs to export three functions; typeDetector, createLink, and validateLink. Please see src/blockchains/ethereum.js for an example.

You also need to add an ADDRESS_TYPE for the blockchain address scheme. Do this in the src/constants.js file.

Finally add support for your blockchain in src/index.js. Simply add it to the handlers array and the typeDetectors array.

Test

Test the code by running:

$ npm test

Licence

MIT © Joel Thorstensson

You can’t perform that action at this time.