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.

OpenSea-like marketplace UI architecture diagram

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

  1. Welche Dateien sind echte gemeinsame Invarianten?
  2. Wo ist der RPC-Endpoint hardcoded?
  3. Was tut die UI bei falschem Wallet-Netz?
  4. Trifft Rate-Limit Marketplace und Mint dasselbe Projekt?
  5. Können Sie den Split in einem ADR-Absatz schreiben?

Was aus diesem Teil bleiben sollte

  1. Rinkeby-Marketplace und Mainnet-Mint sind Absicht.
  2. Util-Form ist gemeinsam; Netz-Secrets und Adressen nicht.
  3. 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

Aus derselben Serie

Verwandte Beitrage

Paylaş