コンテンツへスキップ
0%

Alchemy の Optimism NFT API について知っておくべきこと

執筆者 Mrig

2022年10月20日 公開読了時間 2 分

NFTコレクションはOptimism上で急増しており、より多くの開発者がこのネットワーク上で新しいNFTアプリを構築しています。これらの開発者は、ネットワークをクエリしてNFTメタデータを取得し、ユーザーのデータリクエストに応えるためにNFT APIを必要としています。適切なNFT APIがなければ、NFTメタデータのインデックス化とクエリは、個々の開発者にとって時間とリソースを要する作業になります。

AlchemyのOptimism NFT APIを使って、NFTツール、マーケットプレイス、アプリなどの構築を始める方法を学びましょう。

OptimismのNFTエコシステム

Optimismはオプティミスティックロールアップ基盤上で動作する、L2(レイヤー2)のEthereumスケーリングソリューションです。オプティミスティックロールアップは、オフチェーンでトランザクションを処理することでEthereumへの負荷を軽減し、より高いトランザクションスループットと低いガス代を実現します。オプティミスティックロールアップは複数のトランザクションを1つにまとめ、検証のためEthereumに送り返すことで、ネットワークのスケーラビリティを高めています。

Optimismに組み込まれたスケーラビリティは、NFTプロジェクトの開発に適したソリューションです。ユーザーは、Optimismの高速なトランザクションと低コストな手数料により、NFTゲームのプレイやコレクティブルの取引で快適な体験を得られます。

**Optimism NFTScan**のウェブサイトによると、238,000のNFTウォレットに分散する100万以上のNFT資産がOptimism上に存在しており、開発者はNFTプロトコルを構築し大量のNFTを扱うために適切なツールセットを必要としています。Alchemy の Optimism NFT APIは、開発者がOptimismエコシステム向けにNFTプロジェクトを構築する上で不可欠なツールです。

Optimism NFT APIとは

Optimism NFT APIは、開発者がL2ネットワークから情報を即座に取得するのに役立ちます。開発者はOptimism NFT APIを使って、ブロック/トランザクションデータの読み取り、スマートコントラクトの実行、オンチェーン情報のクエリ、オンチェーンでのデータ保存を行うことができます。

Alchemyは、開発者がOptimismの分散型ノードインフラストラクチャとやり取りするためのJSON-RPC標準APIを使用したマルチチェーンNFT APIを提供しています。AlchemyのOptimism NFT APIは、開発者により高いリクエストスループット、同時リクエスト数の増加、無料のデータアーカイブ、ログ、個別の使用状況メトリクスへのアクセスを提供します。さらに、このソリューションはERC-721およびERC-1155規格に準拠するすべてのNFTと、Ethereumの標準化されたNFTコントラクト以前に作られた一部のNFTをサポートしています。

開発者はまた、複数のコードパスを通じて幅広いNFTとそのメタデータにアクセスできます。AlchemyのOptimism NFT APIは、JSON、SVG、UTF-8形式のオンチェーン/オフチェーンNFT、Pinataのような IPFS ゲートウェイ、およびBase64エンコードされた画像を扱うことができます。

開発者はAlchemyのNFT APIを以下の目的で使用できます:

  • ユーザーにNFTを表示する
  • NFTマーケットプレイスを開発する
  • NFT分析プロトコルを設計する
  • NFTゲーミングアプリケーションを構築する
  • NFTの所有権を検証する

Optimism NFT APIの仕組み

AlchemyのOptimism NFT APIは、高性能な機能を実現するために、画像キャッシング、スパムフィルター、画像のリサイズ、明確なエラー説明といった仕組みを使用しています。

画像キャッシング

開発者は通常、NFTのメディアファイルにアクセスするためにIPFSやサードパーティサーバーのような分散型ストレージプロバイダーとやり取りします。しかし、そこでは読み込み時間の長さやタイムアウトエラーという問題に直面します。

AlchemyはCloudinaryでNFT画像をキャッシュすることで、低レイテンシーかつ高速な読み込みと応答を実現するソリューションを提供しています。これにより、Alchemyは独自のキャッシュからNFT URLを開発者に提供でき、応答時間を短縮します。

スパムフィルター

望ましくないスパムNFTは、詐欺につながったり、NFTマーケットプレイス、ギャラリー、分析プラットフォームでのユーザー体験を損なったりする可能性があります。開発者は通常、スパムNFTを除外するためにNFTメタデータにアクセスするには、個々のスマートコントラクトを読み取り、解析する必要があります。この作業を簡単にするため、Alchemyは以下のAPIエンドポイントをNFTスパムフィルターとして提供しています:

  • isSpamForContract - スパムNFTスマートコントラクトをチェックします。開発者はコントラクトアドレスをフィルタリングして、スパムNFTの所有者を確認することもできます。
  • getSpamContracts - 特定のネットワークのスパムERC-721およびERC-1155スマートコントラクトのリストを返します。

開発者はAlchemyのスパムフィルターを使って、スパムNFTをバーン(焼却)処理に回したり、スパムNFTを送るウォレットアドレスにフラグを立てたりできます。2022年8月までに、Alchemy NFT APIは5,000のスマートコントラクトをスパムNFTとしてマークしています。

Alchemyは以下の基準を使用してスパムNFTを識別します:

  1. ERC-721およびERC-1155のトークン規格に違反している
  2. トークン転送時にトークン規格に違反している
  3. vitalik.ethのようなハニーポットアドレスにトークンをミントしている
  4. トークンの総供給量について誤ったデータを提供している

画像のリサイズ

