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.

Bare Crypto Solidity marketplace protocol diagram

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

  1. Enthalten Ihre OpenZeppelin-Import-URLs einen Versions-Tag wie v4.1.0?
  2. Liefern zwei Remix-Compiles desselben Commits denselben Bytecode-Hash?
  3. Woher kommt die ABI der Deploy-Adressen — Remix-Export oder Handkopie?
  4. Sind Compiler-Version und Optimizer in ADR oder README eingefroren?
  5. Welches Marketplace-UI-Symptom erscheint zuerst bei Dependency-Drift, und wer merkt es?

Was aus diesem Teil bleiben sollte

  1. Bare Crypto waehlte Hardhat-freie Remix-Lieferung fuer Tempo und akzeptierte Reproduzierbarkeit als Schuld.
  2. Der OpenZeppelin-v4.1-GitHub-Pin ist ohne Toolchain der einzige echte Versions-Lock.
  3. 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

Aus derselben Serie

Aus derselben Serie

Paylaş