Polkadot-SDK-oriented decentralized identity platform implementing full DID lifecycle for the did:dtg method, with self-custody keys and OIDC bridge authentication.
crates/did-core: DID domain model and lifecycle state machinecrates/did-runtime: runtime-style DID storage maps, dispatch handlers, and event modelcrates/did-resolver: resolver logic and in-memory DID storeservices/resolver-service: REST service for DID create/resolve/history/deactivateservices/oidc-bridge-service: DID challenge + verify + OIDC bridge skeletonservices/vc-service: JWT VC issue/verify/revoke with DID-key verification and revocation anchoringservices/api-gateway: REST + GraphQL integration gatewaysdk/rust: Rust client SDK for integrationssdk/typescript: TypeScript SDK starter for browser/mobile integrationsdocs/: architecture, diagrams, APIs, and runbooks
- 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
docs/adr/0001-did-method-and-lifecycle.mddocs/adr/0002-custody-and-auth.mddocs/adr/0003-chain-topology.md
docs/standards/repository-standards.mddocs/standards/error-taxonomy-and-versioning.mddocs/standards/environment-matrix-and-config-sot.md
docs/runbooks/polkadot-template-bootstrap.mddocs/runbooks/ci-quality-gates.mddocs/runbooks/observability-baseline.mddocs/runbooks/oidc-rp-integration-sample.mddocs/runbooks/abuse-mitigation-policy.mddocs/runbooks/security-incident-response.mddocs/runbooks/slo-and-alerting.mddocs/runbooks/load-testing.mddocs/runbooks/load-test-baselines.mddocs/runbooks/release-checklist.mddocs/runbooks/rollback-playbook.mddocs/runbooks/contributor-onboarding.md
docs/api/endpoints.mddocs/api/oidc-did-auth-mapping.mddocs/api/rust-sdk.mddocs/api/typescript-sdk.md
docs/architecture/security-threat-model.md
- Run resolver service:
cargo run -p resolver-serviceRuntime-backed resolver mode (block snapshots and atBlock query support):
RESOLVER_BACKEND=runtime cargo run -p resolver-serviceRuntime-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- Run VC service:
cargo run -p vc-service- 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-gatewaycargo test --workspaceThis 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