Klaytn에서 NFT를 발행하는 다양한 방법
전체 포스팅 목록은 여기에서 확인하세요.
안녕하세요, 이 포스트에서는 Klaytn에서 NFT를 발행하는 다양한 방법에 대해 소개하고자 합니다.
Klaytn?
NFT 발행 방법에 앞서 Klaytn(클레이튼)이 무엇인지 간단히 알아보도록 하겠습니다. Klaytn은 카카오의 자회사, GroundX에서 개발한 블록체인 플랫폼입니다. 더 자세한 정보는 Klaytn 홈페이지, Position Paper, Klaytn Docs 등에서 확인하시기 바랍니다.
NFT?
NFT는 Non-Fungible Token의 약자로, 그대로 번역하면 대체 불가능한 토큰입니다. NFT는 이더리움의 ERC-721에서부터 시작되었으며, 토큰 하나하나가 각자 다른 가치를 가지는 토큰입니다. 예를 들면 연예인 포토카드, 스포츠 선수 카드, 포켓몬이 하나의 토큰으로 표현된다고 생각하시면 됩니다. Klaytn에서 NFT는 KIP-17을 통해 표준으로 정의되었습니다. KIP-17에 대한 자세한 설명은 링크된 문서를 참고해주세요.
NFT 컨트랙트 배포? 토큰 전송?
NFT의 개념에 이어 기술적인 부분에 대해 추가로 설명해 보겠습니다. NFT를 발급하기 위해서는 먼저 NFT 스마트 컨트랙트가 Klaytn 상에 배포되어 있어야 하는데요, 여기서 스마트 컨트랙트는 NFT를 보관하는 저장소라고 생각하시면 됩니다. 저장소를 하나 만들면 그 안에 새로운 NFT를 계속 생성할 수 있습니다. 따라서, 아래와 같이 용어를 정리할 수 있습니다.
- NFT: 대체 불가능한 토큰(Non-fungible token)
- NFT 스마트 컨트랙트(Smart contract): NFT를 저장할 수 있는 저장소
- NFT 발행(minting): NFT를 새로 생성(발행)하는 행위
- NFT 전송(transfer): 이미 생성된 NFT를 사용자 간 주고 받는 행위
- NFT 소각(burn): 이미 생성된 NFT를 폐기(소각)하는 행위
Klaytn과 NFT가 무엇인지 어느 정도 이해 되셨나요? 이 문서는 Klaytn이나 NFT를 자세히 알아보기보다는 Klaytn에서 NFT를 배포하는 방법을 안내합니다. NFT에 대해 더 알고 싶다면 다른 문서를 참고하시기 바랍니다.
그럼 이제 Klaytn에서 NFT를 발행하는 방법을 하나씩 살펴보겠습니다.
1. Truffle을 이용하여 배포
Truffle을 이용해 Klaytn에서 NFT 컨트랙트를 배포하는 방법은 이 링크에서 확인할 수 있습니다. 가장 복잡하고 어렵지만, 스마트 컨트랙트를 직접 확인하고 배포해보고 싶다면 이 방법을 추천합니다. Truffle을 이용하면 컨트랙트 코드를 원하는 대로 수정하여 배포할 수도 있습니다.
2. Caver를 이용하여 배포
만약 컨트랙트를 수정할 일이 없다면 좀 더 간단한 방법이 있습니다. Klaytn SDK인 caver-js와 caver-java는 KIP-17 컨트랙트를 쉽게 배포할 수 있는 기능을 가진 caver.kct 패키지를 제공하고 있습니다. Caver-js에서 KIP-17을 배포하는 예제는 이 링크를, caver-java에서 KIP-17을 배포하는 예제는 이 링크를 클릭해 확인하세요.
3. KAS를 이용하여 배포
KAS에서는 API를 이용하여 KIP-17 컨트랙트를 쉽게 배포하는 방법을 제공합니다. 자세한 내용은 KAS Docs를 참고하세요.
4. Klip Partners를 이용하여 배포
Klip에서는 Klip Partners를 이용해 NFT를 발행하고 전송하는 기능을 제공합니다. Klip Partners를 이용하면 Klip에서 확인할 수 있는 NFT를 보다 손쉽게 만들 수 있습니다. Klip Partners는 별도 계약을 통해 사용할 수 있으니, 서비스 이용을 희망하는 업체는 klip-partners@groundx.xyz 로 문의하시기 바랍니다. Klip Partners에 대한 보다 자세한 정보는 Klip API Docs에서 확인할 수 있습니다.
5. KrafterSpace를 이용하여 배포
GroundX에서 누구나 손쉽고 빠르게 Klaytn 기반의 NFT를 발행할 수 있는 서비스인 KrafterSpace를 런칭했습니다. 블록체인, 프로그래밍에 대한 지식이 없더라도 간단한 웹 서비스와 Kaikas를 이용하여 Klaytn에 NFT를 발행할 수 있으며, 발행한 NFT를 OpenSea에서 사고 팔 수 있습니다.
6. Klip/Kaikas와 연동하여 배포
앞에서 다양한 방법을 소개했지만 이를 실제로 구현하기란 쉽지 않습니다. 그래서 보다 쉽고 빠른 이해를 돕기 위해 예제 코드를 준비했습니다. KAS와 Klip/Kaikas를 이용하여 NFT를 발급하고, 발급한 NFT를 조회/전송하는 예제를 아래 GitHub 사이트에서 확인해보시기 바랍니다.
https://github.com/klaytn/klaytn-nft-minter-backend
https://github.com/klaytn/klaytn-nft-minter-frontend
궁금한 점은 Klaytn 개발자 포럼에 언제든 남겨주세요.
감사합니다!