プレイブック
IPFS (InterPlanetary File System) メタデータ、ミントおよびマルチ ミント (Ipfs Interplanetary File System)
Infura IPFS + Pinata ピン、メタデータ JSON、mint(tokenId, uri) および multipleMint: 0.1 ETH × n、750 供給。
NFTコレクションのミントとメインネットの強化
一部 2 の 4
CBD オールスターと自信のあるゴリラのミント サーフェス: WIP ホワイトリスト ファネル、IPFS メタデータ、プレースホルダー→公開パイプライン、Web3Modal によるメインネット ウォレットの強化。
チェーンは写真を保持しません。 CID 金額
Confident Gorillas mint ストリームでは、画像と機能が最初に IPFS に書き込まれます。Infura add API を使用して JSON/ファイルをアップロードし、Pinata でピン留めします。次に、コントラクト mint または multipleMint が呼び出されます。価値 0.1 ETH × 個Landing の数量セレクター (2 ~ 5) は、multipleMint(num) パラメーターに直接接続されています。```text traits + image ↓ uploadJSON / uploadFile (Infura IPFS) ↓ pinHash (Pinata) ↓ CID / metadata hash ↓ mint(tokenId, uri) | multipleMint(uri, num) ↓ value = 0.1 ETH × num supply ≤ 750
## 最初に説明した概念```text
📦 IPFS CID
İçeriğin içeriğe dayalı adresi; tokenURI genelde bu hash'e referans verir.
📦 Pinning
CID'nin kaybolmaması için Pinata gibi bir pinning servisinde tutma.
📦 multipleMint
Tek tx'de birden fazla NFT basma; value ve gas maliyeti adetle ölçeklenir.
📦 Mint Price
Confident Gorillas'da 1e17 wei (0.1 ETH) × mint adedi.
```Infura のアップロードと Pinata ピンは別の手順です。アップロードが成功し、PIN を忘れた場合、時間の経過とともにゲートウェイが 404 を返す可能性があります。
## メタデータの形状
nftContractUtils は、名前、説明、画像 (IPFS ハッシュ)、external_url、および属性 (アーティスト、背景、体、目、口) を含むメタデータを設定します。 UploadJSON はハッシュを返します。このハッシュは URI として mint に送られます。```text
metadata JSON
name / description / image
attributes[] → traits
↓
uploadJSON → ipfsMetadataHash
```## ミントとマルチミント
単一ミント: mint(tokenId, ipfsMetadataHash) + 0.1 ETH。倍数: multipleMint(ipfsMetadataHash, num) + 0.1 ETH × num。 HomePage 選択では 2 ~ 5 を選択します。 MinterコンテナはmultiplemintNFTを呼び出します。合計供給上限が 750 残っていることが UI に表示されます。```text
UI qty (2..5)
↓
multipleMint(uri, num)
value = 1e17 * num
gasLimit ≈ 300000 (app default)
```## ADR: 前は IPFS、後はチェーン
評決: メタデータとメディアはチェーンに埋め込まれていません。最初に IPFS、次にオンチェーンの URI 参照。利点: 更新パス (公開) が安く、呼び出しデータが小さい。リスク: ピニングとゲートウェイが単一ポイントになる可能性があります。ピニャータ ピン + パブリック ゲートウェイのバックアップが必要です。```text
ADR-02 Content-addressed mint
Off-chain: Infura add + Pinata pin
On-chain: store URI hash only
Read path: tokenURI → retrieveJSON
```## 失敗のシナリオ
GasPrice: 0 を修正すると、メインネット上で tx がスタックまたは低価格のままになります。ネットワークが間違っている (Rinkeby/Infura フォールバック) と、メインネット契約に署名できません。 ABI の不一致: フロントエンド ABI とデプロイされた multipleMint 署名が一致しない場合、エンコードでエラーが発生します。スタブアドレス: オールスターでは、4 つの契約が同じアドレスを参照していました。```text
Fail matrix
gasPrice=0 → stuck / underpriced
wrong chainId → silent wrong net
ABI skew → encode / revert
stub address → call nowhere useful
このエピソードで最も混乱を招く対戦```text
❌ Image'ı base64 olarak sözleşmeye yaz ✓ Image'ı IPFS'e koy; zincirde yalnızca CID/URI tut
❌ Upload yeter, pin opsiyonel ✓ Upload + pin birlikte; aksi halde içerik unorphan riski
❌ gasPrice: 0 'otomatik' demektir ✓ gasPrice: 0 çoğu mainnet koşulunda underpriced tx üretir
## 独自のシステムのチェックリスト
1. Pre-Mint CID は Pinata (または同等のもの) に固定されていますか?
2. 0.1 ETH × num の値は wei アカウントで検証されていますか?
3. UI とコントラクトで totalSupply + num ≤ 750 がチェックされていますか?
4. メインネットでは、gasPrice / maxFeePerGas は動的ですか?
5. デプロイされた ABI とフロントエンド ABI は同じコミットからのものですか?
## このセクションで覚えておくべきこと
1. Mint パイプライン: 特性 → IPFS → ピン → コントラクト呼び出し → 値。
2. multipleMint は、着陸数量セレクターに相当するチェーンです。
3.gasPrice: 0、スタブ アドレス、および ABI スキューは、メインネットの古典的なトリオです。
> チェーンにメタデータを埋め込むと、ミントのコストが高くなります。 CID を固定しないままにすると、コレクションが失われます。
FAQ
よくある質問
IPFS CIDとは何ですか?
コンテンツのコンテキストアドレス。 tokenURI は通常、このハッシュを参照します。
ピン留めとは何ですか?
CID の紛失を避けるために、Pinata などの固定サービスに CID を保管してください。
「コントラクトにイメージをbase64で書き込む」は正しいでしょうか?
イメージを IPFS に置きます。 CID/URI のみをチェーン内に保持する
このセクションでは何を修正しますか?
このセクションでは、メタデータ パイプラインを mint tx に接続します。次のセクションでは、プレースホルダー URI が開き、所有者が表示されます。 Confident Gorillas mint ストリームでは、画像と機能が最初に IPFS に書き込まれます。Infura add API を使用して JSON/ファイルをアップロードし、Pinata でピン留めします。次に、コントラクト mint または multipleMint が呼び出されます。価値 0.1 ETH × 個Landing の数量セレクター (2 ~ 5) は、multipleMint(num) パラメーターに直接接続されています。
学んだエンジニアリング原則
- まず、コンテンツをアドレス指定し、次に URI をチェーン上に保存する必要があります。
- UI と契約の間で、価格、数量、供給上限を再確認します。
- ステージングでメインネット TX パラメーター (ガス、チェーン ID、アドレス、ABI) を証明します。
続きを読む
続きを読む
シリーズの次のシリーズ
プレースホルダー URI と所有者表示行
Mint では、プレースホルダー メタデータ、uridata マップ、reveal(tokenId, uriHash)、および所有者のみが開くことができるサーフェスを明らかにします。
シリーズの次のシリーズ
コレクションのランディングと WIP ホワイトリスト ファネル
CBD オールスターのミント ランディング: #GETINTHEWIP、750 スロット、割引ファネル、メタマスクのみのミント サーフェスはどのように組み合わされるのでしょうか?
同じシリーズ
メインネット Web3Modal とウォレットの強化
MetaMask のみから Web3Modal + WalletConnect + Coinbase WalletLink への移行。 chainId、ガス、アドレスの強化。