@kaytrust/ev-did-resolver
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

npm

EV DID Resolver

This library is a resolver for "EV" DID Method.

It supports the proposed Decentralized Identifiers spec from the W3C Credentials Community Group and wrap them in a DID Document.

It requires the did-resolver library, which is the primary interface for resolving DIDs.

Resolving a DID document

The library presents a resolve() function that returns a Promise returning the DID document. It is not meant to be used directly but through the did-resolver aggregator.

You can use the getResolver(config) method to produce an entry that can be used with the Resolver constructor:

import { Resolver } from 'did-resolver'
import EvResolver from 'ev-did-resolver'

const evResolverConfig = { 
        host: 'http://localhost:8545',
        addressIM: '0xa6b4540a2bfte8663cba78027c83d0dcb1b7c837',
        headers: []
    };
}

const evResolver = EvResolver.getResolver(evResolverConfig);

const didResolver = new Resolver(evResolver);

const doc = await didResolver.resolve('did:ev:cwMLAqQCguxLzd1biFQH4xpy2M7BZXvvcXKZ7')

// RESULT EXAMPLE
/*
{
    "@context": "https://w3id.org/did/v1",
    "id": "did:ev:cwMLAqQCguxLzd1biFQH4xpy2M7BZXvvcXKZ7",
    "authentication": [
        {
            "id": "0x4C647014a838EcFCADD3ab39Faa61a163862FFD8#keys-1",
            "type": "EcdsaSecp256k1RecoveryMethod2020",
            "blockchainAccountId": "eip155:0x9e551:0x5c244d081d8e0b404116f2dc2a94ff43d1c76931"
        },
        {
            "id": "0x2215638CdA1A665C676105df560a6915eb83cD8E#keys-2",
            "type": "EcdsaSecp256k1RecoveryMethod2020",
            "blockchainAccountId": "eip155:0x9e551:0x5c244d081d8e0b404116f2dc2a94ff43d1c76931"
        },
    ]
}
*/

props

evResolverConfig accepts this props:

Key Description Default Notes
host RPC node url (mandatory)
addressIM Address of the Identity Manager contract (mandatory)
headers Additional HTTP headers for JSON-RPC calls to node, such as authentication No headers
findEvents Use Ethereum events as a source for getting the authorized keys. true
keys Use an explicit list of keys as a source for getting the authorized keys. E.g.: ['0x2FD3a895C728652FFe586b0B9e07B47edfC6e3FD'] []
baseBlocks Minimun value for fromBlock. 30000000 Only used when findEvents is true.
lastBlocks Last blocks to be taken from toBlock. 0 Only used when findEvents is true.
bufferSize Size of the slices in the event searching. Use greater values to search more efficiently, use lower values to avoid possible timeout problems. 100000 Only used when findEvents is true.
startBlockMargin Web3JS or Besu seem to have a bug where filtering events sometimes ignores events emitted in the early blocks. This setting can be used to work around the issue by starting the filtering on an earlier block number. 100000 Only used when findEvents is true.

Readme

Keywords

none

Package Sidebar

Install

npm i @kaytrust/ev-did-resolver

Weekly Downloads

1

Version

1.1.1

License

ISC

Unpacked Size

31.2 kB

Total Files

13

Last publish

Collaborators

  • jmiranda1996
  • jjmiranda
  • davux