Oyun Kitabı

Remix + OpenZeppelin: Hardhat Olmadan Teslimat (Remix Openzeppelin Hardhat Olmadan Teslimat)

Bare Crypto protokolu Remix IDE ve OpenZeppelin v4.1 GitHub importlariyla Hardhat/Foundry olmadan nasil derlenip deploy edildi? ADR ve trade-offlar.

Bare Crypto Solidity Marketplace Protokolu

Bolum 1 / 5

Remix IDE ve OpenZeppelin v4.1 GitHub importlariyla Hardhat/Foundry olmadan BareNFT, rezerv, Ingiliz artirmali acik artirma ve NFT-gated BareToken emisyon mimarisi; ADR, zayif RNG ve acil yetki trade-offlari.

Bare Crypto Solidity marketplace protocol diagram

Toolchain yoklugunda sozlesme teslimati

Bare Crypto marketplace protokolu, lokal Hardhat veya Foundry pipeline'i kurmadan Remix IDE icinde dogrudan OpenZeppelin v4.1.0 sozlesmelerini GitHub URL'leriyle import ederek derlendi. Bu, 2021 doneminde hizli deneme ve tek operator deploy icin bilincli bir ADR idi: hiz ve surum pin'i kazanildi, tekrarlanabilir CI ve tip-guvenli test kaybedildi.

Remix IDE
  ├─ BareNFT.sol
  ├─ BareNFTReserve.sol
  ├─ BareNFTAuction.sol
  └─ BareToken.sol
        |
        v
https://github.com/OpenZeppelin/.../v4.1.0/...
        |
        v
  injected Web3 / MetaMask deploy

Bu bolum, Bare Crypto'nun neden Hardhat'siz bir teslimat modeli sectigini ve bu secimin hangi basarisizlik senaryolarini aciga cikardigini sabitler.

Kavramlar ilk geçtiği yerde

📦 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.

Remix + pinned GitHub import, 'hizli dogru' ile 'CI dogru' arasinda bilinçli bir trade-off'tur; pin yoksa her derleme farkli bagimlilik cekebilir.

ADR: Hardhat yok, Remix var

Karar: protokol sozlesmeleri Remix'te tutulsun, OpenZeppelin v4.1.0 GitHub'dan import edilsin, deploy MetaMask uzerinden yapilsin. Gerekce: kucuk ekip, tek operator, hizli iterasyon. Kabul edilen bedel: otomatik test suite, coverage, gas reporter ve deterministic artifact arsivi yoktur. Bu ADR, 'marketplace canliya ciksin' baskisi altinda CI borcunu bilerek erteledi.

Pin'lenmis OpenZeppelin yuzeyi

BareNFT ve BareToken, OpenZeppelin ERC721/ERC20/AccessControl/Pausable yuzeylerini https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.1.0/... yollariyla ceker. Tag pin, minor surum kaymasini keser; ancak Remix cache ve .deps klasoru, takimin 'hangi bytecode yayinda?' sorusunu lokal Hardhat artifact'i kadar net cevaplamaz.

import OZ v4.1.0
  ERC721 + Enumerable + Burnable + Pausable
  AccessControlEnumerable
  SafeMath / IERC20
        |
        v
  Remix .deps/github mirror

Basarisizlik: kayan bagimlilik ve sessiz fork

Bir operator blob URL'deki tag'i yanlislikla master'a cevirirse veya Remix farkli bir compiler pragma ile yeniden derlerse, ayni kaynak 'gibi' gorunen ama farkli bytecode ureten bir fork dogar. Marketplace UI eski ABI ile konusurken claim/bid cagrilari revert eder; incident 'frontend bug' sanilir, kok neden toolchain disiplinsizligidir. Performans acisindan da Remix'te buyuk OZ agaci her derlemede yeniden cozulur — lokal cache'siz CI'dan daha yavas ve kirilgan bir feedback loop.

Bu bölümde en çok karışan eşleştirmeler

❌ 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

Kendi sisteminizi denetleme listesi

  1. OpenZeppelin import URL'lerinizde surum tag'i (ornegin v4.1.0) var mi?
  2. Ayni commit'ten iki Remix derlemesi ayni bytecode hash'ini veriyor mu?
  3. Deploy edilen adreslerin ABI'si hangi artifact'ten geliyor — Remix mi, elle kopya mi?
  4. Compiler version ve optimization ayarlari bir ADR veya README'de sabit mi?
  5. Bir bagimlilik kayarsa marketplace UI hangi semptomu gosterir, kim fark eder?

Bu bölümden aklında kalması gerekenler

  1. Bare Crypto, Hardhat'siz Remix teslimatini hiz icin secmis; tekrarlanabilirligi bilerek borc olarak birakmistir.
  2. OpenZeppelin v4.1 GitHub pin'i, toolchain yoklugunda tek gercek surum kilididir.
  3. Bytecode kaymasi, UI'da 'garip revert' olarak gorunur; kok neden cogu zaman frontend degildir.

Hizli teslimat bir ozelliktir; pin'siz import ise sessiz bir fork fabrikasidir.

SSS

Sık sorulan sorular

Remix IDE nedir?

Tarayici tabanli Solidity derleyici ve deploy yuzeyi; lokal node_modules gerektirmez.

GitHub import pin nedir?

OpenZeppelin sozlesmelerini v4.1.0 blob URL'siyle sabitleyerek surum kaymasini onleme.

"Remix = sadece oyuncak, production'da kullanilmaz" doğru mu?

Remix + pinned OZ, kucuk operator marketplace'lerinde gecerli bir ADR olabilir; bedeli dokumante edilmelidir

Bu bölüm neyi sabitler?

Bu bolum, Bare Crypto'nun neden Hardhat'siz bir teslimat modeli sectigini ve bu secimin hangi basarisizlik senaryolarini aciga cikardigini sabitler. Bare Crypto marketplace protokolu, lokal Hardhat veya Foundry pipeline'i kurmadan Remix IDE icinde dogrudan OpenZeppelin v4.1.0 sozlesmelerini GitHub URL'leriyle import ederek derlendi. Bu, 2021 doneminde hizli deneme ve tek operator deploy icin bilincli bir ADR idi: hiz ve surum pin'i kazanildi, tekrarlanabilir CI ve tip-guvenli test kaybedildi.

Ogrenilen Muhendislik Prensipleri

  • Toolchain ADR'si, ekip boyutu ve operator guven modeliyle birlikte yazilmalidir.
  • GitHub importlari tag ile pinlenmeden production deploy yapilmamalidir.
  • Tekrarlanabilir bytecode olmadan incident kok neden analizi spekulasyondur.

Okumaya devam et

Okumaya devam et

Seride sonraki yazi

Ayni seriden

Ayni seriden

Paylaş