Oyun Kitabı
Rinkeby Testnet ve Mainnet İstemci Ayrımı (Rinkeby Testnet Ve Mainnet İstemci Ayrimi)
Marketplace SPA Rinkeby Infura'ya kilitlenirken koleksiyon mint istemcileri mainnet'e sertleşir. Paylaşılan web3/IPFS util'leri ile ağ-spesifik config…
OpenSea-Benzeri Marketplace UI
Bolum 3 / 3
Bare Crypto marketplace SPA: OpenSea-benzeri bilgi mimarisi (Home, Marketplace, Viewer, Profile, mint formu), totalSupply tarayarak listing keşfi, Rinkeby Infura ve mainnet mint istemcileriyle paylaşılan util ayrımı — ADR, rate-limit ve 30s poll stale listing başarısızlıkları.
Aynı util klasörü, farklı zincir gerçeği
Bare Crypto ailesinde marketplace UI Rinkeby okuma/yazma düğümüne bağlanır; CBD All-Stars / Confident Gorillas mint yüzeyleri mainnet Infura ve cüzdan bağlayıcılarına kayar. Kod görünümü benzerdir — web3Utils, IPFS yardımcıları, metadata şekilleri — ama ağ kimliği, sözleşme adresleri ve risk modeli ayrılır. İstemci split'i bir repo politikası ve ADR konusudur.
Shared utils (shape)
web3 helpers · IPFS upload/retrieve · metadata attrs
╱ ╲
Marketplace SPA Collection mint clients
network: Rinkeby network: Ethereum mainnet
listings + viewer whitelist / mint / reveal
Infura test endpoint Infura main + Web3Modal
╲ ╱
NEVER share one hardcoded project key across envs
Bu bölüm, OpenSea-benzeri testnet pazarını mainnet mint istemcilerinden ayırmanın neden 'sadece config' olmadığını anlatır.
Kavramlar ilk geçtiği yerde
📦 İstemci Split
Aynı ürün ailesinde testnet marketplace ile mainnet mint uygulamalarının bilinçli ayrılması.
📦 Paylaşılan Util
Ağdan bağımsız yardımcılar (ABI çağrı kalıpları, IPFS, metadata); ağ gerçeği config'te kalır.
📦 Rinkeby
Marketplace prototipinin bağlandığı Ethereum test ağı (dönemin seçimi; sonradan emekli).
📦 Mainnet Sertleştirme
Gerçek değer, cüzdan bağlayıcıları ve yanlış ağ uyarılarıyla production mint yüzeyi.
Util kopyalamak paylaşmak değildir; hangi invariant'ın ortak, hangisinin env'e özel olduğu yazılmalıdır.
İki istemci, iki risk
Marketplace: listing tarama, stale poll, test ETH. Mint client: ücretli mint, whitelist, reveal. Aynı Infura projesini ve aynı bundle sırlarını paylaşmak, test kotasını production ile birleştirir ve anahtar sızıntısını çoğaltır.
Ne paylaşılır, ne paylaşılmaz
Paylaşılabilir: metadata attribute şekli, IPFS pin/retrieve sarmalayıcıları, 'contract.methods.X.call' kalıpları. Paylaşılmaz: RPC URL/project id, sözleşme adresleri, zincir id varsayılanı, poll aralıkları, cüzdan connector seti.
ADR: Client split
Decision: separate marketplace (Rinkeby) from mint (mainnet) apps
Share: pure utils + metadata conventions
Do not share: network endpoints, addresses, secrets
Consequence: duplicate apps, clearer blast radius
Config disiplini
Dönemin kodunda Infura uçları kaynak dosyalarına gömülüyordu — case study bunu anti-pattern olarak işaretler, değeri yeniden basmaz. Doğru yön: build-time env, ağ başına uygulama veya net seçici, asla dokümanda gerçek proje kimliği yok.
OpenSea referansı burada biter
OpenSea tek üründe çok zincir/operasyon yürütür. Bare Crypto öğrenme yolunda testnet pazarını mainnet mint'ten ayırarak blast radius'u küçültür. Bu olgunluk eksikliği değil; bilinçli istemci sınırıdır.
Bu bölümde en çok karışan eşleştirmeler
❌ Marketplace Rinkeby'de çalışıyorsa mint de aynı endpoint'i kullanabilir
✓ Risk ve kota modelleri farklıdır
❌ Util dosyalarını kopyalamak = tek kaynak gerçeği
✓ Invariant'ları paketleyin; sırları değil
❌ Testnet adresi mainnet ABI ile 'yakın yeter'
✓ Yanlış zincir + yanlış adres = kullanıcı kaybı
❌ Dokümana Infura proje id yazmak öğreticidir
✓ Sızıntıdır; placeholder kullanın
Kendi sisteminizi denetleme listesi
- Marketplace ve mint client'ta hangi dosyalar gerçekten ortak invariant?
- RPC endpoint kaç yerde hardcoded?
- Yanlış ağa bağlı cüzdanda UI ne yapıyor?
- Rate-limit marketplace'i vurursa mint etkilenir mi (aynı proje)?
- Split'i tek ADR paragrafında yazabiliyor musunuz?
Bu bölümden aklında kalması gerekenler
- Rinkeby marketplace ile mainnet mint istemcileri bilerek ayrılır.
- Paylaşılan util şekli ortaktır; ağ sırları ve adresler değildir.
- OpenSea IA referansı, tek production stack zorunluluğu getirmez.
Aynı web3 yardımcısı, aynı zincir demek değildir.
SSS
Sık sorulan sorular
İstemci Split nedir?
Aynı ürün ailesinde testnet marketplace ile mainnet mint uygulamalarının bilinçli ayrılması.
Paylaşılan Util nedir?
Ağdan bağımsız yardımcılar (ABI çağrı kalıpları, IPFS, metadata); ağ gerçeği config'te kalır.
"Marketplace Rinkeby'de çalışıyorsa mint de aynı endpoint'i kullanabilir" doğru mu?
Risk ve kota modelleri farklıdır
Bu bölüm neyi sabitler?
Bu bölüm, OpenSea-benzeri testnet pazarını mainnet mint istemcilerinden ayırmanın neden 'sadece config' olmadığını anlatır. Bare Crypto ailesinde marketplace UI Rinkeby okuma/yazma düğümüne bağlanır; CBD All-Stars / Confident Gorillas mint yüzeyleri mainnet Infura ve cüzdan bağlayıcılarına kayar. Kod görünümü benzerdir — `web3Utils`, IPFS yardımcıları, metadata şekilleri — ama ağ kimliği, sözleşme adresleri ve risk modeli ayrılır. İstemci split'i bir repo politikası ve ADR konusudur.
Ogrenilen Muhendislik Prensipleri
- İstemci split'i risk sınırıdır; sadece klasör düzeni değil.
- Util paylaşımı invariant paylaşımıdır — endpoint paylaşımı değil.
- Sırlar ve proje kimlikleri case study'ye girmez.
Okumaya devam et
Okumaya devam et
Seride sonraki yazi
totalSupply Tarayarak Listing Keşfi
getListings, NFT totalSupply'ı okuyup her tokenId için birden fazla RPC çağrısı yapar. N×çağrı ölçeklenmez; 30s poll stale listing ve Infura rate-limit…
Ayni seriden
OpenSea-Benzeri Bilgi Mimarisi
Bare Crypto marketplace SPA, OpenSea'yi ürün referansı olarak açıkça kopyalayan bir bilgi mimarisi kurar: Home, Marketplace, Viewer, Profile ve mint formu.
Ilgili yazilar
Cüzdan Marka Landing vs Gerçek Extension Kapsamı
Bare Wallet uygulaması dürüstçe bir pazarlama SPA / indirme hunisidir — Chrome MV3 extension değildir. CRA PWA manifest'i extension mimarisi sanılmamalıdır.…