प्लेबुक

BareNFT: भूमिकाएँ, रुकने योग्य और टोकन URI (Barenft Uri)

BareNFT ERC721 एन्यूमरेबल/बर्नेबल/पॉजेबल और एक्सेस कंट्रोल के साथ रोल-गेटेड मिंट (टू, आईडी, यूरी) प्रदान करता है। प्रति-टोकन यूआरआई और ट्रेड-ऑफ़ रोकें।

बेअर क्रिप्टो सॉलिडिटी मार्केटप्लेस प्रोटोकॉल

भाग 2 का 5

रीमिक्स आईडीई और ओपनजेपेलिन v4.1 गिटहब आयात, रिजर्व, यूके नीलामी और एनएफटी-गेटेड बेयरटोकन उत्सर्जन आर्किटेक्चर के साथ हार्डहैट/फाउंड्री के बिना बेयरएनएफटी; एडीआर, कमजोर आरएनजी और आपातकालीन प्राधिकरण व्यापार-बंद।

Bare Crypto Solidity marketplace protocol diagram

पूर्व निर्धारित से परे तक: कौन टकसाल करता है, कौन रोकता है

BareNFT OpenZeppelin ERC721PresetMinterPauserAutoId फ्रेमवर्क से निकला है, लेकिन AutoId के बजाय बाहरी रूप से आपूर्ति किए गए टोकनआईडी के साथ टकसाल (टू, टोकनआईडी, टोकनयूआरआई) प्रदान करता है। MINTER_ROLE और PAUSER_ROLE को AccessControlEnumerable के माध्यम से अलग किया जाता है; प्रत्येक टोकन के लिए एक कस्टम यूआरआई को बेसयूआरआई के साथ जोड़ा जाता है, जो मेटाडेटा लचीलापन प्रदान करता है - साथ ही एक ट्रस्ट मॉडल भी प्रदान करता है जहां टकसाल प्राधिकरण अकेले संग्रह को आकार देता है।```text Deployer ├─ DEFAULT_ADMIN_ROLE ├─ MINTER_ROLE ──> mint(to, id, uri) └─ PAUSER_ROLE ──> pause / unpause | v ERC721Enumerable + Burnable + Pausable | v tokenURI = baseURI + per-token path


## पहले उल्लेख पर अवधारणाएँ```text
📦 AccessControl
Rol bazli izin modeli; Ownable'dan daha ince taneli mint/pause ayrimi.

📦 ERC721Pausable
Transferleri durduran acil fren; listing ve auction escrow'unu da kilitler.

📦 Per-token URI
Her tokenId icin ayri metadata yolu; baseURI ile birlestirilir.

📦 Role-gated mint
Yalniz MINTER_ROLE sahibinin mint(to, id, uri) cagirabilmesi.
```भूमिका पृथक्करण से सुरक्षा बढ़ती है; लेकिन यदि DEFAULT_ADMIN_ROLE एक हाथ में है, तो MINTER/PAUSER भेद दिखावटी बना रहता है, क्रियाशील नहीं।

## एडीआर: ऑटोआईडी के बजाय टोकनआईडी खोलें

निर्णय: टकसाल हस्ताक्षर को टकसाल होने दें (पता, uint256 टोकनआईडी, स्ट्रिंग टोकनयूआरआई); काउंटर के बजाय ऑपरेटर आईडी का चयन करता है। कारण: संग्रह कैटलॉग संख्या, आरक्षित सूची और नीलामी इतिहास को टोकनआईडी के माध्यम से अनुक्रमित किया जाता है। लागत: परस्पर विरोधी आईडी पर _mint वापस लौटता है; ऑफ-चेन मिंट समन्वय अनिवार्य हो जाता है। यह 'ऑन-चेन ऑटो इंक्रीमेंट' के बजाय एक 'ऑपरेटर कैटलॉग अथॉरिटी' एडीआर है।

## भूमिका, विराम और स्थानांतरण हुक

रोकें() अनुरोध PAUSER_ROLE; _beforeTokenTransfer Enumerable + Pausable श्रृंखला को कॉल करता है। जब पॉज़ चालू होता है, तो BareNFTReserve या BareNFTAuction पर सेफट्रांसफरफ्रॉम भी बंद हो जाता है - आपातकालीन ब्रेक सभी एस्क्रो आउटपुट को एक साथ लॉक कर देता है। यह एक शक्तिशाली घटना उपकरण है और इसका मतलब यह भी है कि ऑपरेटर पूरे बाज़ार को फ्रीज कर सकता है।```text
PAUSER_ROLE
   pause()
     |
     v
_beforeTokenTransfer
     |
     +-- marketplace escrow transfer BLOCKED
     +-- peer-to-peer transfer BLOCKED
```## विफलता: अनधिकृत टकसाल सतह और यूआरआई ऑफसेट

setMintingCurrency सार्वजनिक रूप से कॉल करने योग्य प्रतीत होती है; MintingPrice कभी भी सेट नहीं किया जाता - अपूर्ण मूल्य निर्धारण सतह। प्रदर्शन परिदृश्य: गणना योग्य + _beforeTokenTransfer प्रत्येक स्थानांतरण के साथ व्यस्त द्वितीयक बाजार में गैस की लागत बढ़ जाती है। यूआरआई की ओर, जब आईपीएफएस गेटवे बदलता है तो बेसयूआरआई + पथ संयोजन पूरे संग्रह को तोड़ देता है; प्रति-टोकन लचीलापन बेसयूआरआई ऑपरेटिंग अनुशासन पर निर्भर करता है। MINTER_ROLE घुसपैठ एक फर्जी आईडी टकसाल के साथ आरक्षित सूची इतिहास को विषाक्त कर देती है।

## इस एपिसोड में सबसे भ्रमित करने वाला मैचअप```text
❌ AccessControl = Ownable'in sadesi
✓ AccessControl mint ve pause'u ayirir; Ownable tek sahip ile her seyi birlestirir

