Identity and DIDs
A SuperheroID is an æternity address plus the provider links attached to it in the
AddressLink contract. There is no separate identifier scheme: the ak_… address is the
identifier, the Ed25519 key it encodes is the verification material, and the links are the
claims. For readers who know
Decentralized Identifiers (DIDs) v1.0 (opens in a new tab), the model maps onto DID
Core concepts like this:
| DID Core concept | Superhero equivalent |
|---|---|
| DID subject and controller | The æternity account, an ak_… address |
| Verification method | The Ed25519 public key the address encodes; signatures verified on chain with Crypto.verify_sig |
| Authentication | Wallet signed messages, using the æternity signed-message prefix, with a contract-held nonce |
alsoKnownAs | The x, nostr and prefaens links in AddressLink |
| Service endpoint | The nostr key used for chat; the site link |
| Verifiable data registry | AddressLink state plus AENS |
| Update and deactivate | link and unlink, per provider |
Superhero does not define a DID method, DID syntax, DID document or resolver. If you need a DID
for interoperability with an external system, derive a did:key from the account's Ed25519 key
or publish a did:web document yourself. AddressLink also exposes a DID-keyed namespace
(link_did, resolve_did_controller and friends) in which the did is an opaque string; see
AddressLink.
Verifying a SuperheroID
- Prove control of the address. Ask for a signed message and verify it against the
ak_…public key using the æternity signed-message construction. - Check a
.chainname. Resolve it through AENS on any node or middleware and compare itsaccount_pubkeypointer to the address. For aprefaenslink the contract already performed the same check withAENSv2.lookup. - Read the links.
AddressLink.get_links(addr)returns the provider-to-value map as a dry-run call, andresolve(provider, value)walks it backwards. Both are free reads against consensus state. - X handle. The chain records the address's consent to a handle string; the OAuth check was performed by Superhero's backend. See Verifying Your X Account.
- Authorship of content. A post's author is the address that signed the transaction,
recorded by the
Tippingcontract, independent of the identity layer.
Related
- SuperheroID: what an identity links.
- AddressLink: the contract behind every link.
- Accounts and keys: where the Ed25519 key behind an
ak_address comes from.