0.7.0-unstable.6 • Published 2 years ago
@sphereon/ed25519-signature-2018 v0.7.0-unstable.6
@transmute/ed25519-signature-2018
npm i @transmute/ed25519-signature-2018 --saveUsage
import {
  Ed25519VerificationKey2018,
  Ed25519Signature2018,
} from "@transmute/ed25519-signature-2018";
import { documentLoader } from "path/somewhere";
import { verifiable } from "@transmute/vc.js";
const key = await Ed25519VerificationKey2018.from({
  id:
    "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC#z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
  type: "Ed25519VerificationKey2018",
  controller: "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
  publicKeyBase58: "FEkRBiL3GfrG2m1yh5mrxds8vTkRwYzwgBKWSH33J64p",
  privateKeyBase58:
    "4ywHegJBWnGAu3ZTtMX3Jtu1XUMtJJdmzEoqMk8RS2Fkv5W9hnJpyooY5qNFBTWEPHT5uSjakt2rJodp4DundZvg",
});
const result = await verifiable.credential.create({
  credential: {
    "@context": ["https://www.w3.org/2018/credentials/v1"],
    id: "https://example.com/credentials/123",
    type: ["VerifiableCredential"],
    issuer: "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
    issuanceDate: "2019-12-03T12:19:52Z",
    credentialSubject: {
      id: "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
    },
  },
  format: ["vc"],
  documentLoader: documentLoader,
  suite: new Ed25519Signature2018({
    key,
  }),
});
const result2 = await verifiable.credential.verify({
  credential: result.items[0],
  format: ["vc"],
  documentLoader: (iri: string) => {
    if (iri.startsWith("did:key:z6Mkth1Tmxa")) {
      return {
        documentUrl: iri,
        document: {
          "@context": [
            "https://www.w3.org/ns/did/v1",
            "https://w3id.org/security/suites/ed25519-2018/v1",
          ],
          id: "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
          assertionMethod: [
            {
              id:
                "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC#z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
              type: "Ed25519VerificationKey2018",
              controller:
                "did:key:z6Mkth1TmxaUcDLj9FrgNejhojR8k32HMSFJNCESGZ14DJrC",
              publicKeyBase58: "FEkRBiL3GfrG2m1yh5mrxds8vTkRwYzwgBKWSH33J64p",
            },
          ],
        },
      };
    }
    return documentLoader(iri);
  },
  suite: [new Ed25519Signature2018()],
});Development
Install and run tests for this package
npm i
npm tThis package contains interopability fixtures generated from Digital Bazaar libraries. The fixtures can be regenerated with the following command
npm run generate:fixturesAbout
This typescript module has been built to support direct substitutability with digitalbazaar/jsonld-signatures for Linked Data Proofs.
However, some changes were made to support typescript, and no defaultDocumentLoader is provided.
0.7.0-unstable.5
2 years ago
0.7.0-unstable.4
2 years ago
0.7.0-unstable.6
2 years ago
0.7.0-unstable.3
2 years ago
0.7.0-unstable.1
4 years ago
0.7.0-unstable.2
4 years ago
2.0.2-unstable.0
4 years ago