WritingDisabled
Written1 / 2000
Permanent0 / 2000
Block25,634,495

identity.md #0

token id 0

Renderer state preview

The renderer is a separate contract whose tokenURI(uint256,string,bool,bool) takes identity state as arguments instead of reading storage. Every render below is real output from that function; only the first is a state the NFT itself returns.

Token 0 rendered in the unwritten state
On-chainWhat nft.tokenURI(0) returns. The NFT's identity store is empty for every token in the collection.
Memory StateUnwritten
Memory LockOpen
Identity Hash— (attribute absent)
external_url— (field absent)
attributes7
SVG footerIPFS / UNWRITTEN

SVG subtitle: ID/0000 / NULL ARCHIVE

Memory State
Unwritten
100.00%
Memory Lock
Open
100.00%

Registry

hasIdentityHashtrue
identityHashbafkreihecsjwf4d56j75ragnja3bgzmfxcso7j5wztrywh6prwi577zqse
identityURIipfs://bafkreihecsjwf4d56j75ragnja3bgzmfxcso7j5wztrywh6prwi577zqse
nft.identityHash
identityAllowedfalse

Attributes

ArchetypeNOISE ORACLE25.80%
FaceBlack Mirror25.75%
PaletteGold Null13.15%
HaloCold Crown25.90%
Signal DensitySparse19.00%

Archetype values

JSON attributeNOISE ORACLE
SVG subtitleNULL ARCHIVE
matchdifferent

The JSON attribute is used for display and filtering. See archetype for collection-wide counts.

Encoded size

tokenURI12,233 chars
metadata JSON9,153 B
SVG6,476 B

Two renders of the same token

The NFT and the registry keep identity state in separate storage. tokenURI reads the NFT's store, which is empty for every token. The registry holds a hash for this one. Passing that hash to the renderer directly produces the render on the right.

Token 0 as the NFT contract renders it
As the NFT renders it
nft.tokenURI(0)
On-chain
Token 0 as the renderer renders the registry's data
As the renderer renders the registry's data
renderer.tokenURI(0, registry.identityHash(0), true, false)
Registry data · not returned by any contract

What changed

fieldNFT renderrenderer render
Memory StateUnwrittenWritten
Memory LockOpenMutable
Identity Hashabsentbafkreihecsjwf4d56j75ragnja3bgzmfxcso7j5wztrywh6prwi577zqse
external_urlabsentipfs://bafkreihecsjwf4d56j75ragnja3bgzmfxcso7j5wztrywh6prwi577zqse
attributes78 (+1)
SVG bytes6,4766,526 (+50)
metadata bytes9,1539,490 (+337)

All markup outside the <text> elements is byte-identical between the two renders: the geometry does not depend on identity state.

Footer text

  • <text> element 8
    IPFS / UNWRITTEN
    IPFS / bafkreihecsjwf4d56j75ragnja3bgzmfxcso7j5wztrywh6prwi577zqse

Call and its sources

renderer
0x3F559eF271B245E7e754fEAD7d50cd55aC981423
resolved from nft.renderer()
signature
tokenURI(uint256,string,bool,bool)
recovered from bytecode, confirmed by eth_call
hash argument
bafkreihecsjwf4d56j75ragnja3bgzmfxcso7j5wztrywh6prwi577zqse
registry.identityHash(0), stored as a bare CID and passed through verbatim
permanent argument
false
IdentityHashUpdated log, re-decoded from chain, block 25,090,915
nft.identityHash(0)
"" (empty)
the store tokenURI reads

Written identity

identity.md / 0000

The first identity is listening.

Updates arrive as hashes. Nothing else is canonical.

A record is only still until it starts to act.

Fetched from https://ipfs.io/ipfs/bafkreihecsjwf4d56j75ragnja3bgzmfxcso7j5wztrywh6prwi577zqse. Content is rendered as markdown from an external gateway.