---
title: "Alchemy の Optimism NFT API について知っておくべきこと"
description: "数分で強力な Optimism NFT ツールの構築を開始"
---

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

NFTコレクションは[Optimism](https://www.alchemy.com/optimism)上で急増しており、ネットワーク上で新しいNFT[アプリ](https://www.alchemy.com/dapps/top/defi-dapps)を構築する開発者が増えています。これらの開発者は、ネットワークをクエリしてNFTメタデータを取得し、ユーザーのデータリクエストに応えるためにNFT APIを必要としています。適切なNFT APIがなければ、NFTメタデータのインデックス作成とクエリは、個々の開発者にとって時間とリソースを消費する作業になります。

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

## **Optimismの NFT エコシステム**

Optimism は L2（レイヤー2）の Ethereum スケーリングソリューションで、[optimistic rollup infrastructure](https://www.alchemy.com/overviews/optimistic-rollups) 上で動作します。Optimistic rollup はオフチェーンでトランザクションを実行することで Ethereum の負荷を軽減し、より高いトランザクションスループットと低いガス代を実現します。Optimistic rollup は複数のトランザクションを1つのトランザクションにまとめ、検証のために Ethereum に送り返すことで、ネットワークのスケーラビリティを高めます。

Optimism 組み込みのスケーラビリティは、NFTプロジェクトの開発に理想的なソリューションです。ユーザーは Optimism の高速トランザクションと低い手数料により、[NFTゲーム](https://www.alchemy.com/dapps/best/web3-games)をプレイしたり、コレクティブルを取引したりする際に快適な体験を得られます。

**Optimism [NFTScan](https://www.alchemy.com/dapps/nftscan-api)** のウェブサイトによると、Optimism 上には238,000のNFTウォレットに分散して100万件以上のNFTアセットが存在しており、開発者はNFTプロトコルを構築し大量のNFTとやり取りするために適切なツールセットを必要としています。Alchemy の Optimism NFT API は、Optimism エコシステム向けにNFTプロジェクトを構築するために開発者が必要とする主要なツールです。

## **Optimism NFT API とは何か**

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

Alchemy は、JSON-RPC 標準のAPIを使って Optimism の分散ノードインフラとやり取りする開発者向けに、[マルチチェーンNFT API](https://www.alchemy.com/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マーケットプレイス](https://www.alchemy.com/dapps/best/nft-marketplaces)を開発する
- NFT分析プロトコルを設計する
- NFTゲーミングアプリケーションを構築する
- NFTの所有権を検証する

## **Optimism NFT API はどのように動作するか**

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

### **画像キャッシング**

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

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

### **スパムフィルター**

[不要なスパムNFT](https://www.alchemy.com/overviews/spam-nfts) は、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 のトークン標準に違反している
1. トークン転送時にトークン標準に違反している
1. vitalik.eth のようなハニーポットアドレスにトークンをミントしている
1. トークンの総供給量について虚偽のデータを提供している

### **画像リサイズ**

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

### **NFTのエラー**

Alchemy の NFT API はほとんどのNFTメタデータを返しますが、以下のような場合にはリクエストを満たすことができません:

- **Token does not exist** - Alchemy はトークン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エンドポイント](https://www.alchemy.com/docs/reference/nft-api-endpoints)を通じて、開発者が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エンドポイントです](https://www.alchemy.com/overviews/getnfts)は汎用性の高いNFT APIエンドポイントであり、開発者は複数のNFTプロトコルでこれを利用できます。getNFTs APIエンドポイントがどのように機能するかを理解するために、以下の例を見てみましょう。

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

開発者がNFTマーケットプレイスを構築する際、ユーザーが所有するNFTを表示するユーザープロファイルページを設計します。開発者は Optimism NFT トークンゲーティングツールである[isHolderOfCollection](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-api-v-2-methods-older-version/is-holder-of-collection)を使って、特定のウォレットアドレスが指定されたコレクションから特定のトークンを保有しているかどうかに応じてNFTを取得できます。

### **2. Optimism NFT 分析ツール**

レア度ランキングのウェブサイトやアグリゲーターなどのNFT分析ツールは、リストを作成し取引データを取得するためにNFTメタデータを必要とします。開発者は Optimism NFT メタデータAPIである[getNFTMetadata](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-api-v-2-methods-older-version/get-nft-metadata)を使って、NFT分析ツールで使用されるオンチェーンのメタデータを取得できます。

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

NFTプロジェクトが、特定のNFTの所有者に新しいNFTをエアドロップするために開発者を雇うことがあります。APIがなければ、開発者はNFT資産の所有権を追跡するためにブロックチェーン全体を解析しなければなりません。しかし、Alchemy の Optimism NFT コレクションAPIである[getOwnersForToken](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-api-v-2-methods-older-version/get-owners-for-token)を使えば、開発者は所有者を即座に特定し、エアドロップリストを作成できます。また、このAPIはユーザーが特定のNFTをプロフィール画像として設定したい場合に、資産の所有権を検証するためにも使用できます。

## **Optimism NFT API を使った開発の始め方**

自分で Optimism ノードを運用する代わりに、[Alchemy 上にプライベートな Optimism ノードを作成](https://www.alchemy.com/overviews/optimism-node)するのは簡単です。その後、以下の3つの簡単なステップに従って Alchemy の Optimism NFT API を使った開発を始められます:

1. **パッケージマネージャーを選ぶ** - **npm** や **yarn** のようなパッケージマネージャーを使用する
1. **リポジトリをセットアップする** - ターミナルを開き、クイックスタートスクリプト用にコマンドラインから新しいリポジトリを作成する
1. **ライブラリを選ぶ** - Optimism NFT API とやり取りするために[Alchemy SDK](https://www.alchemy.com/docs/alchemy-quickstart-guide)をインストールする

開発者は Fetch や Axios を使うこともできますが、[Optimism NFT API を使い始める最も手早い方法](https://www.alchemy.com/optimism?a=ef68f81fd0)は Alchemy の SDK を使うことです。WebSocket サポート、リトライなど、より良い機能を提供しているためです。

## **Alchemy で最良の Optimism NFT API を使う**

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

そのため、ビルダーはスケーラブルな Optimism ネットワーク上でNFTアプリを構築するために、適切なNFT開発者ツールを必要とするでしょう。[Alchemy で無料アカウントを作成](https://www.alchemy.com/optimism?a=ef68f81fd0)して、Alchemy の無料NFT APIを使ったNFTアプリの構築を始めましょう。
