본문 바로가기
블록체인 실습

Kaia Testnet 기반 NFT 만들기

by knowing_j1n 2024. 10. 31.
728x90

안녕하세요.

최근, klaytn이 kaia로 병합 및 리브랜딩 되고,

오늘 바이낸스에 재상장하면서 Kaia의 대한 관심도가 굉장히 높아지고 있습니다.

 

오늘은 Karios Testnet을 활용하여 (Kaia Testnet) NFT를 만들어보고자 합니다.

 

참고한 영상은 아래와 같습니다.

https://www.youtube.com/watch?v=X_61rLj9hfw

참고영상

 

 

2년 전 영상이라 Klaytn 시절의 영상이며,

현재는 Kaia로 리브랜딩 되면서 바뀐 부분이 몇몇 있습니다.

 

직접 NFT 생성을 통해 확인을 완료하였으며 바뀐 부분을 설명드리며 방법을 소개하겠습니다.

 

NFT 생성

 


우선 목차 및 과정은 아래와 같습니다.

  1.  소스코드 , NFT 이미지, 메타데이터. json 파일 준비
  2. Pinata API (IPFS) 가입 및 사용
  3. Kaia wallet, MetaMask 생성 및 준비 
  4. 테스트 클레이 발급
  5. Kaia IDE 를 통한 NFT 발행
  6. Kaiascope를 통한 발행 확인
  7. Opensea를 통한 리스팅

 1. 소스코드 , NFT 이미지, 메타데이터. json 파일 준비

우선 소스코드가 필요합니다. 

아래 링크에 접속하면 "KIP17OwnableFlattened.sol" 이라는 파일이 있습니다.

클릭 후, 오른쪽에 Raw 버튼을 눌러 소스코드 들을 복사해 놓으면 됩니다.

 

소스코드

https://github.com/nijnuenna/Make_NFT_using_Kairos_testnet

 

GitHub - nijnuenna/Make_NFT_using_Kairos_testnet: Make_NFT_using_Kairos_testnet

Make_NFT_using_Kairos_testnet. Contribute to nijnuenna/Make_NFT_using_Kairos_testnet development by creating an account on GitHub.

github.com

 


 

이어서, 이미지 파일이 필요합니다.

원하시는 이미지 파일이 있다면 준비하여 png 형태로 보유하시면 됩니다.

없을 경우, 위 링크의 cat 파일을 사용하시면 됩니다.

 

이미지


 

이어서  metadata.json 파일을 클릭하셔서 코드들을 복사해서 메모장에 저장을 해 둡니다.

 

metadata_json

 


 2. Pinata API (IPFS) 가입 및 사용

 

아래 링크에 접속하여 회원가입을 해 줍니다.

"get start" 버튼을 눌러 회원가입을 진행하면 됩니다.

 

https://pinata.cloud/

 

Pinata | The internet's file API

Add file uploads and retrieval in minutes so you can focus on your app — because you’ve got better things to code than infrastructure.

pinata.cloud

 

Pinata

 

위 사이트에서 오른쪽 사진과 같이

이미지 파일과 metadata.json 파일을 업로드 하여 CID 주소를 확보할 것입니다.

 


3. Kaia wallet, MetaMask 생성 및 준비

아래 포스팅을 참고하여 생성하시면 됩니다.

 

https://knowing-j1n.tistory.com/entry/Web3-%EC%A7%80%EA%B0%91-%EC%83%9D%EC%84%B1-Kaia-wallet-MetaMask-%EB%B0%A9%EB%B2%95

 

 


4. Test Klay 받기

저는 테스트넷에서 NFT를 만들 것이기 때문에 Test Klay 가 필요합니다.

(추후에 메인넷에서도 만드는 방법을 시도해 보고 포스팅하도록 하겠습니다.)

 

아래 링크를 보면 Kaia Testnet Faucet 얻는 방법이 있습니다. 그대로 따라 해보겠습니다.

https://developer.nodit.io/docs/kaia-testnet-faucet

 

Kaia Testnet Faucet

Kaia is a blockchain network brand integrating Klaytn and Finschia, with Kairos serving as its testnet. Nodit supports Kaia's testnet node and faucet.

developer.nodit.io

 

"Kaia Testnet Faucet 바로가기"를 누르시면 아래와 같이 지갑주소를 입력할 수 있습니다.

하지만 이전에 "Nodit"이라는 위 사이트를 가입해야 지급받을 수 있습니다.

그렇기 때문에 "Sign in" 버튼을 통해 회원가입을 먼저 진행하면 됩니다.

저는 구글 계정으로 진행하였습니다.

 

회원가입

 

그러면 지갑주소를 입력할 수 있게 되고, 본인이 사용할 Kaia wallet의 지갑주소를 입력하면 됩니다.

Kairos 테스트넷을 선택하고 오른쪽 지갑 주소를 복사해서 붙여 넣기 합니다.

그 후 아래의 "Receive Faucet" 버튼을 누르면 테스트넷 전용 50 KLAY 가 지급이 됩니다.

하루에 단 1번 수령하실 수 있습니다.

