Reference implementation · v0.1
Resolver Playground
Run the reference implementation rather than reading pseudocode. Generate keys locally, publish signed DID operations, and independently verify the resulting history in the browser.
One implementation core
Inspect every boundary.
The playground is intentionally transparent: inputs and derived JSON stay visible, protocol failures keep their error codes, and directory responses are verified instead of trusted. Start with the normative vector, then create a fresh identity and drive its lifecycle through signed operations.
Creation, rotation, recovery, and deactivation are signed locally with Web Crypto. The reference node receives signed public records, never private keys.
This deployment accepts valid reference writes into an append-only operation log and exposes every published DID through the v0.1 /.well-known/sizuq/did/…/operations read profile.
The write API is a non-normative reference implementation surface. The normative v0.1 specification defines record validity and the interoperable read profile.
Protocol package
@sizuq/protocol
The package currently lives in the protocol repository as a private v0.1 package while its external package namespace and public API stabilize. Browser writer helpers and server verification use the same core, so publication later does not require a second implementation.
import {
createCreationRecord,
createDirectoryResolver,
createOperationRecord,
} from "@sizuq/protocol";
const resolve = createDirectoryResolver({ endpoint: "https://sizuq.org" });
const result = await resolve("did:sizuq:z75o3Y...");Workbench
Run the protocol.
All five tools below use the reference package. No product account, sizuq.com database, or application session is involved; the reference node uses its own protocol persistence boundary.
Normative vector
Recompute the v0.1 identity root and creation-record digest, verify the published Ed25519 signature, and derive the DID Document using the same package imported by this page.
Run the normative vector to verify the core implementation in this browser.Resolve operation history
Edit the JSON directly. Signature, genesis digest, sequence, predecessor hashes, key authority, and state transitions are checked locally; invalid histories fail closed.
Paste or edit an operation history, then resolve it locally.Parse sq:
Inspect scheme normalization, identity root, resource path, query, fragment, and the canonical primary identifier before any dereferencing occurs.
Parse an sq: URI without making a network request.Live directory resolution
Fetch the interoperable operation-array representation from a directory node, then independently verify it in the browser. Leave Directory endpoint empty to use this deployment’s reference node.
Resolve through the reference directory endpoint over HTTP, then verify locally.Writable identity lifecycle
Generate Ed25519 rotation and recovery keys locally, sign a creation record in this browser, and submit only the signed public record to the non-normative reference write API. Private keys remain in memory and disappear when this tab is refreshed.
Create a fresh browser-held identity, then append signed lifecycle operations to this reference node.