Skip to content

keaz/digital-trust-graph-did

Repository files navigation

digital-trust-graph-did

Polkadot-SDK-oriented decentralized identity platform implementing full DID lifecycle for the did:dtg method, with self-custody keys and OIDC bridge authentication.

Implemented in this repo

  • crates/did-core: DID domain model and lifecycle state machine
  • crates/did-runtime: runtime-style DID storage maps, dispatch handlers, and event model
  • crates/did-resolver: resolver logic and in-memory DID store
  • services/resolver-service: REST service for DID create/resolve/history/deactivate
  • services/oidc-bridge-service: DID challenge + verify + OIDC bridge skeleton
  • services/vc-service: JWT VC issue/verify/revoke with DID-key verification and revocation anchoring
  • services/api-gateway: REST + GraphQL integration gateway
  • sdk/rust: Rust client SDK for integrations
  • sdk/typescript: TypeScript SDK starter for browser/mobile integrations
  • docs/: architecture, diagrams, APIs, and runbooks

GitHub Delivery Assets

  • Repository: https://github.com/keaz/digital-trust-graph-did
  • Project: https://github.com/users/keaz/projects/3
  • Automated backlog bootstrap script: scripts/create_project_backlog.sh

Architecture Decisions

  • docs/adr/0001-did-method-and-lifecycle.md
  • docs/adr/0002-custody-and-auth.md
  • docs/adr/0003-chain-topology.md

Engineering Standards

  • docs/standards/repository-standards.md
  • docs/standards/error-taxonomy-and-versioning.md
  • docs/standards/environment-matrix-and-config-sot.md

Runbooks

  • docs/runbooks/polkadot-template-bootstrap.md
  • docs/runbooks/ci-quality-gates.md
  • docs/runbooks/observability-baseline.md
  • docs/runbooks/oidc-rp-integration-sample.md
  • docs/runbooks/abuse-mitigation-policy.md
  • docs/runbooks/security-incident-response.md
  • docs/runbooks/slo-and-alerting.md
  • docs/runbooks/load-testing.md
  • docs/runbooks/load-test-baselines.md
  • docs/runbooks/release-checklist.md
  • docs/runbooks/rollback-playbook.md
  • docs/runbooks/contributor-onboarding.md

API Docs

  • docs/api/endpoints.md
  • docs/api/oidc-did-auth-mapping.md
  • docs/api/rust-sdk.md
  • docs/api/typescript-sdk.md

Security Docs

  • docs/architecture/security-threat-model.md

Quick Start

  1. Run resolver service:
cargo run -p resolver-service

Runtime-backed resolver mode (block snapshots and atBlock query support):

RESOLVER_BACKEND=runtime cargo run -p resolver-service

Runtime-backed resolver uses event replay reconstruction (replay_did_record_at) for DID state parity with chain event sourcing. 2. Run OIDC bridge service:

cargo run -p oidc-bridge-service
  1. Run VC service:
cargo run -p vc-service
  1. Run API gateway:
RESOLVER_BASE_URL=http://127.0.0.1:8081 OIDC_BASE_URL=http://127.0.0.1:8082 VC_BASE_URL=http://127.0.0.1:8083 cargo run -p api-gateway

Test

cargo test --workspace

Polkadot SDK integration path

This implementation provides the service/domain backbone and lifecycle semantics. To integrate with an actual chain runtime and Wasm node, use scripts/bootstrap_parachain_template.sh and follow docs/runbooks/polkadot-template-bootstrap.md.

Quick commands:

./scripts/bootstrap_parachain_template.sh
./scripts/run_local_devnet.sh start dev

About

Polkadot SDK based decentralized identity platform with full DID lifecycle

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors