---
title: "NFT 뷰어 개발 방법 (5단계 튜토리얼)"
description: "Alchemy NFT API를 사용하여 특정 지갑 주소의 NFT를 조회하는 dapp을 만드는 방법을 알아보세요."
---

# NFT 뷰어 개발 방법 (5단계 튜토리얼)

NFT 스마트 컨트랙트에서 가장 두드러진 특징 중 하나는 작품, 이미지, 파일 자체를 포함하지 않고 이를 가리키는 링크나 URI, 그리고 메타데이터만 포함한다는 점입니다. 이러한 토큰은 파일과 데이터가 위치한 온체인 외부 위치를 식별하며, 따라서 블록체인이 이 콘텐츠의 호스팅을 담당하지 않습니다.

다음 섹션에서 살펴보겠지만, ERC-1155는 ERC-721의 개선된 버전으로, 대체 불가능 토큰\(NFT\)과 준대체가능 토큰 모두에 코드가 작동한다는 점이 특징입니다.

### NFT 뷰어 요구사항

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

### NFT 뷰어 튜토리얼

Alchemy를 사용해 NFT 뷰어 댑을 만드는 단계는 다음과 같습니다.

### 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 키 입력하기

이제 src/utils/fetchNFTs.js 파일의 const apiKey = "demo";를 여러분의 Alchemy API Key로 업데이트하세요.

그런 다음 터미널에서 다음 명령어를 실행하세요:

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

### 5. 지갑 주소 입력하기

특정 지갑 주소가 소유한 NFT를 확인하려면, 해당 지갑의 주소 문자열을 입력하면 됩니다.

<ImageBlock
  src="https://media.alchemy.com/1703688886-nft-viewer-user-interface.jpg"
  alt="NFT 뷰어 Dapp 사용자 인터페이스"
  width={1600}
  height={817}
  caption="NFT 뷰어 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 documentation](https://www.alchemy.com/docs/reference/nft-api-quickstart)을 참고하세요.

## NFT\(대체 불가능 토큰\)란 무엇인가?

**"NFT"라는 용어는 예술 작품, 음악, 비디오 게임 자산과 같은 실제 대상을 나타내는 디지털 자산을 가리킵니다.**‍

2014년부터 존재해왔음에도 불구하고, NFT를 이용해 디지털 작품을 사고파는 방식은 계속해서 인기를 얻고 있습니다. 오늘날 Ethereum에는 NFT를 위한 여러 스마트 컨트랙트 구현이 존재하며, 그중 대표적인 두 가지 토큰 표준이 [ERC-721과 ERC-1155](https://www.alchemy.com/blog/comparing-erc-721-to-erc-1155)입니다.

### ERC-721 토큰이란 무엇인가?

2017년 9월 Ethereum Improvement Proposal\(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\(Ethereum Improvement Proposal\)로 설계했으며, 이는 결국 게임 [CryptoKitties](https://www.alchemy.com/dapps/cryptokitties)의 기반이 되었습니다. ERC-721의 다른 저자로는 William Entriken, Jacob Evans, Nastassia Sachs가 있습니다.

### ERC-1155란 무엇인가?

**ERC-1155 토큰 표준은 준대체가능 토큰을 위한 표준으로, ERC20과 ERC721 토큰의 한계를 해결하기 위해 Enjin의 개발팀이 만들었습니다.**

이전에는 ERC-20 또는 ERC-721 각각의 대체 가능 또는 대체 불가능 화폐마다 별도의 컨트랙트가 필요했습니다. 또한 기존 표준은 각 컨트랙트를 별도의 주소로 나누어 특정 기능을 제한했습니다. 그 결과 Ethereum 블록체인에는 사용되지 않는 바이트코드가 흩어져 있습니다.

## 결론

NFT는 아직 초기 단계이지만, 예술가들에게 디지털 소유권, 새로운 수익원, 향상된 커뮤니티 참여와 같은 놀라운 이점을 제공하고 있습니다.

NFT [앱](https://www.alchemy.com/dapps/top/defi-dapps)에 대해 계속 학습하려면 다음과 같은 관련 튜토리얼을 참고하세요:

1. [How to Create an ERC-721 Token](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity)
1. [How to Create an ERC-1155 Token](https://www.alchemy.com/docs/how-to-interact-with-erc-20-tokens-in-solidity)
1. [How to Batch Mint NFTs with ERC721A](https://www.alchemy.com/overviews/erc721-vs-erc721a-batch-minting-nfts)
