1.0.1 • Published 5 years ago

@xiawpohr/erc725-did-method v1.0.1

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
5 years ago

DID ERC725 Method

Decentralized Idenitfiers (DIDs^1) are designed to be compatible with any distributed ledger or network. In the Ethereum community, a pattern known as ERC-725^2, ERC-734^3 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.0.1

5 years ago

1.0.0

5 years ago