NFTは、サムネイル、スマートフォン、デスクトップ、タブレットのビューポート向けに異なる画像サイズを必要とします。開発者は、アスペクト比を作成するために高さと幅のピクセルの任意の組み合わせを含むようにURLを変更することで、Alchemyでホストされているアドレスをリサイズできます。これにより、AlchemyはNFT開発者にとって画像のリサイズを容易にしています。

NFTのエラー

AlchemyのNFT APIはほとんどのNFTメタデータを返しますが、以下のケースではリクエストを満たせません:

  • Token does not exist - Alchemyはトークンgymnasium IDを使用してtokenURI/uriメソッドを呼び出しますが、スマートコントラクトがそれを認識できません。これは、トークンがまだミントされていないか、存在しないことを意味します。
  • Malformed token URI - tokenURI/uriが「不正な形式」または無効なウェブサイトを返すため、メタデータを返すためにそのウェブサイトにアクセスできません。
  • Failed to get token URI - トークンが存在する場合でも、トークンIDがメタデータを一切返さない場合の一般的なエラーメッセージです。
  • Token URI returns a non-200 response code - ウェブサイトがダウンしているか、Alchemyのサーバーをレート制限している場合に、URIが「502 Bad Gateway」メッセージを返すと、このエラーが表示されます。
  • Throttled token URI - このエラーは「429 Too Many Requests」メッセージを返し、Alchemyがメタデータを頻繁にリクエストしすぎたためにレート制限を受けたことを示します。
  • Contract does not have any code - トークンアドレスに対応するスマートコントラクトコードがブロックチェーンネットワーク上に存在しない場合に、このエラーが表示されます。
  • Contract returned a broken token URI, do not retry - ウェブサイトのURLが存在しないか、DNS設定が欠けているためにtokenURIが応答しない場合に、このエラーメッセージが表示されます。

Optimism NFT APIがサポートするメソッド

AlchemyのOptimism NFT APIは、以下のカテゴリーのNFT APIエンドポイントにより、開発者がOptimism NFTアプリを構築するのを支援します:

Optimism NFTの所有権とトークンゲーティング

  • getNFTs - ウォレットが所有するOptimism NFTを取得する
  • getOwnersForToken - トークンのOptimism所有者を取得する
  • getOwnersForCollection - コレクションのOptimism NFT所有者を取得する
  • isHolderOfCollection - Optimismウォレットが特定のNFTを保有しているか確認する
  • getNFTsForCollection - Optimism NFTコレクションのNFTを取得する

Optimism NFTのメタデータ

  • getNFTMetadata - Optimism NFTのメタデータを取得する
  • getContractMetadata - Optimism NFTスマートコントラクトのメタデータを取得する

Optimism NFT APIの使用例

AlchemyのgetNFTsは汎用性の高いNFT APIエンドポイントであり、開発者は複数のNFTプロトコルでこれを利用できます。getNFTs APIエンドポイントの機能を理解するために、以下の例を見てみましょう。

1. Optimismトークンゲーティング

開発者がNFTマーケットプレイスを構築する際、ユーザーが所有するNFTを表示するユーザープロフィールページを設計します。開発者はOptimism NFTトークンゲーティングツールであるisHolderOfCollectionを使用して、特定のウォレットアドレスが指定されたコレクションの特定のトークンを保有しているかどうかに応じて、そのアドレスからNFTを取得できます。

2. Optimism NFT分析ツール

レアリティランキングサイトやアグリゲーターのようなNFT分析ツールは、リストを作成したり取引データを取得したりするためにNFTメタデータを必要とします。開発者は、NFT分析ツールで使用されるオンチェーンメタデータを取得するために、Optimism NFTメタデータAPIであるgetNFTMetadataを使用できます。

3. Optimism NFTエアドロップリスト

NFTプロジェクトは、特定のNFTの所有者に新しいNFTをエアドロップするために開発者を雇うことがあります。APIがなければ、開発者はNFT資産の所有権を追跡するためにブロックチェーン全体を解析しなければなりません。しかし、AlchemyのOptimism NFTコレクションAPIであるgetOwnersForTokenを使えば、開発者は所有者を即座に特定してエアドロップリストを作成できます。開発者はまた、ユーザーが特定のNFTをプロフィール画像として設定したい場合の資産所有権の検証にも、このAPIを使用できます。

Optimism NFT APIでの構築を始める方法

自前のOptimismノードを運用する代わりに、Alchemyでプライベートなoptimismノードを作成することは簡単です。その上で、以下の3つの簡単なステップに従って、AlchemyのOptimism NFT APIでの構築を始められます:

  1. パッケージマネージャーを選ぶ - npmやyarnのようなパッケージマネージャーを使用する
  2. リポジトリをセットアップする - クイックスタートスクリプト用のリポジトリをコマンドラインから新規作成するため、ターミナルを開く
  3. ライブラリを選ぶ - Optimism NFT APIとやり取りするために、Fetch、Axios、または他の標準的なHTTPライブラリを使用する

開発者はFetchまたはAxiosを使ってOptimism NFT APIを直接呼び出すことができます。現在のエンドポイントの例とサポートされているメソッドについては、Alchemyのドキュメントを参照してください。

AlchemyでベストなOptimism NFT APIを使う

Bloombergによると、2021年の強気相場ではNFT市場は400億ドルを超えました。NFTセクターは現在厳しい弱気相場を経ていますが、NFT技術には今後の成長に向けた大きな可能性があります。

そのため、ビルダーは、スケーラブルなOptimismネットワーク上でNFTアプリを構築するために、適切なNFT開発者ツールを必要とするでしょう。Alchemyで無料アカウントを作成し、Alchemyの無料NFT APIでNFTアプリの構築を始めましょう。

Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。