प्लेबुक
रीमिक्स + ओपनज़ेपेलिन: हार्डहैट के बिना डिलीवरी (Remix Openzeppelin Delivery Without Hardhat)
रीमिक्स आईडीई और ओपनज़ेपेलिन v4.1 गिटहब आयात के साथ हार्डहैट/फाउंड्री के बिना बेयर क्रिप्टो प्रोटोकॉल को कैसे संकलित और तैनात किया गया था? एडीआर और ट्रेड-ऑफ़।
बेअर क्रिप्टो सॉलिडिटी मार्केटप्लेस प्रोटोकॉल
भाग 1 का 5
रीमिक्स आईडीई और ओपनजेपेलिन v4.1 गिटहब आयात, रिजर्व, यूके नीलामी और एनएफटी-गेटेड बेयरटोकन उत्सर्जन आर्किटेक्चर के साथ हार्डहैट/फाउंड्री के बिना बेयरएनएफटी; एडीआर, कमजोर आरएनजी और आपातकालीन प्राधिकरण व्यापार-बंद।
टूलचेन के अभाव में अनुबंध वितरण
बेयर क्रिप्टो मार्केटप्लेस प्रोटोकॉल को स्थानीय हार्डहैट या फाउंड्री पाइपलाइन को स्थापित किए बिना, GitHub URL के साथ सीधे OpenZeppelin v4.1.0 अनुबंधों को आयात करके रीमिक्स IDE के भीतर संकलित किया गया था। यह 2021 में तेजी से परीक्षण और एकल ऑपरेटर तैनाती के लिए एक जानबूझकर एडीआर था: गति और रिलीज पिन प्राप्त हुआ, दोहराए जाने योग्य सीआई और टाइप-सुरक्षित परीक्षण खो गया।```text Remix IDE ├─ BareNFT.sol ├─ BareNFTReserve.sol ├─ BareNFTAuction.sol └─ BareToken.sol | v https://github.com/OpenZeppelin/.../v4.1.0/... | v injected Web3 / MetaMask deploy
## पहले उल्लेख पर अवधारणाएँ```text
📦 Remix IDE
Tarayici tabanli Solidity derleyici ve deploy yuzeyi; lokal node_modules gerektirmez.
📦 GitHub import pin
OpenZeppelin sozlesmelerini v4.1.0 blob URL'siyle sabitleyerek surum kaymasini onleme.
📦 ADR
Mimari karar kaydi: ne secildi, neden, hangi sonuc kabul edildi.
📦 Tekrarlanabilir build
Ayni kaynaklarin farkli makinelerde ayni bytecode'u uretmesi; Remix'te zayif nokta.
```रीमिक्स + पिन किया गया GitHub आयात 'क्विक राइट' और 'CI राइट' के बीच एक सचेत व्यापार-बंद है; यदि कोई पिन नहीं है, तो प्रत्येक संकलन की अलग-अलग निर्भरताएँ हो सकती हैं।
## एडीआर: कोई हार्डहैट नहीं, सिर्फ रीमिक्स
निर्णय: प्रोटोकॉल समझौतों को रीमिक्स में रखें, GitHub से OpenZeppelin v4.1.0 आयात करें, और मेटामास्क के माध्यम से तैनात करें। तर्क: छोटी टीम, एकल ऑपरेटर, तेज़ पुनरावृत्ति। स्वीकृत मूल्य: कोई स्वचालित परीक्षण सूट, कवरेज, गैस रिपोर्टर और नियतात्मक विरूपण साक्ष्य संग्रह नहीं है। इस एडीआर ने 'बाज़ार को सक्रिय रहने दो' के दबाव में जानबूझकर सीआई ऋण को स्थगित कर दिया।
## पिन की गई ओपनज़ेपेलिन सतह
BareNFT और BareToken https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.1.0/... के माध्यम से OpenZeppelin ERC721/ERC20/AccessControl/Pausable सतहों को खींचते हैं... टैग पिन लघु संस्करण स्लिप को बाधित करता है; हालाँकि, रीमिक्स कैश और .deps फ़ोल्डर टीम को यह पूछने की अनुमति देते हैं कि 'कौन सा बाइटकोड प्रसारित होता है?' यह स्थानीय हरधाट कलाकृति की तरह स्पष्ट रूप से प्रश्न का उत्तर नहीं देता है।```text
import OZ v4.1.0
ERC721 + Enumerable + Burnable + Pausable
AccessControlEnumerable
SafeMath / IERC20
|
v
Remix .deps/github mirror
```## विफलता: अस्थायी निर्भरता और मूक कांटा
यदि कोई ऑपरेटर गलती से ब्लॉब यूआरएल में टैग को मास्टर में बदल देता है, या रीमिक्स एक अलग कंपाइलर प्राग्मा के साथ पुन: संकलित करता है, तो एक कांटा उत्पन्न होगा जो एक ही स्रोत की तरह दिखता है लेकिन अलग बाइटकोड उत्पन्न करता है। पुराने एबीआई से बात करने पर मार्केटप्लेस यूआई दावे/बोली कॉल को वापस कर देता है; इस घटना को 'फ्रंटएंड बग' माना जाता है, मूल कारण टूलचेन अनुशासनहीनता है। प्रदर्शन के संदर्भ में, रीमिक्स में बड़े OZ ट्री को प्रत्येक बिल्ड के साथ नए सिरे से हल किया जाता है - एक फीडबैक लूप जो स्थानीय कैश के बिना CI की तुलना में धीमा और अधिक नाजुक है।
## इस एपिसोड में सबसे भ्रमित करने वाला मैचअप```text
❌ Remix = sadece oyuncak, production'da kullanilmaz
✓ Remix + pinned OZ, kucuk operator marketplace'lerinde gecerli bir ADR olabilir; bedeli dokumante edilmelidir
❌ GitHub import otomatik olarak guvenlidir
✓ Tag pin olmadan import, tedarik zinciri kaymasidir; v4.1.0 blob sabitlemesi zorunlu disiplindir
❌ Hardhat yoksa audit edilemez
✓ Audit kaynak ve bytecode uzerinden yapilir; eksik olan tekrarlanabilir pipeline ve regresyon testidir
आपके अपने सिस्टम की चेकलिस्ट
- क्या आपके OpenZeppelin आयात URL में कोई संस्करण टैग (उदा. v4.1.0) है?
- क्या एक ही कमिट से दो रीमिक्स बिल्ड एक ही बाइटकोड हैश देते हैं?
- तैनात पतों का एबीआई किस आर्टिफैक्ट से आता है - रीमिक्स या मैन्युअल कॉपी?
- क्या कंपाइलर संस्करण और अनुकूलन सेटिंग्स ADR या README में तय की गई हैं?
- यदि निर्भरता कम हो जाती है तो मार्केटप्लेस यूआई क्या लक्षण दिखाता है, कौन नोटिस करेगा?
इस अनुभाग से याद रखने योग्य बातें
- बेयर क्रिप्टो ने गति के लिए हार्डहैट-मुक्त रीमिक्स डिलीवरी को चुना; उन्होंने यह जानते हुए कि इसे दोहराया जा सकता है, इसे ऋण के रूप में छोड़ दिया।
- टूलचेन की अनुपस्थिति में OpenZeppelin v4.1 GitHub पिन एकमात्र वास्तविक संस्करण लॉक है।
- यूआई में बाइटकोड ऑफसेट 'अजीब रिवर्ट' के रूप में दिखाई देता है; रूट अक्सर फ़्रंटएंड क्यों नहीं होता?
तेजी से वितरण एक सुविधा है; पिनलेस आयात एक मूक कांटा कारखाना है।
FAQ
Frequently asked questions
रीमिक्स आईडीई क्या है?
ब्राउज़र-आधारित सॉलिडिटी कंपाइलर और तैनाती सतह; स्थानीय नोड_मॉड्यूल की आवश्यकता नहीं है।
GitHub आयात पिन क्या है?
V4.1.0 ब्लॉब URL के साथ OpenZeppelin अनुबंधों को पिन करके संस्करण रेंगना रोकें।
क्या यह सच है कि "रीमिक्स = सिर्फ एक खिलौना, उत्पादन में उपयोग नहीं किया जाता"?
छोटे ऑपरेटर बाज़ारों में रीमिक्स + पिन किया हुआ OZ एक वैध ADR हो सकता है; लागत का दस्तावेजीकरण किया जाना चाहिए
यह अनुभाग क्या ठीक करता है?
यह खंड स्थापित करता है कि बेयर क्रिप्टो ने हार्डहैट-मुक्त डिलीवरी मॉडल क्यों चुना और यह विकल्प किस विफलता परिदृश्य को खोलता है। बेयर क्रिप्टो मार्केटप्लेस प्रोटोकॉल को स्थानीय हार्डहैट या फाउंड्री पाइपलाइन को स्थापित किए बिना, GitHub URL के साथ सीधे OpenZeppelin v4.1.0 अनुबंधों को आयात करके रीमिक्स IDE के भीतर संकलित किया गया था। यह 2021 में तेजी से परीक्षण और एकल ऑपरेटर तैनाती के लिए एक जानबूझकर एडीआर था: गति और रिलीज पिन प्राप्त हुआ, दोहराए जाने योग्य सीआई और टाइप-सुरक्षित परीक्षण खो गया।
इंजीनियरिंग सिद्धांत सीखे गए
- टूलचेन एडीआर को टीम के आकार और ऑपरेटर ट्रस्ट मॉडल के साथ लिखा जाना चाहिए।
- GitHub आयात को टैग के साथ पिन किए बिना उत्पादन परिनियोजन नहीं किया जाना चाहिए।
- दोहराए जाने योग्य बाइटकोड के बिना घटना के मूल कारण का विश्लेषण अटकल है।
जारी रखें पढ़ रहे हैं
जारी रखें पढ़ रहे हैं
श्रृंखला में अगला
BareNFT: भूमिकाएँ, रुकने योग्य और टोकन URI
BareNFT ERC721 एन्यूमरेबल/बर्नेबल/पॉजेबल और एक्सेस कंट्रोल के साथ रोल-गेटेड मिंट (टू, आईडी, यूरी) प्रदान करता है। प्रति-टोकन यूआरआई और ट्रेड-ऑफ़ रोकें।
वही सिलसिला
बेयरएनएफटीरिजर्व: एस्क्रो, रैंडमबाय और कमजोर आरएनजी
स्वामी-केवल नई सूची बनाएँ, खरीदें और यादृच्छिक खरीदें - keccak256(revealNonce, ब्लॉक.कठिनाई, संदेश.प्रेषक) % 3.…
वही सिलसिला
BareNFTAuction: दावा, धनवापसी और आपातकालीन शक्तियां
ब्रिटिश नीलामी: बोली लगाना, दावा करना, रद्द करना, रिजर्व के तहत वापसी और मालिक आपातकालीन ट्रांसफरएनएफटी/ट्रांसफरफंड ट्रेड-ऑफ।