Playbook
Rinkeby-Testnet vs. Mainnet-Client-Trennung (Rinkeby Testnet Vs Mainnet Client Split)
Die Marketplace-SPA hängt an Rinkeby-Infura; Collection-Mint-Clients härten auf Mainnet. Geteilte web3/IPFS-Utils bleiben netz-agnostisch; Config nicht.
OpenSea-ähnliche Marketplace-UI
Teil 3 von 3
Bare-Crypto-Marketplace-SPA: OpenSea-ähnliche Informationsarchitektur (Home, Marketplace, Viewer, Profile, Mint-Formular), Listing-Entdeckung per totalSupply-Scan und Rinkeby-Infura- vs. Mainnet-Mint-Client-Trennung mit geteilten Utils — ADRs, Rate-Limits und 30s-Poll-Stale-Listings.
Gleicher Util-Ordner, andere Chain-Wahrheit
In der Bare-Crypto-Familie spricht die Marketplace-UI mit einem Rinkeby-Node, während CBD-All-Stars-/Confident-Gorillas-Mint-Oberflächen auf Mainnet-Infura und Wallet-Connectoren wechseln. Der Code wirkt ähnlich — web3Utils, IPFS-Helfer, Metadata-Formen — aber Netz-Identität, Vertragsadressen und Risikomodell divergieren. Client-Split ist Repo-Politik und ADR.
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
Dieser Teil erklärt, warum die Trennung von OpenSea-ähnlichem Testnet-Markt und Mainnet-Mint nicht 'nur Config' ist.
Begriffe, dort definiert, wo sie zuerst auftauchen
📦 Client-Split
Bewusste Trennung der Testnet-Marketplace-App von Mainnet-Mint-Apps in einer Produktfamilie.
📦 Shared Util
Netz-agnostische Helfer; Netz-Wahrheit bleibt in der Config.
📦 Rinkeby
Ethereum-Testnet des Marketplace-Prototyps (Zeitwahl; später retired).
📦 Mainnet-Härtung
Production-Mint mit echtem Wert, Wallet-Connectoren und Wrong-Network-Guards.
Util-Dateien kopieren ist keine Single Source of Truth; schreiben Sie gemeinsame vs. env-spezifische Invarianten.
Zwei Clients, zwei Risiken
Marketplace: Listing-Scans, stale Polls, Test-ETH. Mint: bezahlter Mint, Whitelist, Reveal. Ein Infura-Projekt und dieselben Bundle-Secrets mischen Test-Quota mit Production.
Was teilen, was nicht
Teilbar: Metadata-Form, IPFS-Wrapper, Call-Patterns. Nicht: RPC-URL/Projekt-ID, Adressen, Default-Chain-ID, Poll-Intervalle, Connector-Set.
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-Disziplin
Zeitgenössischer Code backte Infura-Endpunkte oft in Source — die Case Study markiert das als Anti-Pattern und druckt keine Werte. Richtung: Build-Env, Apps pro Netz oder Selektor, nie echte Projekt-IDs in Docs.
Wo die OpenSea-Referenz endet
OpenSea fährt Multi-Chain in einem Produkt. Bare Crypto verkleinert den Blast Radius, indem Testnet-Markt und Mainnet-Mint getrennt bleiben — eine Client-Grenze.
Die am häufigsten verwechselten Zuordnungen
❌ Marketplace auf Rinkeby ⇒ Mint darf denselben Endpoint nutzen
✓ Risiko- und Quota-Modelle unterscheiden sich
❌ Utils kopieren = Single Source of Truth
✓ Invarianten paketieren; keine Secrets
❌ Testnet-Adresse ist 'nah genug' mit Mainnet-ABI
✓ Falsche Chain + Adresse = Nutzerverlust
❌ Infura-Projekt-IDs in Docs sind lehrreich
✓ Leak; Platzhalter verwenden
Checkliste zur Prüfung des eigenen Systems
- Welche Dateien sind echte gemeinsame Invarianten?
- Wo ist der RPC-Endpoint hardcoded?
- Was tut die UI bei falschem Wallet-Netz?
- Trifft Rate-Limit Marketplace und Mint dasselbe Projekt?
- Können Sie den Split in einem ADR-Absatz schreiben?
Was aus diesem Teil bleiben sollte
- Rinkeby-Marketplace und Mainnet-Mint sind Absicht.
- Util-Form ist gemeinsam; Netz-Secrets und Adressen nicht.
- OpenSea-ähnliche IA erzwingt keinen einzigen Production-Stack.
Derselbe web3-Helfer bedeutet nicht dieselbe Chain.
FAQ
Häufige Fragen
Was ist Client-Split?
Bewusste Trennung der Testnet-Marketplace-App von Mainnet-Mint-Apps in einer Produktfamilie.
Was ist Shared Util?
Netz-agnostische Helfer; Netz-Wahrheit bleibt in der Config.
Stimmt es, dass „Marketplace auf Rinkeby ⇒ Mint darf denselben Endpoint nutzen“?
Risiko- und Quota-Modelle unterscheiden sich
Was legt dieser Teil fest?
Dieser Teil erklärt, warum die Trennung von OpenSea-ähnlichem Testnet-Markt und Mainnet-Mint nicht 'nur Config' ist. In der Bare-Crypto-Familie spricht die Marketplace-UI mit einem Rinkeby-Node, während CBD-All-Stars-/Confident-Gorillas-Mint-Oberflächen auf Mainnet-Infura und Wallet-Connectoren wechseln. Der Code wirkt ähnlich — `web3Utils`, IPFS-Helfer, Metadata-Formen — aber Netz-Identität, Vertragsadressen und Risikomodell divergieren. Client-Split ist Repo-Politik und ADR.
Gelernte Engineering-Prinzipien
- Client-Split ist Risikogrenze, nicht nur Ordnerlayout.
- Util-Sharing ist Invarianten-Sharing — kein Endpoint-Sharing.
- Secrets und Projekt-IDs gehören nicht in die Case Study.
Weiterlesen
Weiterlesen
Nachster Teil der Serie
Listing-Entdeckung per totalSupply-Scan
getListings liest NFT-totalSupply und fächert mehrere RPC-Aufrufe pro tokenId auf. N×Calls skalieren nicht; 30s-Polls erzeugen stale Listings und…
Aus derselben Serie
OpenSea-ähnliche Informationsarchitektur
Die Bare-Crypto-Marketplace-SPA spiegelt bewusst OpenSeas mentales Modell: Home, Marketplace, Viewer, Profile und Mint-Formular.
Verwandte Beitrage
Wallet-Marken-Landing vs. echte Extension-Scope
Die Bare-Wallet-App ist ehrlich eine Marketing-SPA / Download-Funnel — keine Chrome-MV3-Extension. Ein CRA-PWA-Manifest ist keine Extension-Architektur.