(저는 이미 수령 후 한번 사용하여 KLAY가 줄어든 상태입니다)

 

Test KLAY 수령

 

그 후 밑에 Go to Nodit 버튼을 클릭합니다.

Create New project 버튼을 클릭합니다.

 

Nodit

 

Connected Nodes에서 kaia kairos(테스트넷)를 선택하여  More 버튼을 눌러줍니다.

 

카이아 테스트넷 클릭

 

Add to wallet을 눌러줍니다.

 

지갑 연결

 

확인 - 네트워크 전환을 눌러주시면 Kaia 테스트넷 네트워크가 추가된 것을 확인할 수 있습니다.

 

네트워크 추가

 

Kaia wallet으로 돌아가서 Kaia 테스트넷으로 설정한 후

수령한 Test Klay를 메타마스크 주소로 전송하면 됩니다.

 

그러면 MetaMask의 테스트넷에 Test Klay가 들어온 것을 확인할 수 있습니다.

 

Test Klay 전송

 


5. Kaia IDE를 통한 NFT 발행

 

그전에 준비과정이 필요합니다.

 

  1. 이미지 파일 Pinata에 업로드
  2. metadata_json 파일 Pinata에 업로드

 

다시 Pinata에 접속하여 두 가지 파일을 업로드합니다. 

먼저 다운로드 혹은 준비한 PNG 형태의 이미지 파일을 업로드 합니다.

 

업로드

 

그 후 업로드한 이미지의 CID 주소를 복사합니다.

 

CID 복사

 

복사한 CID 주소를 이전에 준비한 metadata.json 코드에 붙여 넣기 하겠습니다.

 

"image" 파트에 "ipfs://" 뒷부분에 그대로 붙여 넣기 해주시면 됩니다.

"Name" , "description" ,"trait_type" , "value" 등등 원하는 대로 수정이 가능합니다.

 

그 후 수정한 이 metadata_json 파일을 Pinata에 똑같이 업로드해 줍니다.

아래와 같이 총 2가지 파일을 업로드해주시면 됩니다.

 

Pinata 업로드

 

 


 

이전에 준비해 두었던 " KIP17OwnableFlattened.sol " 파일의 코드 전체를 복사합니다.

아래의 링크로 접속을 해 줍니다.

 

https://remix.ethereum.org/?#activate=klaytn-remix-plugin,fileManager

 

Remix - Ethereum IDE

 

remix.ethereum.org

 

 

Remix는 Ethereum 스마트 계약을 개발, 테스트 및 배포할 수 있는 웹 기반 IDE입니다.

이 IDE는 Solidity 언어로 작성된 스마트 계약을 쉽게 작성하고 디버깅할 수 있도록 도와줍니다.

Klaytn 플러그인이 활성화되어 Klaytn 블록체인과도 연동되어 사용될 수 있습니다.

 

왼쪽의 파일모양 Contracts 클릭 -> 3_Ballot_sol 클릭 

-> 오른쪽 코드 전부 삭제  -> 복사한 소스코드 붙여 넣기

 

추가적으로 헷갈리지 않게  3_Ballot_sol의 이름을 바꿔주었습니다.

 

소스코드 업로드

 

그 후 맨 밑으로 내려와서 contract의 이름을 생성할 NFT 이름을 수정하시면 됩니다.

 

저는 Mycat 으로 수정하였습니다.

 

이어서 Compile을 진행하겠습니다.

3번 파일을 클릭한 상태로 왼쪽의 3번째 Solidity compiler 버튼을 클릭합니다.

 

이 코드의 pragma solidity 버전이 0.5.0이기 때문에

왼쪽의 COMPLIER의 버전 또한 0.5.0으로 맞춰줍니다.

 

그 후 EVM VERSION을 constantinople ,

Enable optimization 체크하신 후 Compile 버튼을 누르시면 됩니다.

 

순서대로 진행해 주시면 됩니다.

 

 

이제 트랜잭션을 활성화시켜보겠습니다.

좌측에 4번째 Deploy & run transactions 버튼을 눌러줍니다.

순서대로 따라 하시면 되겠습니다.

 

1. ENVIRONMENT -> Injected Provider - MetaMask -> 본인 사용 지갑 연결하기 (Test Klay 받은 지갑)

2. ACCOUNT에 올바르게 연결되었는지 지갑 주소 확인하기

3. CONTRACT -> 본인이 설정한 NFT 명으로 바꿔주기 - 1491번째 Row에 contract 이름이 동일한지 확인합니다.

4. DEPLOY -> Name : 원하는 이름으로 수정 / SYMBOL : 원하는 이름으로 수정

5. transact 버튼 누르기

 

완료하시면 트랜젝션이 MetaMask에서 컨펌되고

블록체인에 생성이 되었다는 메시지가 뜰 것입니다.

 

트랜젝션 날리기

 

이번에도 순서대로 진행하시면 됩니다.

 

1. Deployed Contracts 밑의 화살표 버튼 누르기

2. mintWithTokenURL 버튼 클릭

to : "NFT 전송할 지갑 주소"  /  tokenId : 1 (저는 두 번째 생성이므로 2로 하였습니다.)

