---
title: "Arbitrum NFT API：概述与快速入门指南"
description: "几分钟内开始构建强大的 Arbitrum NFT 应用和工具"
---

## ‍**Arbitrum 生态系统增长**

[Arbitrum](https://www.alchemy.com/arbitrum?a=956074bef3) 是 Ethereum 的 Layer 2 \(L2\) 扩容方案，相对于 [Ethereum 主网](https://www.alchemy.com/rpc/ethereum)提高了交易速度并降低了 gas 成本，这使其成为熟悉 Ethereum Virtual Machine 的 Solidity 开发者的理想选择。

Arbitrum 是采用乐观 rollup \(ORU\) 的领先 Layer 2 Ethereum 扩容方案，根据 [Arbitrum statistics](https://www.alchemy.com/overviews/arbitrum-statistics)，它正呈现健康增长态势。尽管自 2022 年初以来整个市场处于下行趋势，[Q3 Web3 Developer report](https://www.alchemy.com/blog/web3-developer-report-q3-2022) 显示 [Arbitrum 生态系统](https://www.alchemy.com/dapps/ecosystem/arbitrum)出现了以下增长：

- 年初至今活跃团队增长 516%
- 同比活跃开发团队增长 795%
- 年初至今 API 消耗量增长 121%

Arbitrum 上一些最受欢迎的[应用](https://www.alchemy.com/dapps/top/defi-dapps)包括：

- **Aave** - DeFi 中最大的点对点借贷协议之一
- **[1inch](https://www.alchemy.com/dapps/1inch)** - 一个去中心化交易所 \(DEX\) 聚合器，帮助用户在交换代币时找到最优价值
- **Yearn Finance** - 一个专注于借贷加密资产收益优化的 DeFi 协议

此外，Uniswap、Sushi、[Balancer](https://www.alchemy.com/dapps/balancer) 和 [OpenSea](https://www.alchemy.com/dapps/opensea) 等平台最近也集成了对 Arbitrum 的支持，将更多主流应用带入 Arbitrum 网络。

由于市场对更快、更便宜的 EVM 兼容区块链需求旺盛，Arbitrum 为开发者提供了一个有吸引力的区块链选择。由于开发者在索引和查询 NFT 元数据时面临时间和资源限制，Alchemy 扩展了 NFT API 的支持范围，使开发者能够在 Arbitrum 上构建高端 NFT 项目。

## **什么是 Arbitrum NFT API？**

**Arbitrum NFT API 是一套用于查询 Arbitrum 区块链上非同质化代币 \(ERC721\) 和半同质化代币 \(ERC1155\) 的 API 端点集合，包括 getNFTs、isHolderForCollection 等。**

要使用 Alchemy 的多链 NFT API 与 [Arbitrum 节点](https://www.alchemy.com/overviews/arbitrum-node)通信，开发者可以使用 JSON-RPC 方法，通过自托管节点或 [Arbitrum 节点提供商](https://www.alchemy.com/overviews/blockchain-node-providers)读写 Arbitrum 上的数据。Arbitrum NFT API 支持链上和链下 NFT，格式包括 JSON、SVG、UTF-8，支持 Pinata 等 IPFS 网关，以及 Base64 编码图片。

## **Arbitrum NFT API 支持的方法**

Alchemy 的 Arbitrum NFT API 提供了多种强大的端点，涵盖从最基础的 [getNFTs](https://www.alchemy.com/overviews/getnfts) 调用到所有权和元数据调用。常见用例包括仪表盘、钱包、[NFT 查看器](https://www.alchemy.com/overviews/nft-viewer)、NFT 搜索、稀有度工具和分析工具。

### **用于所有权和 token gating 的 Arbitrum NFT API 端点**

以下 Arbitrum NFT API 端点常被开发者用来确定特定 NFT 或系列的持有者。这些端点在 Discord 或 Shopify 等平台上[设置 token gating](https://www.alchemy.com/overviews/nft-token-gating) 机制时非常有用。

- **getNFTs** - 查找特定钱包持有的 Arbitrum NFT
- **getOwnersForToken** - 获取某个 token 的 Arbitrum 所有者
- **getOwnersForCollection** - 获取某个系列的 Arbitrum NFT 所有者
- isHolderOfCollection - 检查某个 Arbitrum 钱包是否持有特定 NFT
- **getNFTsForCollection** - 获取属于某个 Arbitrum NFT 系列的所有 NFT

### **Arbitrum ERC-721 和 ERC-1155 元数据**

元数据包括系列名称、供应量、属性和符号等信息。Arbitrum NFT 元数据对构建分析工具的开发者和分析数据的交易者都很有帮助。

- **getNFTMetadata -** 获取 Arbitrum NFT 元数据
- **getContractMetadata** - 获取 Arbitrum NFT 智能合约元数据

## **如何开始使用 Arbitrum NFT API 进行构建**

[Alchemy SDK](https://www.alchemy.com/sdk) 是目前用于与 Arbitrum 交互的最全面、最强大的 Javascript SDK。Alchemy 的 web3 SDK 支持与 Ethers.js AlchemyProvider 和 WebSocketProvider 完全相同的语法和功能，对于使用 Ethers.js Provider 的开发者来说，可以做到一一对应。

而且还不止于此！

Alchemy SDK 在 Ethers 的基础上增加了大量增强功能，例如：

1. 访问 Alchemy 的 Enhanced APIs
1. 访问 Alchemy 的 NFT APIs
1. 强大的 WebSockets 支持
1. 自动重试

该 SDK 利用了 Alchemy 稳健的节点基础设施，保证一流的节点可靠性、可扩展性和[数据正确性](https://alchemy.com/blog/data-accuracy)，并且正由 Alchemy 的工程师持续开发。

### 1. 安装 SDK

有关[如何开始使用 web3 SDK](https://www.alchemy.com/docs/alchemy-quickstart-guide) 的完整说明，请阅读我们的官方文档。运行以下脚本即可安装该 SDK：

<CodeSnippet code={`npm install alchemy-sdk`} language="text" theme="dark" />

### 2. 获取 Arbitrum API 密钥

如果你还没有 Alchemy 账户，请创建一个新账户并[创建一个 Arbitrum 应用](https://dashboard.alchemy.com/signup/?a=956074bef3)。你需要用到 API Key 和 URL 来导入 SDK。

<ImageBlock
  src="https://media.alchemy.com/1703687379-create-arbitrum-app.png"
  alt="在 Alchemy 开发者控制台中创建新的 Arbitrum 应用"
  width={1266}
  height={653}
  caption="在 Alchemy 开发者控制台中创建新的 Arbitrum 应用"
/>

### 3. 导入并运行 SDK

接下来你可以导入并使用该 SDK。在终端中运行脚本之前，请确保替换以下内容：

- **apiKey** - 你可以通过在 Alchemy 中创建一个新的 Arbitrum 应用并复制其 API Key 来获取
- network - 你可以从 Arbitrum 应用设置中复制粘贴该值

<CodeSnippet code={`import { Network, Alchemy } from 'alchemy-sdk';

// Optional Config object, but defaults to demo api-key and eth-mainnet.
const settings = {
apiKey: 'demo', // Replace with your Alchemy API Key.
network: Network.ARB_MAINNET, // Replace with your network.
};
const alchemy = new Alchemy(settings);

// Access standard Ethers.js JSON-RPC node request
alchemy.core.getBlockNumber().then(console.log);`} language="typescript" theme="dark" />

你也可以直接从 Alchemy 仪表盘复制其提供的示例代码，并在终端中运行：

<ImageBlock
  src="https://media.alchemy.com/1703687555-alchemy-dashboard.jpg"
  alt="Alchemy 控制台中的 Arbitrum API 密钥和代码示例"
  width={1203}
  height={950}
  caption="Alchemy 控制台中的 Arbitrum API 密钥和代码示例"
/>

就是这样！现在你已经运行了 Alchemy 的 SDK 并连接到了 Arbitrum 网络。现在，你已经拥有了 web3 中最强大的 Arbitrum NFT API 的完整访问权限！
