---
title: "Metaplex와 Gumdrop을 사용해 Solana NFT를 에어드랍하는 방법"
description: "Gumdrop을 사용해 컬렉터에게 Solana NFT 에어드랍하기"
---

# Metaplex와 Gumdrop을 사용해 Solana NFT를 에어드랍하는 방법

이 튜토리얼에서는 Metaplex가 만든 [NFT 도구](https://www.alchemy.com/overviews/metaplex) 중 하나인 Gumdrop을 사용해 Solana에서 NFT를 에어드랍하는 방법을 다룹니다. Solana에서 NFT 프로젝트를 개발하는 것이 처음이라면, 이 초보자용 튜토리얼이 도움이 될 것입니다.

이 가이드를 완료하는 데 걸리는 예상 시간: 15분

이 튜토리얼에서는 다음을 진행합니다:

1. NFT 생성
1. NFT 민팅
1. Gumdrop 커맨드 라인 인터페이스(CLI)로 NFT 에어드랍
1. Vervel과 Gumdrop을 사용해 친구들과 공유할 링크 생성

아직 이 용어들이 무슨 뜻인지 모르셔도 걱정하지 마세요! 하나씩 함께 살펴보겠습니다.

## **NFT 에어드랍이란?**

NFT 에어드랍은 무료 NFT가 지갑 주소로 전송되는 것을 말합니다. NFT 에어드랍은 NFT 프로젝트가 컬렉터에게 보상을 주거나, 커뮤니티 참여를 유도하거나, 다가오는 NFT 민팅을 위한 얼로우리스트 토큰을 배포하는 데 널리 쓰이는 방법입니다. NFT 에어드랍은 [NFT 마케팅 전략](https://www.alchemy.com/blog/5-tips-for-nft-success)으로 가장 자주 활용됩니다.

NFT 에어드랍의 예시는 다음과 같습니다:

1. Swim Protocol - 자사의 크로스체인 브릿지를 사용한 사람들에게 Swimmer NFT를 에어드랍
1. Aurory - Aurorian NFT 소유자들에게 새로운 아트와 컬렉터블을 에어드랍
1. Degenerate Ape Academy - Degenerate Trash Panda 민팅에 참여할 수 있도록 토큰 홀더들에게 민팅 토큰을 에어드랍

보유자들에게 사실상 무료 아이템을 제공함으로써, NFT 프로젝트는 자신들의 토큰과 커뮤니티의 가치를 계속 만들어갈 수 있습니다.

### **Gumdrop이란?**

Gumdrop은 [Metaplex](https://www.alchemy.com/dapps/metaplex)의 NFT 기능으로, 오프체인 핸들로 트리를 구성하고 사용자가 원하는 지갑으로 청구할 수 있도록 함으로써 크리에이터가 얼로우리스트에 있는 사용자들에게 회수 링크를 직접 전송할 수 있게 해줍니다. Gumdrop은 [Candy Machine](https://www.alchemy.com/overviews/candy-machine-v2)과 함께 사용하여 NFT 에어드랍을 완료하고 토큰을 배포하는 데도 쓰일 수 있습니다.

Gumdrop은 얼로우리스트를 사용해 Non-fungible 토큰을 배포하는 과정을 단순화함으로써 Solana에서의 NFT 에어드랍을 쉽게 만들어줍니다.

## **Gumdrop으로 Solana NFT를 에어드랍하는 방법**

이 튜토리얼을 준비하려면, 다음 도구들을 컴퓨터에 설치해야 합니다:

1. [NodeJS](https://nodejs.org/en/) (버전 16)
1. [TS-Node](https://www.npmjs.com/package/ts-node)
1. [SolanaCLI](https://docs.solana.com/cli/install-solana-cli-tools)
1. [Yarn](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable)
1. [Git](https://git-scm.com/)
1. [Metaplex CLI](https://github.com/metaplex-foundation/metaplex.git)
1. [Phantom Wallet](https://phantom.app/)

Solana 개발이 처음이라면, 진행하기 전에 [Solana 개발자 도구 설치 방법](https://www.alchemy.com/overviews/solana-developer-tools)을 먼저 확인하세요.

컴퓨터에 다른 버전의 Node가 설치되어 있다면 **NVM**을 사용할 수 있습니다.

지금 당장 모든 것이 부담스럽게 느껴져도 걱정하지 마세요. 각 도구의 기능은 진행하면서 하나씩 보여드리겠습니다.

### **1단계. Gumdrop CLI로 초기화하기**

Gumdrop CLI의 설치 및 설정은 Gumdrop GitHub [저장소](https://github.com/metaplex-foundation/gumdrop)를 통해 이루어집니다. 필요한 모든 것이 여기에 준비되어 있습니다. 저장소를 클론해서 컴퓨터에 받아봅시다. 진행하기 전에 node, yarn, ts-node가 설치되어 있는지도 확인해야 합니다.

ts-node는 다음 명령으로 설치할 수 있습니다:

다음 명령으로 확인할 수 있습니다:

이제 터미널에서 mkdir 명령으로 빈 폴더를 만들어봅시다. 이 폴더는 solana-airdrop이라는 이름으로 만들겠습니다.

폴더 안에서 다음 명령을 실행해 [Solana 지갑](https://www.alchemy.com/overviews/solana-wallets)을 생성합니다:

이때 터미널에 출력되는 메시지는 안전한 곳에 저장해 두어야 합니다. 이후 pubkey와 시드 문구가 필요하기 때문입니다.

다음은 그 결과의 예시입니다:

<ImageBlock
  src="https://media.alchemy.com/1703606637-solana-wallet-generation-output.jpg"
  alt="solana-keygen에서 새 Solana 지갑 pubkey와 시드 문구를 보여주는 터미널 출력"
  width={1134}
  height={494}
  caption="Solana 지갑 생성 출력"
/>

다음으로, Gumdrop 프로젝트를 solana-airdrop 폴더에 클론합니다:

그런 다음 CLI가 있는 디렉토리로 이동합니다:

다음으로 실행합니다:

이 명령은 필요한 모든 의존성을 설치합니다. 설치 과정은 몇 분 정도 걸릴 수 있습니다.

다음으로, 학습 목적으로 비용을 쓰고 싶지 않으므로 [Solana Devnet 클러스터에 연결](https://www.alchemy.com/overviews/solana-devnet)하겠습니다. 실제 애플리케이션에서는 mainnet을 사용해야 한다는 점을 기억해두세요. 아래 명령을 실행하면 devnet으로 변경할 수 있습니다:

이제 NFT를 담을 새로운 키를 생성해야 합니다. "Se"는 우리의 pubkey가 "Se"로 시작한다는 뜻입니다.

<ImageBlock
  src="https://media.alchemy.com/1703606780-solana-keypair-generation-output.png"
  alt="Se로 시작하는 pubkey를 가진 Solana 키페어를 생성하는 터미널 출력"
  width={1134}
  height={142}
  caption="Solana 키페어 생성 출력"
/>

새로운 Solana 주소를 설정하기 위해 몇 가지 명령을 더 실행해봅시다:

다음과 같이 표시되어야 합니다:

<ImageBlock
  src="https://media.alchemy.com/1703606953-solana-wallet-address-configuration-output.png"
  alt="새 지갑 주소로 Solana CLI를 설정한 후의 터미널 출력"
  width={1134}
  height={290}
  caption="Solana 지갑 주소 설정 출력"
/>

### **2단계. Devnet 지갑에 자금 채우기**

이제 [테스트용 Solana 토큰을 받아야](https://www.alchemy.com/overviews/solana-faucet) 합니다. devnet에 있으므로, 터미널에서 아래 명령을 실행하면 빠르게 sol을 받을 수 있습니다:

또는 [Solana 파우셋](https://solfaucet.com/)에서 devnet SOL 토큰을 받을 수도 있습니다.

<ImageBlock
  src="https://media.alchemy.com/1703607074-solana-faucet-website-interface.png"
  alt="Solana faucet 웹사이트 인터페이스"
  width={1400}
  height={576}
  caption="Solana faucet 웹사이트 인터페이스"
/>

명령줄에서 다음 스크립트를 실행하면 devnet 지갑에 Solana가 있는지 확인할 수 있습니다:

### **3단계: Phantom 지갑을 Devnet 클러스터에 연결하기**

이제 새로 만든 devnet 지갑을 Phantom에 연결하겠습니다. 이를 위해 **설정**을 클릭하고, **Change Network**를 선택한 다음, **Devnet**을 선택합니다.

<ImageBlock
  src="https://media.alchemy.com/1703607239-phantom-wallet-connect.gif"
  alt="Phantom 지갑 설정: 네트워크를 Solana Devnet 클러스터로 변경"
  width={728}
  height={1082}
  caption="Phantom 지갑을 Solana의 devnet 클러스터에 연결"
/>

### **4단계. Phantom에 Devnet 지갑 추가하기**

이제 devnet 지갑의 프라이빗 키를 확보해야 합니다. 터미널을 열고 **cat**으로 keypair.json 파일의 내용을 확인합니다:

devnet 지갑을 Phantom에 추가하려면:

1. Phantom을 엽니다
1. 방금 받은 출력값을 복사합니다
1. 적절한 이름을 지정합니다
1. 왼쪽 상단 내비게이션 메뉴에서 **Import Private Key**를 선택합니다
1. **Add/Connect Wallet**을 클릭합니다
1. **Private Key** 입력란에 키를 붙여넣습니다

이제 devnet [Phantom Wallet](https://www.alchemy.com/dapps/phantom)에 5 SOL이 표시되어야 합니다.

### **5단계. NFT 생성하기**

Solana NFT를 생성하고 민팅할 때 메타데이터 표준을 따르는 Metaplex, Holaplex, [Solsea](https://www.alchemy.com/dapps/solsea)와 같은 플랫폼을 사용할 수 있습니다.

먼저 해야 할 일은 다음과 같습니다:

1. 지갑을 설정하고 SOL 토큰이 있는지 확인합니다
1. [Holaplex](https://www.holaplex.com/) 웹사이트를 방문합니다
1. Phantom 지갑을 Metaplex 플랫폼에 연결합니다

Metaplex는 자금 확인 권한과 트랜잭션 승인을 요청합니다. 이를 승인하면 됩니다.

<ImageBlock
  src="https://media.alchemy.com/1703607352-creating-an-nft-using-holaplex.png"
  alt="Holaplex 생성 페이지: Solana NFT를 민팅하기 위해 작품과 세부 정보 업로드"
  width={1430}
  height={1324}
  caption="Holaplex를 사용해 NFT 생성하기"
/>

다음으로:

1. **create** 탭을 클릭합니다
1. **browse file**을 선택합니다
1. 원하는 이미지를 업로드합니다
1. 이미지에 **Name**과 **description**을 추가합니다
1. 속성을 몇 가지 입력합니다
1. **Next**를 클릭합니다

원하는 만큼 복제본을 민팅할 수 있도록 NFT를 **unlimited**로 설정했습니다.

민팅을 클릭하고 성공하면 지갑에서 NFT를 확인할 수 있어야 합니다.

이제 메타데이터를 받아 안전한 파일에 저장하고, NFT를 Phantom 지갑에서 앞서 생성한 pubkey 주소로 전송하세요.

다음 명령을 실행해 이를 조회할 수 있습니다:

또는, 좀 더 숙련된 Solana 개발자라면 **Candy Machine**으로 민팅할 수도 있습니다.

### **6단계. 드랍 유형 선택하기**

다음으로 넘어가기 전에, gumdrop 프로그램이 세 가지 드랍 유형을 지원한다는 것을 알아야 합니다:

1. Token Airdrop
1. NFT candy machine pre-sale
1. Edition prints

또한 배포 방식과 얼로우리스트도 정의해야 합니다:

CLI 사용법을 안내하는 옵션 목록은 다음과 같습니다:

드랍 유형으로는 **Token Airdrop**을 사용하겠습니다.

이 방식을 사용하면 CLI가 생성된 일회용 키페어로 토큰을 이동시켜, 추가 gumdrop을 더 논리적으로 만들 수 있습니다.

배포 방식으로는 SMS, Discord, Email, 또는 지갑을 통해 에어드랍할 수 있습니다. 이 튜토리얼에서는 아래 명령을 사용해 지갑을 통해 에어드랍했습니다:

전체 명령을 실행하기 전에, whitelist.json 파일을 만들어야 합니다. 이 얼로우리스트는 에어드랍 수신자를 지정하는 데 사용됩니다.

이는 청구할 mint 또는 print 등 식별 값과 에디션 수를 포함한 수신자 목록입니다.

whitelist는 아래와 같은 형식입니다:

친구들의 수에 맞춰 아래 정보로 대체하고 채워 넣을 수 있습니다.

그런 다음 아래 명령으로 배포 목록을 참조할 수 있습니다:

마지막으로, 아래 명령들을 모두 실행합니다:

### 7단계. Solana NFT 에어드랍하기

이제 원하는 주소로 NFT를 에어드랍해봅시다. 파일 디렉토리에서 "log" 폴더를 찾고, 모든 파일을 확인해 아래와 같이 URL이 포함된 .json 파일을 찾으세요. 이 파일에는 에어드랍 수신자를 위한 URL이 포함된 whitelist.json 파일의 내용이 담겨 있습니다. 브라우저에서 해당 링크를 열어볼 수 있습니다.

다음과 같은 화면이 나와야 합니다:

<ImageBlock
  src="https://media.alchemy.com/1703607513-gumdrop-nft-claim-interface.jpg"
  alt="Gumdrop NFT 클레임 인터페이스"
  width={1230}
  height={1412}
  caption="Gumdrop NFT 클레임 인터페이스"
/>

Gumdrop은 수신자가 에어드랍을 쉽게 청구할 수 있는 인터랙티브 UI를 제공합니다. 이 커스텀 gumdrop 사이트를 Vercel에 배포할 수 있습니다.

이것으로 끝입니다! 이제 친구들에게 NFT를 에어드랍할 수 있는 gumdrop 사이트를 만들었습니다.

### **8단계: gumdrop 닫기**[**​**](https://docs.metaplex.com/guides/airdrops#closing-a-gumdrop)

gumdrop이 완료되면, gumdrop을 닫음으로써 마스터 에디션을 회수할 수 있습니다. gumdrop을 닫으면, 수신자들이 더 이상 gumdrop을 청구하지 못할 수 있습니다.

gumdrop을 닫는 코드 스니펫은 다음과 같습니다:

권한을 회수하거나 토큰을 반환하려면, 클레임 통합에 대한 추가 정보를 전달하면 됩니다.

### **9단계: 커스텀 gumdrop 사이트 배포하기**[**​**](https://github.com/metaplex-foundation/gumdrop)

Gumdrop 웹사이트를 직접 배포할 수 있습니다. 특히 프런트엔드 프레임워크와 정적 웹사이트를 구축할 때 뛰어난 개발자 경험을 제공하는 것으로 알려진 **Vercel**을 추천합니다.

먼저 [Vercel](https://vercel.com/)에 가서 무료 계정을 만드세요. 더 빠른 통합을 위해 GitHub를 사용하는 것을 권장합니다.

<ImageBlock
  src="https://media.alchemy.com/1703607611-create-a-new-project-in-vercel.png"
  alt="Vercel 대시보드: Gumdrop 에어드롭 사이트를 배포하기 위해 새 프로젝트 생성"
  width={1600}
  height={269}
  caption="Vercel에서 새 프로젝트 생성하기"
/>

다음으로 해야 할 일은 다음과 같습니다:

1. **new project**를 선택하고 Github 저장소에서 파일을 가져옵니다
1. 프로젝트 이름을 입력하고 디렉토리를 지정합니다
1. **Build and Output Settings**를 열어 아래와 같이 변경합니다

<ImageBlock
  src="https://media.alchemy.com/1703607729-github-vercel-import.png"
  alt="Solana NFT 에어드롭용 Vercel 웹사이트를 만들기 위해 GitHub에서 파일 가져오기"
  width={1476}
  height={1362}
  caption="Solana NFT 에어드롭용 Vercel 웹사이트를 만들기 위해 GitHub에서 파일 가져오기"
/>

이제 Output Directory가 **override**로 설정되어 있는지 확인하고, **Deploy**를 클릭해 프로젝트의 고유 링크를 받으세요!

축하합니다! 방금 커스텀 Gumdrop 웹사이트를 배포하셨습니다 🎉

친구들과 공유하고 싶다면, 링크를 공유하기만 하면 됩니다. 배포 방식이 지갑으로 설정되어 있으므로, 친구들의 지갑 주소도 함께 받아두어야 합니다.
