プレイブック

プレースホルダー URI と所有者表示行 (Uri)

Mint では、プレースホルダー メタデータ、uridata マップ、reveal(tokenId, uriHash)、および所有者のみが開くことができるサーフェスを明らかにします。

NFTコレクションのミントとメインネットの強化

一部 3 の 4

CBD オールスターと自信のあるゴリラのミント サーフェス: WIP ホワイトリスト ファネル、IPFS メタデータ、プレースホルダー→公開パイプライン、Web3Modal によるメインネット ウォレットの強化。

NFT mint and mainnet architecture diagram

ミントはランダムなアートを与えません。明らかにする

Confident Gorillas 1.4 ミントでは、最終的なイメージがすぐに表示されないことがよくあります。プレースホルダー/一時 URI mint はその場で書き込まれます。実際の CID は、tokenId → ハッシュ/リンクとして uridata テーブル内で待機します。 Reveal は、コンテナ所有者がチェックした後、reveal(tokenId, uriHash) を送信します。これは、アートが「ウォレットに表示される」という約束です。```text mint → placeholder / interim tokenURI │ uridata[tokenId] = { hash, link } │ ownerOf(tokenId) === connected wallet? yes │ no → deny ↓ reveal(tokenId, uriHash) ↓ tokenURI updated → retrieveJSON / image


## 最初に説明した概念```text
📦 Placeholder Metadata
Mint anında yazılan geçici URI; nihai traits/görsel henüz bağlı değildir.

📦 uridata
tokenId → { hash, link, index } haritası; reveal için hazır CID tablosu.

📦 reveal(tokenId, uri)
Owner'ın tokenURI'yi gerçek hash ile güncellediği sözleşme çağrısı.

📦 Owner Gate
revealToken içinde ownerOf === connected address kontrolü.
```[表示] ボタンはビューアで無効になっている場合があります。操作上の公開は、オーナー パネルまたはスクリプトによってトリガーされる場合があります。オーナーは再びドアです。

## なぜプレースホルダーなのか?

公平性と運用: 供給全体がプレスされる前のメタデータの漏洩を減らし、アートの生成をミントのリズムから分離します。ユーザーミント。芸術は後から「明らかに」する。 Landing FAQ では、これは MetaMask に現れるものとして説明されています。```text
Mint window
  → same placeholder look
Reveal window
  → unique CID per tokenId
```## パイプラインを明らかにする

Reveal.ts は、uridata.uri[tokenId] を読み取り、ハッシュを取得し、revealToken(tokenId, hash) を呼び出します。 nftContractUtils は ownerOf を検証します。 Contract.methods.reveal(...).send({ from }) と一致する場合。次に、tokenURI は新しいハッシュを返します。 retrieveJSON はイメージ CID を解決します。```text
Reveal.ts
  uridata[tokenId].hash
       ↓
revealToken → owner check
       ↓
reveal(tokenId, hash).send
```## ADR: オフチェーンテーブル + オンチェーン所有者の公開

決定: 最終的な CID リストはクライアント/バンドル (uridata) に保持されます。更新権限は所有者ゲート公開機能に残ります。代替手段 (オンチェーンのコミット-リビール、VRF) はより高価です。トレードオフ: uridata バンドルが漏洩する可能性があります。公開のタイミングとアクセス制御は製品リスクです。```text
ADR-03 Placeholder + owner reveal
  Store: uridata off-chain map
  Auth: ownerOf gate
  Mutate: reveal(tokenId, uriHash)
  Reject: non-owner / wrong id
```## 失敗のシナリオ

間違った tokenId → 間違ったアート。ハッシュ/リンクの不一致 → ゲートウェイ 404。非所有ウォレット → サイレント no-op (関数は null を返す)。 ABI に公開がない場合、エンコードは爆発します。プレースホルダーが更新されない場合、コレクションは「空のボックス」のままになります。```text
Fail matrix
  wrong tokenId     → wrong art
  hash ≠ pinned CID → 404
  non-owner         → no-op / deny
  missing reveal ABI→ encode fail

このエピソードで最も混乱を招く対戦```text

❌ Reveal = sadece UI'da blur kaldırmak ✓ Reveal = on-chain tokenURI güncellemesi; UI yalnızca sonucu gösterir

❌ Herkes herhangi bir token'ı reveal edebilmeli ✓ Yalnızca owner (veya tasarlanmış minter/owner rolü) reveal eder

❌ uridata gizli kalır çünkü bundle'da ✓ Frontend bundle okunabilir; zamanlama ve erişim asıl kontroldür


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

1. 各 tokenId の uridata ハッシュを固定して取得できますか?
2. 公開前に、ownerOf コントロールはクライアントとコントラクトの両方で使用できますか?
3. プレースホルダー URI と最終 URI は明確に分離されていますか?
4. [公開] ボタンは非所有者に対して安全に無効化/拒否されていますか?
5. 750 エントリを持つテーブルにインデックスのシフトはありますか?

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

1. プレースホルダーは、リビール、公平性、およびミントを使用した操作の区別を提供します。
2. オーナーゲートなしで公開することは、コレクションの完全性を侵害します。
3. uridata は製品の決定です。プライバシーを想定せず、タイミングを設計してください。

> アートミントを即座に与えるのは簡単です。公正かつ取り消し不能な寄付は、明らかにする訓練です。

FAQ

よくある質問

プレースホルダー メタデータとは何ですか?

Mint fly に書かれた一時 URI。最終的な特性/ビジュアルはまだ接続されていません。

ウリデータとは何ですか?

tokenId → { ハッシュ、リンク、インデックス } マップ; CID テーブルを公開する準備ができました。

「Reveal = UI のぼかしを削除するだけ」は正しいですか?

Reveal = オンチェーントークン URI 更新; UIは結果のみを表示します

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

このセクションでは、製品とセキュリティの境界としての公開を修正します。次の部分では、メインネットへのウォレット接続を強化します。 Confident Gorillas 1.4 ミントでは、最終的なイメージがすぐに表示されないことがよくあります。プレースホルダー/一時 URI mint はその場で書き込まれます。実際の CID は、tokenId → ハッシュ/リンクとして uridata テーブル内で待機します。 Reveal は、コンテナ所有者がチェックした後、reveal(tokenId, uriHash) を送信します。これは、アートが「ウォレットに表示される」という約束です。

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

  • Mint URI と最終 URI を意図的に分離します。
  • Reveal 権限を ownerOf (または明確なロール) でロックします。
  • オフチェーン CID テーブルでピンとインデックスの整合性を確認してください。

続きを読む

続きを読む

シリーズの次のシリーズ

シリーズの次のシリーズ

同じシリーズ

Paylaş