Oyun Kitabı

Remix + OpenZeppelin : Livraison sans casque (Remix Openzeppelin Livraison Sans Casque)

Comment le protocole Bare Crypto a-t-il été compilé et déployé sans Hardhat/Foundry avec les importations Remix IDE et OpenZeppelin v4.1 GitHub ? ADR et compromis.

Protocole de marché Bare Crypto Solidity

Partie 1 de 5

BareNFT sans Hardhat/Foundry avec Remix IDE et OpenZeppelin v4.1 Importations GitHub, réserve, enchères au Royaume-Uni et architecture d'émission BareToken contrôlée par NFT ; ADR, faible RNG et compromis entre les autorités d’urgence.

Bare Crypto Solidity marketplace protocol diagram

Livraison du contrat en l'absence de chaîne d'outils

Le protocole du marché Bare Crypto a été compilé dans l'IDE Remix en important directement les contrats OpenZeppelin v4.1.0 avec les URL GitHub, sans installer le pipeline local Hardhat ou Foundry. Il s'agissait d'un ADR délibéré pour des tests rapides et un déploiement par un seul opérateur en 2021 : vitesse et broche de libération gagnées, CI répétable et tests de sécurité de type perdus.```text Remix IDE ├─ BareNFT.sol ├─ BareNFTReserve.sol ├─ BareNFTAuction.sol └─ BareToken.sol | v https://github.com/OpenZeppelin/.../v4.1.0/... | v injected Web3 / MetaMask deploy


## Concepts à la première mention```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.
```L'importation GitHub Remix + épinglée est un compromis conscient entre « droit rapide » et « droit CI » ; S'il n'y a pas de code PIN, chaque compilation peut avoir des dépendances différentes.

## ADR : Pas de casque, juste Remix

Décision : conserver les accords de protocole dans Remix, importer OpenZeppelin v4.1.0 depuis GitHub et déployer via MetaMask. Justification : petite équipe, opérateur unique, itération rapide. Prix ​​accepté : il n'y a pas de suite de tests automatiques, de couverture, de rapporteur de gaz et d'archives d'artefacts déterministes. Cet ADR a sciemment reporté la dette de CI sous la pression de « laisser le marché fonctionner ».

## Surface OpenZeppelin épinglée

BareNFT et BareToken extraient les surfaces OpenZeppelin ERC721/ERC20/AccessControl/Pausable via https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.1.0/... La broche de balise interrompt le glissement de version mineur ; Cependant, le cache Remix et le dossier .deps permettent à l'équipe de demander « quel bytecode est diffusé ? Il ne répond pas à la question aussi clairement que l'artefact local Hardhat.```text
import OZ v4.1.0
  ERC721 + Enumerable + Burnable + Pausable
  AccessControlEnumerable
  SafeMath / IERC20
        |
        v
  Remix .deps/github mirror
```## Échec : dépendance flottante et fork silencieux

Si un opérateur modifie accidentellement la balise de l'URL du blob en master, ou si Remix se recompile avec un pragma de compilateur différent, un fork se produira qui ressemblera à la même source mais produira un bytecode différent. L'interface utilisateur de Marketplace annule les appels de réclamation/d'offre lorsque vous parlez à l'ancien ABI ; L'incident est considéré comme un « bug du front-end », la cause première étant l'indiscipline de la chaîne d'outils. En termes de performances, dans Remix, la grande arborescence OZ est à nouveau résolue à chaque build – une boucle de rétroaction plus lente et plus fragile que CI sans cache local.

## Les confrontations les plus déroutantes de cet épisode```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

Liste de contrôle de votre propre système

  1. Avez-vous une balise de version (par exemple v4.1.0) dans vos URL d'importation OpenZeppelin ?
  2. Est-ce que deux versions Remix du même commit donnent le même hachage de bytecode ?
  3. De quel artefact provient l'ABI des adresses déployées — Remix ou copie manuelle ?
  4. La version du compilateur et les paramètres d'optimisation sont-ils fixés dans un ADR ou un README ?
  5. Quel symptôme l'interface utilisateur du marché affiche-t-elle si une dépendance disparaît, qui le remarquera ?

Choses à retenir de cette section

  1. Bare Crypto a choisi la livraison Remix sans casque pour sa rapidité ; Il l'a laissé comme une dette sachant qu'elle était reproductible.
  2. La broche GitHub d'OpenZeppelin v4.1 est le seul véritable verrou de version en l'absence de chaîne d'outils.
  3. Le décalage du bytecode apparaît comme un « retour étrange » dans l'interface utilisateur ; Pourquoi root n’est-il souvent pas frontal ?

La livraison rapide est une fonctionnalité ; L'importation sans broches est une usine de fourches silencieuse.

FAQ

Frequently asked questions

Qu’est-ce que l’IDE ​​Remix ?

Compilateur Solidity basé sur un navigateur et surface de déploiement ; Ne nécessite pas de node_modules locaux.

Qu’est-ce que le code PIN d’importation GitHub ?

Empêchez la dérive de version en épinglant les contrats OpenZeppelin avec l'URL du blob v4.1.0.

Est-il vrai que « Remix = juste un jouet, non utilisé en production » ?

Remix + OZ épinglé peut être un ADR valide sur les marchés des petits opérateurs ; Le coût doit être documenté

Que corrige cette section ?

Cette section explique pourquoi Bare Crypto a choisi un modèle de livraison sans casque et quels scénarios d'échec ce choix ouvre. Le protocole du marché Bare Crypto a été compilé dans l'IDE Remix en important directement les contrats OpenZeppelin v4.1.0 avec les URL GitHub, sans installer le pipeline local Hardhat ou Foundry. Il s'agissait d'un ADR délibéré pour des tests rapides et un déploiement par un seul opérateur en 2021 : vitesse et broche de libération gagnées, CI répétable et tests de sécurité de type perdus.

Principes d'ingénierie appris

  • La chaîne d'outils ADR doit être écrite en fonction de la taille de l'équipe et du modèle de confiance de l'opérateur.
  • Le déploiement en production ne doit pas être effectué sans épingler les importations GitHub avec des balises.
  • L’analyse des causes profondes des incidents sans bytecode reproductible n’est que spéculation.

Continuer la lecture

Continuer la lecture

Suivant en série

Même série

Même série

Paylaş