Playbook
Remix + OpenZeppelin: Lieferung ohne Hardhat (Remix Openzeppelin Lieferung Ohne Hardhat)
Wie das Bare-Crypto-Protokoll in Remix IDE mit OpenZeppelin-v4.1-GitHub-Imports — ohne Hardhat/Foundry — gebaut wurde, inkl. ADR und Trade-offs.
Bare Crypto Solidity Marketplace-Protokoll
Teil 1 von 5
BareNFT, Reserve-Escrow, englische Auktion und NFT-gated BareToken-Emissionen in Remix IDE mit OpenZeppelin-v4.1-GitHub-Imports — ohne Hardhat/Foundry — inkl. ADRs, schwacher RNG und Notfall-Trade-offs.
Vertrags-Lieferung ohne lokale Toolchain
Das Bare-Crypto-Marketplace-Protokoll wurde in Remix IDE direkt mit gepinnten OpenZeppelin-v4.1.0-GitHub-URLs kompiliert — ohne lokale Hardhat- oder Foundry-Pipeline. Das war ein bewusster ADR 2021 fuer einen Single-Operator-Deploy: Geschwindigkeit und Versions-Pins gewonnen; reproduzierbares CI und typisierte Tests verloren.
Remix IDE
├─ BareNFT.sol
├─ BareNFTReserve.sol
├─ BareNFTAuction.sol
└─ BareToken.sol
|
v
https://github.com/OpenZeppelin/.../v4.1.0/...
|
v
injected Web3 / MetaMask deploy
Dieser Teil fixiert, warum Bare Crypto ein Hardhat-freies Liefermodell waehlte und welche Fehlermodi daraus folgen.
Begriffe, dort definiert, wo sie zuerst auftauchen
📦 Remix IDE
Browserbasierte Solidity-Compile-und-Deploy-Oberflaeche ohne lokales node_modules.
📦 GitHub-Import-Pin
OpenZeppelin-Imports auf eine v4.1.0-Blob-URL fixieren, um Versionsdrift zu verhindern.
📦 ADR
Architecture Decision Record: was gewaehlt wurde, warum, welche Folge akzeptiert wurde.
📦 Reproduzierbarer Build
Gleiche Quellen erzeugen denselben Bytecode — in Remix eine Schwachstelle.
Remix plus gepinnter GitHub-Import ist ein bewusster Trade-off zwischen 'schnell genug' und 'CI-korrekt'; ohne Pin kann jeder Compile andere Abhaengigkeiten ziehen.
ADR: kein Hardhat, dafuer Remix
Entscheidung: Protokollvertraege in Remix halten, OpenZeppelin v4.1.0 von GitHub importieren, via MetaMask deployen. Begruendung: kleines Team, ein Operator, schnelle Iteration. Akzeptierte Kosten: keine automatisierte Testsuite, Coverage, Gas-Reporter oder deterministisches Artifact-Archiv. Unter dem Druck 'Marketplace live' verschob dieser ADR bewusst CI-Schuld.
Gepinnte OpenZeppelin-Flaeche
BareNFT und BareToken ziehen ERC721/ERC20/AccessControl/Pausable von https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.1.0/... Pfaden. Der Tag-Pin stoppt Minor-Drift, aber Remix-Cache und .deps beantworten 'welcher Bytecode ist live?' nicht so klar wie ein Hardhat-Artifact-Store.
import OZ v4.1.0
ERC721 + Enumerable + Burnable + Pausable
AccessControlEnumerable
SafeMath / IERC20
|
v
Remix .deps/github mirror
Fehlerfall: driftende Deps und stille Forks
Wenn ein Operator die Blob-URL vom Tag auf master aendert oder Remix unter anderem Pragma/Optimizer neu kompiliert, entsteht ein Fork, der wie dieselbe Quelle aussieht, aber anderen Bytecode emitiert. Die Marketplace-UI spricht weiter die alte ABI an, waehrend Claim/Bid reverten; der Incident wird dem Frontend angelastet, die Ursache ist Toolchain-Disziplin. Performance: Remix loest den grossen OZ-Baum bei jedem Compile neu auf — langsamer und fragiler als gecachtes lokales CI.
Die am häufigsten verwechselten Zuordnungen
❌ Remix ist nur Spielzeug, nie Production
✓ Remix plus gepinntes OZ kann fuer einen kleinen Operator-Marketplace ein gueltiger ADR sein — wenn die Kosten dokumentiert sind
❌ GitHub-Imports sind automatisch sicher
✓ Imports ohne Tag-Pin sind Supply-Chain-Drift; der v4.1.0-Blob-Lock ist Pflicht
❌ Ohne Hardhat kann man nicht auditieren
✓ Audits laufen ueber Source und Bytecode; fehlend sind reproduzierbare Pipeline und Regressionstests
Checkliste zur Prüfung des eigenen Systems
- Enthalten Ihre OpenZeppelin-Import-URLs einen Versions-Tag wie v4.1.0?
- Liefern zwei Remix-Compiles desselben Commits denselben Bytecode-Hash?
- Woher kommt die ABI der Deploy-Adressen — Remix-Export oder Handkopie?
- Sind Compiler-Version und Optimizer in ADR oder README eingefroren?
- Welches Marketplace-UI-Symptom erscheint zuerst bei Dependency-Drift, und wer merkt es?
Was aus diesem Teil bleiben sollte
- Bare Crypto waehlte Hardhat-freie Remix-Lieferung fuer Tempo und akzeptierte Reproduzierbarkeit als Schuld.
- Der OpenZeppelin-v4.1-GitHub-Pin ist ohne Toolchain der einzige echte Versions-Lock.
- Bytecode-Drift zeigt sich als raetselhafte UI-Reverts; die Ursache ist selten das Frontend.
Schnelle Lieferung ist ein Feature; ein ungepinnter Import ist eine stille Fork-Fabrik.
FAQ
Häufige Fragen
Was ist Remix IDE?
Browserbasierte Solidity-Compile-und-Deploy-Oberflaeche ohne lokales node_modules.
Was ist GitHub-Import-Pin?
OpenZeppelin-Imports auf eine v4.1.0-Blob-URL fixieren, um Versionsdrift zu verhindern.
Stimmt es, dass „Remix ist nur Spielzeug, nie Production“?
Remix plus gepinntes OZ kann fuer einen kleinen Operator-Marketplace ein gueltiger ADR sein — wenn die Kosten dokumentiert sind
Was legt dieser Teil fest?
Dieser Teil fixiert, warum Bare Crypto ein Hardhat-freies Liefermodell waehlte und welche Fehlermodi daraus folgen. Das Bare-Crypto-Marketplace-Protokoll wurde in Remix IDE direkt mit gepinnten OpenZeppelin-v4.1.0-GitHub-URLs kompiliert — ohne lokale Hardhat- oder Foundry-Pipeline. Das war ein bewusster ADR 2021 fuer einen Single-Operator-Deploy: Geschwindigkeit und Versions-Pins gewonnen; reproduzierbares CI und typisierte Tests verloren.
Gelernte Engineering-Prinzipien
- Den Toolchain-ADR zusammen mit Teamgroesse und Operator-Trust-Modell schreiben.
- Nie ungepinnte GitHub-Imports in Production deployen.
- Ohne reproduzierbaren Bytecode ist Incident-Root-Cause Spekulation.
Weiterlesen
Weiterlesen
Nachster Teil der Serie
BareNFT: Rollen, Pausable und Token-URI
BareNFT kombiniert ERC721 Enumerable/Burnable/Pausable mit AccessControl und role-gated mint(to, id, uri). Trade-offs von Per-Token-URI und Pause.
Aus derselben Serie
BareNFTReserve: Escrow, RandomBuy und schwache RNG
Owner-only createNewListing, buy und randomBuy mit keccak256(revealNonce, block.difficulty, msg.sender) % 3 — schwache RNG, Owner-Marketplace-ADR…
Aus derselben Serie
BareNFTAuction: Claim, Rueckerstattung und Notfallrechte
Englische Auktion: Bid, Claim, Cancel, Reserve-Unterschreitung und Owner-Emergency transferNft/transferFunds Trade-offs.