प्लेबुक
प्लेसहोल्डर यूआरआई और ओनर रिवील लाइन (Placeholder Uri And Owner Reveal Pipeline)
मिंट में, प्लेसहोल्डर मेटाडेटा, यूरिडेटा मैप, रिवील (टोकनआईडी, यूरीहैश) और रिवील सरफेस जिसे केवल मालिक ही खोल सकता है।
एनएफटी कलेक्शन मिंट और मेननेट हार्डनिंग
भाग 3 का 4
सीबीडी ऑल-स्टार्स और कॉन्फिडेंट गोरिल्लास टकसाल सतह: WIP व्हाइटलिस्ट फ़नल, IPFS मेटाडेटा, प्लेसहोल्डर → पाइपलाइन प्रकट करते हैं, और Web3Modal के साथ मेननेट वॉलेट हार्डनिंग।
टकसाल यादृच्छिक कला नहीं देता है; एक खुलासा देता है
कॉन्फिडेंट गोरिल्लास 1.4 मिंट में अक्सर अंतिम छवि तुरंत नहीं दिखती। प्लेसहोल्डर/अस्थायी यूआरआई टकसाल मक्खी पर लिखा है; वास्तविक सीआईडी यूरिडेटा तालिका में टोकनआईडी → हैश/लिंक के रूप में प्रतीक्षा करते हैं। कंटेनर मालिक की जाँच के बाद रिवील रिवील (टोकनआईडी, यूरीहैश) भेजता है - यह कला 'आपके बटुए में दिखाई देती है' का वादा है।```text mint → placeholder / interim tokenURI │ uridata[tokenId] = { hash, link } │ ownerOf(tokenId) === connected wallet? yes │ no → deny ↓ reveal(tokenId, uriHash) ↓ tokenURI updated → retrieveJSON / image
## पहले उल्लेख पर अवधारणाएँ```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ü.
```व्यूअर में रिवील बटन अक्षम किया जा सकता है; परिचालनात्मक खुलासा कभी-कभी स्वामी पैनल या स्क्रिप्ट द्वारा शुरू किया जाता है। मालिक फिर से दरवाजा है.
## प्लेसहोल्डर क्यों?
निष्पक्षता और संचालन: संपूर्ण आपूर्ति दबाए जाने से पहले मेटाडेटा रिसाव को कम करना, कला पीढ़ी को टकसाल लय से अलग करना। उपयोगकर्ता टकसाल; कला 'प्रकटीकरण' के साथ बाद में आती है। लैंडिंग FAQ इसे मेटामास्क में प्रदर्शित होने के रूप में वर्णित करता है।```text
Mint window
→ same placeholder look
Reveal window
→ unique CID per tokenId
```## पाइपलाइन का खुलासा करें
Reveal.ts uridata.uri[tokenId] को पढ़ता है, हैश प्राप्त करता है, RevealToken(टोकनId, हैश) को कॉल करता है। nftContractUtils ओनरऑफ को मान्य करता है; यदि अनुबंध से मेल खाता है.methods.reveal(...).send({ from }). फिर टोकनयूआरआई नया हैश लौटाता है; पुनर्प्राप्तिJSON छवि CID का समाधान करता है।```text
Reveal.ts
uridata[tokenId].hash
↓
revealToken → owner check
↓
reveal(tokenId, hash).send
```## एडीआर: ऑफ-चेन टेबल + ऑन-चेन मालिक का खुलासा
निर्णय: अंतिम सीआईडी सूची क्लाइंट/बंडल (यूरिडाटा) में रखी जाती है; अद्यतन प्राधिकरण स्वामी-गेटेड प्रकटीकरण फ़ंक्शन के पास रहता है। विकल्प (कमिट-रिवील ऑन-चेन, वीआरएफ) अधिक महंगा है। ट्रेड-ऑफ़: यूरिडेटा बंडल लीक हो सकता है - समय का पता चलता है और पहुंच नियंत्रण उत्पाद जोखिम हैं।```text
ADR-03 Placeholder + owner reveal
Store: uridata off-chain map
Auth: ownerOf gate
Mutate: reveal(tokenId, uriHash)
Reject: non-owner / wrong id
```## विफलता परिदृश्य
गलत टोकनआईडी → गलत कला। हैश/लिंक बेमेल → गेटवे 404। गैर-स्वामित्व वाला वॉलेट → साइलेंट नो-ऑप (फ़ंक्शन रिटर्न शून्य)। यदि एबीआई में कोई खुलासा नहीं होता है, तो एनकोड फट जाता है। यदि प्लेसहोल्डर को कभी भी अद्यतन नहीं किया जाता है तो संग्रह एक 'खाली बॉक्स' बना रहता है।```text
Fail matrix
wrong tokenId → wrong art
hash ≠ pinned CID → 404
non-owner → no-op / deny
missing reveal ABI→ encode fail
इस एपिसोड में सबसे भ्रमित करने वाला मैचअप```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
## आपके अपने सिस्टम की चेकलिस्ट
1. क्या प्रत्येक टोकन आईडी के लिए यूरिडेटा हैश को पिन और पुनर्प्राप्त किया जा सकता है?
2. क्या प्रकटीकरण से पहले ग्राहक और अनुबंध दोनों पर मालिक का नियंत्रण उपलब्ध है?
3. क्या प्लेसहोल्डर यूआरआई और अंतिम यूआरआई स्पष्ट रूप से अलग हैं?
4. क्या खुलासा बटन गैर-स्वामी में सुरक्षित रूप से अक्षम/अस्वीकृत है?
5. क्या 750 प्रविष्टियों वाली तालिका में सूचकांक बदलाव है?
## इस अनुभाग से याद रखने योग्य बातें
1. प्लेसहोल्डर प्रकटन, निष्पक्षता और टकसाल के साथ ऑप्स के बीच अंतर प्रदान करता है।
2. मालिक गेट के बिना खुलासा करना संग्रह की अखंडता का उल्लंघन करता है।
3. यूरिडेटा एक उत्पाद निर्णय है; गोपनीयता, डिज़ाइन समय का अनुमान न लगाएं।
> आर्ट मिंट तुरंत देना आसान है; न्यायपूर्ण एवं अपरिवर्तनीय देना ही प्रकट करने का अनुशासन है।
FAQ
Frequently asked questions
प्लेसहोल्डर मेटाडेटा क्या है?
मिंट फ्लाई पर लिखा अस्थायी यूआरआई; अंतिम लक्षण/दृश्य अभी तक जुड़े नहीं हैं।
यूरिडेटा क्या है?
टोकनआईडी → {हैश, लिंक, इंडेक्स } मानचित्र; सीआईडी टेबल खुलासे के लिए तैयार.
क्या "खुलासा = यूआई में केवल धुंधलापन हटाएं" सही है?
खुलासा = ऑन-चेन टोकनयूआरआई अपडेट; यूआई केवल परिणाम दिखाता है
यह अनुभाग क्या ठीक करता है?
यह अनुभाग प्रकटीकरण को उत्पाद और सुरक्षा सीमा के रूप में तय करता है; अगला भाग मेननेट से वॉलेट कनेक्शन को सख्त बनाता है। कॉन्फिडेंट गोरिल्लास 1.4 मिंट में अक्सर अंतिम छवि तुरंत नहीं दिखती। प्लेसहोल्डर/अस्थायी यूआरआई टकसाल मक्खी पर लिखा है; वास्तविक सीआईडी यूरिडेटा तालिका में टोकनआईडी → हैश/लिंक के रूप में प्रतीक्षा करते हैं। कंटेनर मालिक की जाँच के बाद रिवील रिवील (टोकनआईडी, यूरीहैश) भेजता है - यह कला 'आपके बटुए में दिखाई देती है' का वादा है।
इंजीनियरिंग सिद्धांत सीखे गए
- जानबूझकर मिंट यूआरआई और अंतिम यूआरआई को अलग करें।
- रिवील अथॉरिटी को ओनरऑफ़ (या स्पष्ट भूमिका) के साथ लॉक करें।
- पिन और इंडेक्स अखंडता के लिए ऑफ-चेन सीआईडी तालिका की जांच करें।
जारी रखें पढ़ रहे हैं
जारी रखें पढ़ रहे हैं
श्रृंखला में अगला
मेननेट वेब3मॉडल और वॉलेट हार्डनिंग
मेटामास्क-ओनली से Web3Modal + वॉलेटकनेक्ट + कॉइनबेस वॉलेटलिंक पर माइग्रेट करना; चेनआईडी, गैस और एड्रेस हार्डनिंग।
श्रृंखला में अगला
आईपीएफएस (इंटरप्लेनेटरी फाइल सिस्टम) मेटाडेटा, मिंट और मल्टीपल मिंट
इन्फुरा आईपीएफएस + पिनाटा पिन, मेटाडेटा जेएसओएन, मिंट (टोकनआईडी, यूरी) और मल्टीपलमिंट: 0.1 ईटीएच × एन, 750 आपूर्ति।
वही सिलसिला
संग्रह लैंडिंग और WIP श्वेतसूची फ़नल
सीबीडी ऑल-स्टार्स मिंट लैंडिंग: #GETINTHEWIP, 750 स्लॉट, डिस्काउंट फ़नल और मेटामास्क-केवल मिंट सतह एक साथ कैसे आते हैं?