writeDocument(didContext, didID, authentications, verificationMethods, services?)

Feature

Constructs a full DID Document. The returned Document instance can be passed directly to updateDocument().

Parameters

string[] did context, string didID, // did string (AsymKeyAuth | LinkedAuth)[] authentications, (AsymKeyAuth | LinkedAuth)[] verificationMethods, Array<{id, type, service_end_point}> // Optional service entries

Return Value

Document instance

...
const asymAuth = mitum.authdid.writeAsymkeyAuth(id, authType, controller, publicKey);
const linkedAuth = mitum.authdid.writeLinkedAuth(id, did, targetId, allowed);

const context = ["https://www.w3.org/ns/did/v1", "https://imfact.im/did/contexts/v1.jsonld"];

const service = [{
    "id": "did:mitum:0x4526f3D0EdC63D9EaeCD94D56551e0f061CFCa47fca#linked1",
    "type": "mitumDappType",
    "service_end_point": "http://localhost:3000"}]
const document = mitum.authdid.writeDocument(context, did, [asymAuth, linkedAuth], [], service);

console.log(document.toHintedObject())

//output
{
  _hint: 'mitum-did-document-v0.0.1',
  '@context': [
    'https://www.w3.org/ns/did/v1',
    'https://imfact.im/did/contexts/v1.jsonld'
  ],
  id: 'did:mitum:0x4526f3D0EdC63D9EaeCD94D56551e0f061CFCa47fca',
  authentication: [
    {
      _hint: 'mitum-did-verification-method-v0.0.1',
      id: 'did:mitum:0x4526f3D0EdC63D9EaeCD94D56551e0f061CFCa47fca#auth_key5',
      controller: 'did:mitum:0x4526f3D0EdC63D9EaeCD94D56551e0f061CFCa47fca',
      type: 'EcdsaSecp256k1VerificationKey2019',
      publicKeyMultibase: 'zQ3shkeJqSA83KtfcMeYRwBU4wZa7Pyn4xVQHfJcYVUryunR5',
      publicKeyImFact: '0359335c48c7b06d05cfba06c4d37aa0369069d5d5c036a6c7a098199e0650d3c8fpu'
    },
    {
      _hint: 'mitum-did-verification-method-v0.0.1',
      id: 'did:mitum:0x4526f3D0EdC63D9EaeCD94D56551e0f061CFCa47fca#linked1',
      controller: 'did:mitum:0x4526f3D0EdC63D9EaeCD94D56551e0f061CFCa47fca',
      type: 'LinkedVerificationMethod',
      targetId: 'did:mitum:0x507487Ea8EaB3935b849a98428F1486d5CE054d7fca#auth1',
      allowed: [Array]
    }
  ],
  verificationMethod: [],
  service: [
    {
      id: 'did:mitum:0x4526f3D0EdC63D9EaeCD94D56551e0f061CFCa47fca#linked1',
      type: 'mitumDappType',
      service_end_point: 'http://localhost:3000'
    }
  ]
}

Last updated