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


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


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


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)

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




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 the code by running:

$ npm test


MIT © Joel Thorstensson

You can’t perform that action at this time.