Skip to content

Arquitetura

O simple-vc liga três peças pequenas: uma identidade did:key Ed25519, assinatura de credenciais em JWT via did-jwt-vc, e verificação offline via key-did-resolver.

flowchart LR
  subgraph Emitir
    K["par de chaves Ed25519"] --> D["did:key (chave pública embebida)"]
    D --> I["issueCredential()"]
    I --> J["VC como JWT EdDSA"]
  end
  subgraph Verificar
    J --> V["verifyCredentialJwt()"]
    R["key-did-resolver<br/>(offline)"] --> V
    V --> O["{ verified, issuer, credential }"]
  end

Mapa de módulos

Módulo Responsabilidade
did.ts Gerar um did:key a partir de uma chave Ed25519; construir o signer did-jwt
issue.ts Construir o payload da VC e assiná-lo como JWT
verify.ts Resolver o DID do emissor offline e verificar a assinatura

Princípios de design

  • Offline por construção — a chave pública vive no DID, por isso a verificação não precisa de registo nem rede.
  • Superfície minúscula — três funções; SSI avançado (revogação, rotação, carteiras) está fora do âmbito de propósito.
  • Identidades determinísticas — uma seed de 32 bytes dá sempre o mesmo DID, por isso podes persistir e recarregar um emissor.