0.1.0 • Published 4 years ago

@rsksmart/rif-id-ethr-did v0.1.0

Weekly downloads
26
License
ISC
Repository
github
Last release
4 years ago
npm i @rsksmart/rif-id-ethr-did

Features

  • Manage DID v1.0 compliant identifiers for RSK BIP-44 schema
  • Derive RSK DID identifiers from private keys
  • Use it with a uPort ethr-did compatible interface
  • Support RSK Mainnet and Testnet
  • Support Web3Provider, Web3,js, rpcUrl or, by default, RKS public nodes.

Usage

Factory implementation for RSK DID using ethr-did and private keys.

Get an RSK DID using a private key:

import { rskDIDFromPrivateKey } from '@rsksmart/rif-id-ethr-did'

const privateKey = '139d64ebceeb8b7702104a13d1d041303bd4a2f42090fa8c0b11c89cb97a5b24'
const rskDID = rskDIDFromPrivateKey()(privateKey)
rskDID.did
// did:ethr:rsk:0x285b30492a3F444D78f75261a35cB292Fc8F41a6

Use a it with a custom provider:

import Web3 from 'web3'
import { rskDIDFromPrivateKey } from '@rsksmart/rif-id-ethr-did'

let rskDIDFactory

const rpcUrl = 'http://localhost:4444'
rskDIDFactory = rskDIDFromPrivateKey({ rpcUrl })

const web3 = new Web3(rpcUrl)
rskDIDFactory = rskDIDFromPrivateKey({ web3 })

const provider = web3.currentProvider
rskDIDFactory = rskDIDFromPrivateKey({ provider })

Use it with RSK Testnet:

import { rskTestnetDIDFromPrivateKey } from '@rsksmart/rif-id-ethr-did'

const rskTestnetDID = rskTestnetDIDFromPrivateKey()(privateKey)
rskDID.did
// did:ethr:rsk:testnet:0x285B30492a3F444d78f75261A35cB292Fc8F41A6

Todo

  • Provide tests for registry interaction

Extend

  • Support address recovery using other signers than private keys

Test

From base repo directory run npm test or any of the described test script variants.

References