BlahDiem carries Blah's profiles and proofs on Diem
identities: user, bot, channel, sticker-set and DC profiles, the DC challenges that
devices sign, QR device-link records, password-protected HPKE key files, and the client cache namespace. Blah clients and DCs share it. It is
Foundation-free and runs on any Diem CryptoBackend.
Blah profile types adopt Diem's profile protocols and sign their fields directly in the
Diem profile. Other Blah records are canonical CBOR maps with unsigned integer field
keys and fixed numeric tags. Types expose their field numbers as public static
cborKey… constants. Decoders validate required fields and accept unknown integer
keys; arrays contain lists only. The tuple encoding is not accepted. Every profile
domain is a username candidate.
Name claims use Diem’s profile-hosting client with Blah’s native domain rules.
See Identities, profiles and proofs.
Requires Swift 6.4 or later. Run swift test to check the contracts. The package is
licensed under MIT; see LICENSE.
Run npm ci && npm run build to generate the static DocC site in dist/blahdiem/.
The build uses Swift 6.4.0, installing it with Swiftly on Linux when needed. The site is
configured for https://docs.blahim.com/blahdiem/; run npm run preview to inspect it
locally or npm run deploy to publish it manually.
For Cloudflare Workers Builds, connect this repository to a Worker named blahdiem-docs.
Use the repository root, npm run build as the build command, and npm run deploy as the
deploy command. The Wrangler routes publish only /blahdiem and /blahdiem/* on the
existing docs.blahim.com hostname.
Web/README.md describes the BridgeJS-generated WASM library, worker support, minimized release artifacts and reproducible build/test procedure. Native consumers do not depend on the web package or its JavaScript build tools.