tokenURL : "ipfs://" + "Pinata에 업로드한 metadata_json 파일의 CID 주소"

3. transact 버튼 클릭

 

하시면 가스비가 소모되고 트렌잭션이 컨펌되며 NFT가 지갑으로 전송이 완료됩니다.

 

NFT 지갑으로 전송

 


6. Kaiascope를 통한 발행 확인

이제 발행하여 전송한 NFT를 Kaiascope를 통해 확인해 보겠습니다.

 

Kaiascope는 Klaytn 블록체인에서 제공하는 블록 탐색기입니다.

사용자는 이를 통해 Klaytn 블록체인에서 발생한 거래, 블록, 스마트 계약, 계정 정보 등을 조회할 수 있습니다.

블록체인 데이터에 대한 투명한 접근을 제공하며, 개발자와 사용자 모두에게 유용한 도구입니다.

Klaytn 네트워크의 상태를 모니터링하고, 거래 내역을 추적하는 데 도움을 줍니다.

 

https://baobab.klaytnscope.com/

 

Kaiascope.com

Kaiascope allows you to find data by monitoring network health and statistics of Kaia as well as profiling blocks and transactions on Kaia.

kairos.kaiascope.com

 

수령한 NFT의 지갑주소를 입력하면 올바르게 전송된 것을 확인할 수 있습니다.

 

kaiascope 통한 확인

 


7. Opensea를 통한 리스팅

발행한 NFT를 실제로 확인해 보겠습니다.

Opensea라는 NFT 마켓을 통하여 확인할 수 있습니다.

 

오픈씨(OpenSea)는 NFT(Non-Fungible Token) 마켓플레이스입니다.

사용자들이 디지털 자산, 즉 예술 작품, 음악, 게임 아이템, 도메인 이름 등

다양한 형태의 NFT를 사고팔 수 있는 플랫폼 입니다.

 

오픈씨는 이더리움, 폴리곤, 클레이튼 등 여러 블록체인에서 작동하며,

사용자들은 자신이 소유한 NFT를 나열하고 경매에 참여하거나 즉시 구매할 수 있습니다.

 

테스트넷에서 NFT를 생성하였기 때문에 테스트넷 오픈씨로 접속하여 확인하겠습니다.

https://testnets.opensea.io/

 

오른쪽 상단의 프로필 모양의 버튼을 누르고 지갑을 연결합니다.

Kaia wallet은 이전에 Kaikas wallet이었습니다.

이번 리브랜딩을 통해 지갑은 단순히 이름만 변경된 것 같습니다.

 

Kaikas를 선택한 후 서비스 연결 및 서명을 진행해 줍니다.

 

오픈씨 접속 및 연결

 

그 후, 프로필에 들어가시면 정상적으로 NFT가 지갑에 들어온 것을 확인하실 수 있습니다.

저는 이전에 생성한 것까지 총 2개가 지갑에 들어와 있는 상태입니다.

 

NFT 현황

 

 

클릭하시면 자세히 보실 수 있고, List for sale 버튼을 통 판매도 가능합니다.

 

클릭 후 화면

 

판매 화면

 

궁금하신 분들은 아래 링크를 통해 확인이 가능하니 많은 구경 부탁드립니다 (_._)

https://testnets.opensea.io/IDontKnowIfyouKnowmE

 


 

IDE 가 삭제되었을 경우

Remix를 재실행시 IDE가 삭제됩니다. 그때 사용할 방법을 알려드리겠습니다.

코드를 컴파일 완료하면 ABI를 추출할 수 있습니다.

CONTRACT 올바르게 설정하신 후,  ABI를 복사를 합니다.

 

ABI 복사

 

그 후 새로운 파일을 하나 생성한 후, 이름을 설정하고 끝에." abi"로 완료해야 합니다.

오른쪽 코드 작성란에 복사한 ABI를 붙여 넣기 해줍니다.

 

ABI 붙혀넣기

 

Kaiascope 가셔서 본인 지갑주소 입력 후, KIP17 클릭하여 발행한 NFT를 클릭해 줍니다.

아래에 Contract 주소를 확인할 수 있습니다. 이 주소를 복사합니다.

 

Contract 주소 복사

 

좌측 4번째 버튼 클릭 후 At Adress에 복사한 Contract 주소를 입력하고 버튼을 누릅니다.

그러면 아래의 Deployed Contracts에 아까와 같은 칸들이 다시 뜰 것입니다.

 

재생성

 

다른 이미지의 NFT를 생성하고 싶으시다면 mintWith TokenURL 클릭하셔서 

tokennId(1부터 시작)와 tokenURL("ipfs://"로 시작)을 수정하시면 됩니다.


 

이상으로 Kaia 테스트넷을 활용한 NFT 만들기 포스팅을 마치도록 하겠습니다.

추가적으로 막히는 부분 있으시면 댓글 달아주시면 상세히 알려드리겠습니다!

 

여러분들의 구독과 댓글은 저에게 큰 힘이 됩니다. 한 번씩 부탁드리겠습니다!

읽어주셔서 감사합니다.

 

728x90