---
title: "如何开发 NFT 查看器(5 步教程)"
description: "学习如何使用 Alchemy NFT API 构建一个 dapp,查看指定钱包地址的 NFT。"
---

# 如何开发 NFT 查看器(5 步教程)

NFT 智能合约最突出的特点之一是它们并不包含艺术品、图像或文件本身，而只是指向这些文件及其元数据的链接或 URI。这些代币标识的是链下位置的文件和数据，因此区块链并不负责托管这些内容。

正如我们将在下一节中看到的那样，ERC-1155 是对 ERC-721 的改进，因为它的代码可以同时适用于非同质化代币和半同质化代币（NFT）。

### NFT viewer 的要求

- Node &gt;= 16.13.x
- Alchemy
- React.js
- TailwindCSS
- [NFT Viewer GitHub repo](https://github.com/alchemyplatform/Build-Your-NFT-Explorer)

### NFT viewer 教程

以下是使用 Alchemy 创建 NFT viewer dapp 的步骤。

### 1. 克隆代码仓库

要克隆 NFT Viewer 代码仓库，打开终端并运行以下命令：

<CodeSnippet
  code={`git clone https://github.com/alchemyplatform/Build-Your-NFT-Explorer.git`}
  language="text"
  theme="dark"
/>

### 2. 安装 npm

NPM 是 "node package manager" 的缩写。要安装 npm，只需在终端中运行以下命令：

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

### 3. 在 Alchemy 上创建 Alchemy 账户

创建一个[新的 Alchemy 账户](https://dashboard.alchemy.com/signup/?a=d30817db92)，如果你已经是 Alchemy 开发者，则创建一个新的应用。

拥有应用后，复制你的 API Key。

<ImageBlock
  src="https://media.alchemy.com/1703688790-copy-api-key-on-alchemy.jpeg"
  alt="Alchemy 控制台:创建新应用并复制 API 密钥"
  width={1223}
  height={1009}
  caption="创建新的 Alchemy 应用并复制你的 API 密钥"
/>

### 4. 在 fetNFTs.js 文件中替换你的 API key

接下来，在 src/utils/fetchNFTs.js 中，用你的 Alchemy API Key 更新 const apiKey = "demo";。

然后在终端中运行以下命令：

<CodeSnippet code={`npm start`} language="text" theme="dark" />

### 5. 输入钱包地址

要查看某个钱包地址拥有的 NFT，只需输入该钱包的地址字符串即可。

<ImageBlock
  src="https://media.alchemy.com/1703688886-nft-viewer-user-interface.jpg"
  alt="NFT Viewer Dapp 用户界面"
  width={1600}
  height={817}
  caption="NFT Viewer Dapp 用户界面"
/>

有关本教程的更多信息，请参阅[这个视频](https://www.youtube.com/watch?v=YehktV6LSqw)！

### 使用 Alchemy NFT API

Alchemy 的 NFT API 让你能够快速获取区块链上关于 NFT 的所有所需信息，并且可以在 Ethereum、Polygon、Arbitrum、Optimism 以及 Ethereum 测试网上使用。

无需手动扫描、索引和存储数据，你现在只需提交一次请求，即可获取 ERC-721 和 ERC-1155 代币的特定 NFT 信息。这包括获取诸如查找某地址持有的所有 NFT，或获取某个 NFT 代币的元数据/属性等信息。

更多信息请参阅 [NFT API 文档](https://www.alchemy.com/docs/reference/nft-api-quickstart)。

## 什么是 NFT（非同质化代币）？

**"NFT" 一词指的是代表现实世界物品的数字资产，例如艺术品、音乐或视频游戏资产。**‍

尽管 NFT 自 2014 年才出现，但用它来买卖数字艺术品的做法一直在流行。如今 Ethereum 上有多种 NFT 智能合约实现方式，其中两大主要代币标准是 [ERC-721 和 ERC-1155](https://www.alchemy.com/blog/comparing-erc-721-to-erc-1155)。

### 什么是 ERC-721 代币？

自 2017 年 9 月作为以太坊改进提案（EIP）首次发布以来，ERC721 代币，也就是我们常说的非同质化代币（NFT），使开发者能够在 Ethereum 区块链上将任意数据的所有权代币化。

ERC-721 定义了智能合约在技术上必须实现的最小接口。这个基本接口支持代币所有权、交易和管理。ERC-721 不要求制定与代币相关信息的标准，也不排斥安装超出最低要求的功能。

ERC-721 代币标准极大地拓展了代币的设计空间。由于每个非同质化代币都关联着一个独特的标识，因此它们对各自的所有者来说都是独一无二的。相比之下，遵循 ERC-20 代币标准的代币是同质化的，也就是说它们可以互相替换使用。

[Dapper Labs](https://www.alchemy.com/dapps/dapper-labs) 的首席技术官 Dieter Shirley 将 ERC-721 设计为一份 EIP（以太坊改进提案）草案，该草案最终成为游戏 [CryptoKitties](https://www.alchemy.com/dapps/cryptokitties) 的基础。其他 ERC-721 的作者还包括 William Entriken、Jacob Evans 和 Nastassia Sachs。

### 什么是 ERC-1155？

**ERC-1155 代币标准用于半同质化代币，由 Enjin 的一支开发团队创建，旨在解决 ERC20 和 ERC721 代币的局限性。**

此前，ERC-20 下的每种同质化货币或 ERC-721 下的每种非同质化货币都需要单独的合约。此外，旧标准通过将每个合约划分到独立地址来限制某些功能。结果导致 Ethereum 区块链上散落着大量无用的字节码。

## 结语

尽管 NFT 仍处于起步阶段，但它们已经为艺术家带来了非凡的好处，例如数字所有权、新的收入来源以及增强的社区参与度。

要继续了解 NFT [应用](https://www.alchemy.com/dapps/top/defi-dapps)，可以探索以下相关教程：

1. [如何创建 ERC-721 代币](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity)
1. [如何创建 ERC-1155 代币](https://www.alchemy.com/docs/how-to-interact-with-erc-20-tokens-in-solidity)
1. [如何使用 ERC721A 批量铸造 NFT](https://www.alchemy.com/overviews/erc721-vs-erc721a-batch-minting-nfts)