❌ Pause sadece transferleri durdurur, marketplace etkilenmez
✓ Escrow safeTransferFrom de pause altinda revert eder; tum pazar kilitlenir

❌ Per-token URI merkeziyetsiz metadata demektir
✓ URI hala minter ve baseURI operatorune guvenir; pin ve gateway politikasi ayridir

आपके अपने सिस्टम की चेकलिस्ट

  1. क्या DEFAULT_ADMIN, MINTER और PAUSER एक ही वॉलेट में हैं या अलग हो गए हैं?
  2. विराम के दौरान किस टीएक्स के साथ खुली लिस्टिंग/नीलामी रखी जा सकती है?
  3. क्या टोकनयूआरआई संयोजन बेसयूआरआई में बदलने पर पुराने टोकन टूट जाएंगे?
  4. यदि एक ही टोकनआईडी को दो बार ढालने का प्रयास किया जाता है तो यूआई कैसे व्यवहार करता है?
  5. setMintingCurrency जैसे हाफफेस को कौन कह सकता है?

इस अनुभाग से याद रखने योग्य बातें

  1. BareNFT रोल-गेटेड मिंट (टू, आईडी, यूरी) के साथ ऑन-चेन पर कैटलॉग अथॉरिटी लाता है।
  2. पॉज़ेबल एस्क्रो मार्केटप्लेस में एक वैश्विक किल स्विच है - ट्रेड-ऑफ स्पष्ट रूप से लिखा जाना चाहिए।
  3. प्रति-टोकन यूआरआई लचीलापन बेसयूआरआई ऑपरेशन ऋण पर निर्भर करता है।

भूमिका पृथक्करण एक लॉक योजना है; अगर एडमिन एक हाथ में है तो वह सिर्फ एक लेबल है।

FAQ

Frequently asked questions

एक्सेसकंट्रोल क्या है?

भूमिका-आधारित अनुमति मॉडल; ओनेबल की तुलना में महीन दाने वाला पुदीना/रोक पृथक्करण।

ERC721पॉजेबल क्या है?

आपातकालीन ब्रेक जो स्थानान्तरण रोकता है; यह लिस्टिंग और नीलामी एस्क्रो को भी लॉक कर देता है।

क्या "एक्सेस कंट्रोल = स्वामित्व योग्य" सही है?

AccessControl मिंट और पॉज़ को अलग करता है; ओनेबल हर चीज़ को एक मालिक के साथ जोड़ता है

यह अनुभाग क्या ठीक करता है?

यह अनुभाग BareNFT भूमिका सीमा, प्रति-टोकन URI निर्णय और बाज़ार में ठहराव के दुष्प्रभावों को ठीक करता है। BareNFT OpenZeppelin ERC721PresetMinterPauserAutoId फ्रेमवर्क से निकला है, लेकिन AutoId के बजाय बाहरी रूप से आपूर्ति किए गए टोकनआईडी के साथ टकसाल (टू, टोकनआईडी, टोकनयूआरआई) प्रदान करता है। MINTER_ROLE और PAUSER_ROLE को AccessControlEnumerable के माध्यम से अलग किया जाता है; प्रत्येक टोकन के लिए एक कस्टम यूआरआई को बेसयूआरआई के साथ जोड़ा जाता है, जो मेटाडेटा लचीलापन प्रदान करता है - साथ ही एक ट्रस्ट मॉडल भी प्रदान करता है जहां टकसाल प्राधिकरण अकेले संग्रह को आकार देता है।

इंजीनियरिंग सिद्धांत सीखे गए

  • मिंट सिग्नेचर (ऑटो-आईडी बनाम ओपन आईडी) को कैटलॉग और मार्केटप्लेस इंडेक्स मॉडल के साथ चुना जाना चाहिए।
  • एस्क्रो प्रोटोकॉल में ठहराव को वैश्विक विराम के रूप में डिज़ाइन और संप्रेषित किया जाना चाहिए।
  • मेटाडेटा एडीआर में बेसयूआरआई, प्रति-टोकन पथ और गेटवे पिन एक साथ शामिल होना चाहिए।

जारी रखें पढ़ रहे हैं

जारी रखें पढ़ रहे हैं

श्रृंखला में अगला

श्रृंखला में अगला

निबंध

रीमिक्स + ओपनज़ेपेलिन: हार्डहैट के बिना डिलीवरी

रीमिक्स आईडीई और ओपनज़ेपेलिन v4.1 गिटहब आयात के साथ हार्डहैट/फाउंड्री के बिना बेयर क्रिप्टो प्रोटोकॉल को कैसे संकलित और तैनात किया गया था? एडीआर और…

वही सिलसिला

निबंध

BareNFTAuction: दावा, धनवापसी और आपातकालीन शक्तियां

ब्रिटिश नीलामी: बोली लगाना, दावा करना, रद्द करना, रिजर्व के तहत वापसी और मालिक आपातकालीन ट्रांसफरएनएफटी/ट्रांसफरफंड ट्रेड-ऑफ।

Paylaş