@xiawpohr/erc725-did-method

1.0.1 • Public • Published

DID ERC725 Method

Decentralized Idenitfiers (DIDs1) are designed to be compatible with any distributed ledger or network. In the Ethereum community, a pattern known as ERC-7252, ERC-7343 utilizes smart contracts to be a unique identifiable proxy account used by humans, groups, organizations, objects and machine.

The method implementation allows ERC-725 identities to be treated as valid DIDs.

Installation

npm install @xiawpohr/erc725-did-method

Usage

Initialization

const Web3 = require('web3')
const ERC725DID = require('erc725-did-method')
const web3 = new Web3('http://127.0.0.1:8545')
const erc725did = new ERC725DID({ web3 })

Register a DID for the identity

const options = {
  from: '0x202fB73194756C58B7beD0746DcF570FA6e3B040',
  gas: 3000000
}
const identity = await erc725did.register(options)
const did = await identity.getDid()

Resolve DID to DID document

const identity = await erc725did.connect('did:erc725:202fB73194756C58B7beD0746DcF570FA6e3B040')
const doc = await identity.resolve()

Key management inside an identity

const key = web3.utils.keccak256('0x202fB73194756C58B7beD0746DcF570FA6e3B040')
const purpose = 2
const type = 1
const event = await identity.addKey(key, purpose, type)
const event = await identity.removeKey(key, purpose)

Revoke a DID for the identity

await identity.revoke()

Specification

To see spec, read this.

References

  1. https://w3c-ccg.github.io/did-spec/

  2. https://github.com/ethereum/EIPs/blob/master/EIPS/eip-725.md

  3. https://github.com/ethereum/EIPs/issues/734

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.1
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.1
    1
  • 1.0.0
    0

Package Sidebar

Install

npm i @xiawpohr/erc725-did-method

Weekly Downloads

1

Version

1.0.1

License

ISC

Unpacked Size

1.15 MB

Total Files

29

Last publish

Collaborators

  • xiawpohr