プレイブック
特性ジェネレーター: URL 状態からメタデータを作成する (Url)
アバター/特性ジェネレーターのオプションは URL クエリ パラメーターと同期されます。 PNG/SVG ダウンロードは、ミント メタデータと共有可能なビューのフィードになります。
生産的なアバターとウォレットの製品表面
一部 1 の 2
特性ジェネレーター (PNG/SVG ダウンロード) URL と同期されたミント メタデータ フィード。 Bare Wallet ブランドの上陸は、正直に言うとマーケティング SPA/ファネルであり、Chrome MV3 拡張機能ではありません。また、それが実際の拡張機能アーキテクチャとどのように比較されるかについて説明します。
特性の選択が失われた場合、ミントを繰り返すことはできません
Bare Crypto ジェネレーター アプリケーションは、アバターのパーツ (肌、髪、アクセサリーなど) を react-url-query でアドレス バーに書き込みます。ランダム化、ダウンロード、共有は、同じ URL 状態を通じて行われます。ダウンロードした PNG/SVG と選択したオプション セットは、コレクションのミント メタデータの attributes 文字列となる原材料です。ジェネレーターはおもちゃではなく、ミント ファネルの視覚的な辞書です。```text
Trait options (avatars OptionContext)
↓ sync
URL query params (react-url-query)
↓
Avatar render (SVG DOM)
├─ download PNG (canvas rasterize)
├─ download SVG (outerHTML blob)
└─ shareable deep link
↓
Mint metadata attributes[]
trait_type / value pairs
## 最初に説明した概念```text
📦 URL State
Trait seçimlerinin sorgu parametrelerinde yaşaması; yenileme ve paylaşımda aynı görünüm.
📦 OptionContext
Generator'ın tüm trait anahtarlarını ve seçenek kümelerini tutan bağlam.
📦 Mint Metadata
IPFS'e yazılan JSON: name, description, image, attributes.
📦 Trait Attribute
`trait_type` + `value` çifti; marketplace Viewer filtreleri için ham madde.
```URL にない特性は、サポート リクエストで「同じアバターを戻す」と指定しても解決できません。
## URL を使用する理由
ジェネレーターの作成ページは、オプション キーを `UrlQueryParamTypes.string` にバインドします。すべてのオプションをランダムにサンプリングし、`onChangeUrlQueryParams` でプッシュします。したがって、ビューはリンクになり、Discord に貼り付けて、作成する前に確認できます。```text
URL as source of truth
?topType=…&clotheType=…&avatarStyle=Circle
↓
OptionContext.setData(props)
↓
deterministic render
```## PNG および SVG のダウンロード
SVG は、アバター DOM `outerHTML` から BLOB としてダウンロードされます。 PNG パスは SVG を画像としてロードし、キャンバス上に 2 倍のスケールを描画し、`file-saver` と `avataaars.png` を返します。 Mint パイプラインは通常、ラスターまたは SVG を IPFS に固定します。メタデータ `image` フィールドにハッシュを書き込みます。
## メタデータ コントラクト
マーケットプレイスのミントフォームでは、少なくともアーティストのようなフィールドが属性に追加されます。ジェネレーターの特性は同じスキーマにマッピングする必要があります: 各 URL キー → `trait_type`、選択された値 → `value`。そうしないと、Viewer と将来のレアリティ ツールは異なる言語を使用することになります。```text
ADR sketch
Decision: URL-synced traits as mint attribute source
Why: shareable looks; reproducible before mint
Trade-off: long query strings; need allowlisted keys
Follow-up: freeze trait vocabulary version in metadata
```## ファネル接続
ジェネレーター → ダウンロード/共有 → クライアント メタデータの作成 → IPFS → `tokenURI` のチェーン。 Bare Crypto では、これらのアプリケーションは別個のリポジトリです。契約名や属性語彙を共通化しておかないと、製品の表面が崩れてしまいます。
## このエピソードで最も混乱を招く対戦```text
❌ Generator sadece marketing widget'ıdır
✓ Mint metadata vocabulary'sinin kaynağıdır
❌ Trait'leri yalnız React state'te tutmak yeter
✓ Paylaşım ve destek için URL veya eşdeğeri gerekir
❌ PNG indirmek metadata demektir
✓ Metadata JSON + image URI ayrıdır; attributes map edilmelidir
❌ Tüm query key'lerini körlemesine kabul etmek
✓ Allowlist ve varsayılanlar olmadan bozuk görünümler çoğalır
独自のシステムのチェックリスト
- URL 内に存在する特性キーとローカルのみに存在する特性キーはどれですか?
- ランダム化後のリンクは、別のブラウザでも同じ SVG を生成しますか?
- Mint メタデータ属性はジェネレーター キーと同一ですか?
- PNG サイズ/SVG ハッシュは、ミント画像スペースとして十分ですか?
- 特性語彙のバージョンはメタデータのどこに凍結されますか?
このセクションで覚えておくべきこと
- URL 同期特性により、生成ビューが反復可能になります。
- PNG/SVG ダウンロードはミント画像フィードです。属性には別のマップが必要です。
- ジェネレーターとミントクライアントは同じ特性ボキャブラリーを共有する必要があります。
共有できないアバターとは、作成できないメタデータを意味します。
FAQ
よくある質問
URL 状態とは何ですか?
特性の選択はクエリ パラメーター内に存在します。更新と共有でも同じビュー。
オプションコンテキストとは何ですか?
ジェネレーターのすべての特性キーとオプション セットを保持するコンテキスト。
「ジェネレーターは単なるマーケティングウィジェットである」というのは本当ですか?
Mint はメタデータ語彙のソースです
このセクションでは何を修正しますか?
このセクションでは、URL 同期ジェネレーターが mint メタデータ パイプラインに接続する方法と、どのような規則を記述する必要があるかを示します。 Bare Crypto ジェネレーター アプリケーションは、アバターのパーツ (肌、髪、アクセサリーなど) を `react-url-query` でアドレス バーに書き込みます。ランダム化、ダウンロード、共有は、同じ URL 状態を通じて行われます。ダウンロードした PNG/SVG と選択したオプション セットは、コレクションのミント メタデータの `attributes` 文字列となる原材料です。ジェネレーターはおもちゃではなく、ミント ファネルの視覚的な辞書です。
学んだエンジニアリング原則
- 特性状態は共有可能でなければなりません — URL または同等のコントラクト。
- ダウンロード形式とメタデータ属性は別個のものですが、関連しています。
- 語彙のずれ、希少性、および視聴者のフィルターを破ります。
続きを読む
続きを読む
シリーズの次のシリーズ
ウォレットブランドのランディングと実際の拡張範囲
Bare Wallet アプリは正直に言うと、マーケティング SPA/ダウンロード ファネルです。Chrome MV3 拡張機能ではありません。 CRA PWA マニフェストを拡張アーキテクチャと誤解しないでください。
関連記事
コレクションのランディングと WIP ホワイトリスト ファネル
CBD オールスターのミント ランディング: #GETINTHEWIP、750 スロット、割引ファネル、メタマスクのみのミント サーフェスはどのように組み合わされるのでしょうか?
関連記事
OpenSea のような情報アーキテクチャ
Bare Crypto マーケットプレイス SPA は、OpenSea を製品リファレンス (ホーム、マーケットプレイス、ビューアー、プロファイル、ミント フォーム) として明確にコピーする情報アーキテクチャを確立します。