Playbook

URI de marcador de posición y línea de revelación de propietario (Uri DE Marcador DE Posicion Y Linea DE Revelacion DE Propietario)

En Mint, metadatos de marcador de posición, mapa de uridata, revela (tokenId, uriHash) y revela superficie que solo el propietario puede abrir.

Colección NFT Mint y endurecimiento de Mainnet

Parte 3 de 4

Superficies de menta CBD All-Stars y Confident Gorillas: embudo de lista blanca WIP, metadatos IPFS, canal de revelación de marcador de posición y fortalecimiento de billetera de red principal con Web3Modal.

NFT mint and mainnet architecture diagram

Mint does not give random art; da una revelación

En Confident Gorillas 1.4 mint a menudo no muestra la imagen final de inmediato. El marcador de posición/URI temporal mint se escribe sobre la marcha; Los CID reales esperan en la tabla uridata como tokenId → hash/link. Reveal envía revelación (tokenId, uriHash) después de la verificación del propietario del contenedor; esta es la promesa del arte "aparece en su billetera".```text mint → placeholder / interim tokenURI │ uridata[tokenId] = { hash, link } │ ownerOf(tokenId) === connected wallet? yes │ no → deny ↓ reveal(tokenId, uriHash) ↓ tokenURI updated → retrieveJSON / image


## Conceptos en la primera mención```text
📦 Placeholder Metadata
Mint anında yazılan geçici URI; nihai traits/görsel henüz bağlı değildir.

📦 uridata
tokenId → { hash, link, index } haritası; reveal için hazır CID tablosu.

📦 reveal(tokenId, uri)
Owner'ın tokenURI'yi gerçek hash ile güncellediği sözleşme çağrısı.

📦 Owner Gate
revealToken içinde ownerOf === connected address kontrolü.
```El botón Revelar puede estar desactivado en el Visor; A veces, la revelación operativa la activa el panel del propietario o el script. El dueño vuelve a ser la puerta.

## ¿Por qué marcador de posición?

Equidad y operación: reducir la fuga de metadatos antes de que se presione todo el suministro, separando la generación de arte del ritmo de la menta. Mentas de usuario; el arte viene después con 'revelar'. Las preguntas frecuentes sobre aterrizaje describen que esto aparece en MetaMask.```text
Mint window
  → same placeholder look
Reveal window
  → unique CID per tokenId
```## Revelar canalización

Reveal.ts lee uridata.uri[tokenId], obtiene el hash y llama a revelatoken(tokenId, hash). nftContractUtils valida el propietario de; si coincide con contract.methods.reveal(...).send({ from }). Luego tokenURI devuelve el nuevo hash; retrieveJSON resuelve el CID de la imagen.```text
Reveal.ts
  uridata[tokenId].hash
       ↓
revealToken → owner check
       ↓
reveal(tokenId, hash).send
```## ADR: tabla fuera de la cadena + revelación del propietario dentro de la cadena

Decisión: la lista de CID final se mantiene en cliente/paquete (uridata); La autoridad de actualización permanece en la función de revelación controlada por el propietario. La alternativa (compromiso-revelación en cadena, VRF) es más cara. Compensación: el paquete de uridata puede filtrarse: revelar el tiempo y el control de acceso son riesgos del producto.```text
ADR-03 Placeholder + owner reveal
  Store: uridata off-chain map
  Auth: ownerOf gate
  Mutate: reveal(tokenId, uriHash)
  Reject: non-owner / wrong id
```## Escenarios de fracaso

TokenId incorrecto → arte incorrecto. No coincide el hash/enlace → puerta de enlace 404. Cartera que no es de propiedad → no operativa silenciosa (la función devuelve nulo). Si no hay revelación en el ABI, la codificación explota. Si el marcador de posición nunca se actualiza, la colección seguirá siendo un "cuadro vacío".```text
Fail matrix
  wrong tokenId     → wrong art
  hash ≠ pinned CID → 404
  non-owner         → no-op / deny
  missing reveal ABI→ encode fail

Los enfrentamientos más confusos de este episodio.```text

❌ Reveal = sadece UI'da blur kaldırmak ✓ Reveal = on-chain tokenURI güncellemesi; UI yalnızca sonucu gösterir

❌ Herkes herhangi bir token'ı reveal edebilmeli ✓ Yalnızca owner (veya tasarlanmış minter/owner rolü) reveal eder

❌ uridata gizli kalır çünkü bundle'da ✓ Frontend bundle okunabilir; zamanlama ve erişim asıl kontroldür


## Lista de verificación de su propio sistema

1. ¿Se puede fijar y recuperar el hash de uridata para cada tokenId?
2. ¿El control del propietario está disponible tanto sobre el cliente como sobre el contrato antes de la revelación?
3. ¿Están claramente separados el URI de marcador de posición y el URI final?
4. ¿El botón Revelar está desactivado/denegado de forma segura en personas sin propietario?
5. ¿Hay un cambio de índice en la tabla con 750 entradas?

## Cosas para recordar de esta sección

1. El marcador de posición proporciona distinción entre revelación, equidad y operaciones con menta.
2. Revelar sin puerta de propietario viola la integridad de la colección.
3. uridata es una decisión de producto; No asuma la privacidad, el momento del diseño.

> Es fácil dar arte perfecto al instante; El dar justo e irrevocable es la disciplina de revelar.

FAQ

Frequently asked questions

¿Qué son los metadatos de marcador de posición?

URI temporal escrito en Mint fly; Rasgos finales/visuales aún no conectados.

Qué es uridata?

tokenId → {hash, enlace, índice} mapa; Mesa CID lista para revelar.

¿Es correcto "Revelar = simplemente eliminar el desenfoque en la interfaz de usuario"?

Revelar = actualización de tokenURI en cadena; La interfaz de usuario solo muestra el resultado.

¿Qué soluciona esta sección?

Esta sección fija la revelación como producto y límite de seguridad; La siguiente parte fortalece la conexión de la billetera a la red principal. En Confident Gorillas 1.4 mint a menudo no muestra la imagen final de inmediato. El marcador de posición/URI temporal mint se escribe sobre la marcha; Los CID reales esperan en la tabla uridata como tokenId → hash/link. Reveal envía revelación (tokenId, uriHash) después de la verificación del propietario del contenedor; esta es la promesa del arte "aparece en su billetera".

Principios de ingeniería aprendidos

  • Separe intencionalmente el URI de Mint y el URI final.
  • Bloquee la autoridad Revelar con propietarioDe (o un rol claro).
  • Verifique la tabla CID fuera de la cadena para verificar la integridad del pin y del índice.

Continuar leyendo

Continuar leyendo

Siguiente en la serie

Siguiente en la serie

Misma serie

Paylaş