Oyun Kitabı

URI d'espace réservé et ligne de révélation du propriétaire (Uri Despace Reserve Et Ligne DE Revelation Du Proprietaire)

Dans Mint, les métadonnées d'espace réservé, la carte uridata, la révélation (tokenId, uriHash) et la surface de révélation que seul le propriétaire peut ouvrir.

Collection NFT Mint et durcissement du réseau principal

Partie 3 de 4

Surfaces menthe CBD All-Stars et Confident Gorillas : entonnoir de liste blanche WIP, métadonnées IPFS, espace réservé → pipeline de révélation et renforcement du portefeuille du réseau principal avec Web3Modal.

NFT mint and mainnet architecture diagram

Mint ne donne pas d'art aléatoire ; donne une révélation

Dans Confident Gorillas 1.4, Mint n'affiche souvent pas immédiatement l'image finale. L'espace réservé/URI temporaire est écrit à la volée ; les vrais CID attendent dans la table uridata en tant que tokenId → hash/link. Reveal envoie révélation (tokenId, uriHash) après la vérification du propriétaire du conteneur — c'est la promesse de l'art « apparaît dans votre portefeuille ».```text mint → placeholder / interim tokenURI │ uridata[tokenId] = { hash, link } │ ownerOf(tokenId) === connected wallet? yes │ no → deny ↓ reveal(tokenId, uriHash) ↓ tokenURI updated → retrieveJSON / image


## Concepts à la première mention```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ü.
```Le bouton Révéler peut être désactivé dans la visionneuse ; La révélation opérationnelle est parfois déclenchée par le panneau ou le script propriétaire. Le propriétaire est à nouveau la porte.

## Pourquoi un espace réservé ?

Équité et fonctionnement : réduire les fuites de métadonnées avant que l'intégralité de l'offre ne soit pressée, séparant la génération artistique du rythme de la menthe. Bonbons utilisateur ; l'art vient plus tard avec « révéler ». Landing FAQ décrit cela comme apparaissant dans MetaMask.```text
Mint window
  → same placeholder look
Reveal window
  → unique CID per tokenId
```## Révéler le pipeline

Reveal.ts lit uridata.uri[tokenId], obtient le hachage, appelle RevealToken(tokenId, hash). nftContractUtils valideownerOf ; si correspond à contract.methods.reveal(...).send({ from }). Ensuite, tokenURI renvoie le nouveau hachage ; retrieveJSON résout le CID de l'image.```text
Reveal.ts
  uridata[tokenId].hash
       ↓
revealToken → owner check
       ↓
reveal(tokenId, hash).send
```## ADR : table hors chaîne + révélation du propriétaire en chaîne

Décision : la liste finale des CID est conservée dans le client/bundle (uridata) ; L'autorité de mise à jour reste la fonction de révélation contrôlée par le propriétaire. L'alternative (commit-reveal on-chain, VRF) est plus chère. Compromis : le paquet uridata peut être divulgué – révéler que le timing et le contrôle d'accès sont des risques pour le produit.```text
ADR-03 Placeholder + owner reveal
  Store: uridata off-chain map
  Auth: ownerOf gate
  Mutate: reveal(tokenId, uriHash)
  Reject: non-owner / wrong id
```## Scénarios d'échec

Mauvais tokenId → mauvais art. Incompatibilité de hachage/lien → passerelle 404. Portefeuille n'appartenant pas → non-opération silencieuse (la fonction renvoie null). S'il n'y a pas de révélation dans l'ABI, l'encodage explose. Si l'espace réservé n'est jamais mis à jour, la collection reste une « boîte vide ».```text
Fail matrix
  wrong tokenId     → wrong art
  hash ≠ pinned CID → 404
  non-owner         → no-op / deny
  missing reveal ABI→ encode fail

Les confrontations les plus déroutantes de cet épisode```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


## Liste de contrôle de votre propre système

1. Le hachage uridata de chaque tokenId peut-il être épinglé et récupéré ?
2. Le propriétaire du contrôle est-il disponible à la fois sur le client et sur le contrat avant la révélation ?
3. L'URI d'espace réservé et l'URI final sont-ils clairement séparés ?
4. Le bouton Révéler est-il désactivé/refusé en toute sécurité chez les non-propriétaires ?
5. Y a-t-il un décalage d'index dans la table comportant 750 entrées ?

## Choses à retenir de cette section

1. L'espace réservé permet de faire la distinction entre la révélation, l'équité et les opérations avec menthe.
2. Révéler sans la porte du propriétaire viole l'intégrité de la collection.
3. uridata est une décision de produit ; Ne présumez pas de la confidentialité, du timing de conception.

> Il est facile de donner de la menthe artistique instantanément ; Le don juste et irrévocable est la discipline de la révélation.

FAQ

Frequently asked questions

Qu’est-ce que les métadonnées d’espace réservé ?

URI temporaire écrit sur Mint fly ; traits finaux/visuel pas encore connectés.

Qu’est-ce que l’uridata ?

tokenId → { hachage, lien, index } carte ; Table CID prête à être révélée.

"Révéler = supprimer simplement le flou dans l'interface utilisateur" est-il correct ?

Révéler = mise à jour du tokenURI en chaîne ; L'interface utilisateur affiche uniquement le résultat

Que corrige cette section ?

Cette section corrige la révélation en tant que limite de produit et de sécurité ; La partie suivante renforce la connexion du portefeuille au réseau principal. Dans Confident Gorillas 1.4, Mint n'affiche souvent pas immédiatement l'image finale. L'espace réservé/URI temporaire est écrit à la volée ; les vrais CID attendent dans la table uridata en tant que tokenId → hash/link. Reveal envoie révélation (tokenId, uriHash) après la vérification du propriétaire du conteneur — c'est la promesse de l'art « apparaît dans votre portefeuille ».

Principes d'ingénierie appris

  • Séparez intentionnellement l’URI Mint et l’URI final.
  • Verrouillez l'autorité Reveal avecownerOf (ou un rôle clair).
  • Vérifiez la table CID hors chaîne pour l’intégrité des broches et des index.

Continuer la lecture

Continuer la lecture

Suivant en série

Suivant en série

Même série

Paylaş