プレイブック

Rinkeby テストネットとメインネット クライアントの分離 (Rinkeby)

Collection mint クライアントはメインネットに固定されますが、Marketplace SPA は Rinkeby Infura に固定されます。共有 web3/IPFS ユーティリティを使用したネットワーク固有の構成…

OpenSea のようなマーケットプレイス UI

一部 3 の 3

Bare Crypto マーケットプレイス SPA: OpenSea のような情報アーキテクチャ (ホーム、マーケットプレイス、ビューアー、プロファイル、ミント フォーム)、totalSupply のスキャンによるリストの検出、Rinkeby Infura およびメインネットのミント クライアントと共有されるユーティリティの分離 — ADR、レート制限、および 30 秒投票の古いリストの失敗。

OpenSea-like marketplace UI architecture diagram

同じ util フォルダー、異なるチェーン ファクト

Bare Crypto ファミリでは、マーケットプレイス UI が Rinkeby 読み取り/書き込みノードに接続します。 CBD オールスター / コンフィデント ゴリラのミント表面は、メインネットの Infura およびウォレット バインダーに滑り込みます。コードの外観 (web3Utils、IPFS ヘルパー、メタデータの形状) は似ていますが、ネットワーク ID、コントラクト アドレス、リスク モデルは分離されています。クライアント分割はリポジトリ ポリシーと ADR の問題です。```text 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


## 最初に説明した概念```text
📦 İ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.
```実用的なコピーは共有ではありません。どの不変式が共通で、どの不変式が env に固有であるかを記述する必要があります。

## 2 つのクライアント、2 つのリスク

マーケットプレイス: リストのスキャン、古い投票、ETH のテスト。ミントクライアント: 有料ミント、ホワイトリスト、公開。同じ Infura プロジェクトと同じバンドル シークレットを共有すると、テスト クォータと運用環境が結合され、キー漏洩が倍増します。

## 何を共有し、何を共有しないのか

共有可能: メタデータ属性の形状、IPFS ピン/取得ラッパー、「contract.methods.X.call」パターン。共有されません: RPC URL/プロジェクト ID、コントラクト アドレス、チェーン ID のデフォルト、ポーリング範囲、ウォレット コネクタ セット。```text
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
```## 構成規律

当時のコードでは、Infura エッジはソース ファイルに埋め込まれていました。ケーススタディでは、値を再印刷するのではなく、これをアンチパターンとしてマークしています。正しい方向: ビルド時の環境、ネットワークごとのアプリまたはネット セレクター。ドキュメント内に実際のプロジェクト ID を含めないでください。

## OpenSea のリファレンスはここで終了

OpenSea は 1 つの製品で複数のチェーン/オペレーションを実行します。 Bare Crypto は、ラーニング パス上でテストネット マーケットをメインネット ミントから分離することで爆発範囲を縮小します。これは成熟度の欠如ではありません。意識的なクライアント制限。

## このエピソードで最も混乱を招く対戦```text
❌ 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

独自のシステムのチェックリスト

  1. Marketplace と mint クライアントで実際に共通不変なのはどのファイルですか?
  2. RPC エンドポイントは何箇所でハードコーディングされていますか?
  3. 間違ったネットワークに接続されたウォレットでは UI は何をしますか?
  4. レート制限がマーケットプレイスに達した場合 (同じプロジェクト)、mint は影響を受けますか?
  5. 分割を 1 つの ADR 段落で書いていただけますか?

このセクションで覚えておくべきこと

  1. Rinkeby マーケットプレイスとメインネットの Mint クライアントは意図的に分離されています。
  2. ユーティリティの共有形式が一般的です。ネットワークシークレットとアドレスはそうではありません。
  3. OpenSea IA リファレンスには単一の実稼働スタックは必要ありません。

同じ web3 ヘルパーは同じチェーンを意味しません。

FAQ

よくある質問

クライアント分割とは何ですか?

同じ製品ファミリー内のテストネット マーケットプレイスとメインネット ミント アプリケーションを意識的に分離します。

シェアードユーティリティとは何ですか?

ネットワークに依存しないヘルパー (ABI 呼び出しパターン、IPFS、メタデータ)。ネットワークの真実は設定に残ります。

「Marketplace が Rinkeby 上で実行されている場合、mint も同じエンドポイントを使用できる」というのは本当ですか?

リスクと割り当てモデルは異なります

このセクションでは何を修正しますか?

このセクションでは、OpenSea のようなテストネット マーケットプレイスをメインネットの Mint クライアントから分離することが「単なる構成」ではない理由を説明します。 Bare Crypto ファミリでは、マーケットプレイス UI が Rinkeby 読み取り/書き込みノードに接続します。 CBD オールスター / コンフィデント ゴリラのミント表面は、メインネットの Infura およびウォレット バインダーに滑り込みます。コードの外観 (`web3Utils`、IPFS ヘルパー、メタデータの形状) は似ていますが、ネットワーク ID、コントラクト アドレス、リスク モデルは分離されています。クライアント分割はリポジトリ ポリシーと ADR の問題です。

学んだエンジニアリング原則

  • クライアント分割はリスク制限です。フォルダーのレイアウトだけではありません。
  • ユーティリティの共有は不変の共有であり、エンドポイントの共有ではありません。
  • 秘密やプロジェクトのアイデンティティはケーススタディには含まれません。

続きを読む

続きを読む

シリーズの次のシリーズ

エッセイ

totalSupply のスキャンによるリスト検出

getListings は NFT totalSupply を読み取り、tokenId ごとに複数の RPC 呼び出しを行います。 N×callはスケールしません。 30 秒の投票の古いリストと Infura のレート制限を生成します。

同じシリーズ

エッセイ

OpenSea のような情報アーキテクチャ

Bare Crypto マーケットプレイス SPA は、OpenSea を製品リファレンス (ホーム、マーケットプレイス、ビューアー、プロファイル、ミント フォーム) として明確にコピーする情報アーキテクチャを確立します。

関連記事

Paylaş