コレクションメタデータ管理
Sequence Collections API と Cloudflare Workers を使ってメディアを保存し、Metadata API から画像を取得して表示する方法を説明します。
所要時間:20分
このガイドでは、Cloudflare Workers を使って Sequence Collections API でメディアを保存し、Metadata API から画像を取得して表示する方法を説明します。
この手順は8ステップで完了します。
- Sequence Builder Console から Secret API Key を取得 します。
- cURLリクエストで コレクションを作成(初回のみ)
- トークンを作成(tokenIDを使ってトークンを作成)
- アセットを作成(assetIDを作成)
- 画像を保存(画像を処理して保存)
- 非プライベートに更新
- cURLリクエストでコレクションを公開(一度だけ)
- cURLリクエストでAPIからアセットを表示(一度だけ)
まず、Collectible Minting Service Guideのこのセクションに従ってCloudflare Workerを作成してください。
1. Secret API Keyを取得する
バックエンドサービスを利用するには、リクエストを認証するためのSecret API
Keyが必要です。
まずは設定画面にアクセスし、Sequence Builder ConsoleでAPI Keysを選択します。
下にスクロールして+ Add Service Account
を選択します。
アクセス権限を「write」と「confirm」に変更します。
最後にキーをコピーし、wrangler.toml
の JWT_ACCESS_KEY
として保存してください。今後は Sequence Builder コンソールからこのキーにアクセスできなくなります。
2. cURLリクエストからコレクションを作成する
サービスにメディアをアップロードするためには、最初にコレクションを作成する必要があります。Builder Console から取得した Secret API Key
と projectID
を使用します。
サービスにリクエストを送り、collectionID
を取得します。
レスポンスで返された collectionID
を wrangler.toml
の COLLECTION_ID
に設定します。
3. TokenID を使ってトークンを作成する
Cloudflare Worker を利用する場合は、wrangler.toml
に node_compat = true
を追加し、@0xsequence/metadata
パッケージで window オブジェクトを利用可能にします。
SequenceCollections
を利用するために、pnpm install @0xsequence/metadata
で metadata パッケージをインストールします。
4. TokenID を使ってアセットを作成する
リクエストで metadataField
(assetType)を image
に設定し、必要な他のフィールドも入力して、次のステップで使用するアセットレスポンスを取得します。
5. 画像アセットを保存する
前の jsonCreateAsset
オブジェクトから渡された asset.id
を使用します。
返された uploadAssetRes.url
が Sequence サーバー上のメディアファイルの URL です。
6. 非プライベートトークンを更新する
次に、private
ブール値を false
に設定してトークンを非プライベートにします。
7. cURLリクエストからコレクションを公開する
最後に、これも一度だけのリクエストとして、projectID
と collectionID
をもとに以下のコマンドを実行してコレクションを公開します。
これにより、コレクション内でprivateフラグが false
に設定されたすべてのトークンが公開され、その他のトークンは変更されるまで非表示のままになります。
8. APIからアセットを公開レンダリングする
これまでの作業をテストするには、変数を更新した上でこの cURL リクエストを実行し、ファイルをローカル端末にダウンロードできます。
または、ブラウザに貼り付けて画像を確認することもできます。
同じコードを使用した場合、<file_name>
は image.png
になります。
また、コレクションを ERC721
や ERC1155
の baseURI
に使用する場合は、スマートコントラクトの setBaseMetadataURI
に以下の URI
を書き込みます。
スマートコントラクトは自動的に tokenID
を末尾に付加します。
お試しください。
または ブラウザで確認
API からアセットをプライベートにレンダリングする
または、アセットをプライベートのまま保存しつつ、リクエストのヘッダーにシークレットAPIキーを渡し、必要なパラメータを指定することでデータをレンダリングすることも可能です。このガイドでは metadata_field
を image
に設定しています。
このガイドの全コードは こちら でご覧いただけます。