클레이튼 개발 환경에서 NFT 개발하기

jsg_ko·2022년 2월 9일
0

🔥Klaytn IDE에서 KIP-17 개발하기

클레이튼 네트워크에서 사용되는 NFT, KIP-17을 개발해보자.

다음은 개발을 위한 몇 가지 링크이다.

ERC-721을 이용해 이더리움 기반의 스마트 컨트랙트를 만들었던 것처럼, 클레이튼 기반의 스마트 컨트랙트를 생성하기 위해서는 KIP를 사용해야 한다. ERC-721에는 Identity를 검증하는 ERC-165가 포함되어 있다.

  1. Klaytn IDE에 접속하고, 새로운 Workspaces, 새로운 파일을 생성한다.

  2. 앞서 언급했듯이, 이더리움 기반의 스마트 컨트랙트와 달리, 클레이튼 기반의 스마트 컨트랙트는 KIP를 사용한다. 따라서 ERC-721 스마트 컨트랙트를 그대로 사용할 수 없다. ERC-721의 코드를 가져와서, 다음과 같이 수정한다.

  3. 수정된 이 코드만으로는 Klaytn IDE를 통해 배포할 수 없다. MyNFTs의 부모 객체를 모두 작성하여야 문제없이 동작할 수 있다.
    부모객체의 코드링크. 다음의 링크를 통해 코드를 복사하고, Klaytn IDE에 복붙. 코드를 붙여넣었다면, 코드를 컴파일하고 배포한다.

🔥Klatytn IDE에서 KIP-17 배포하기

  1. 컴파일러 탭에서 MyNFTs 컨트랙트를 컴파일한다.

    이 문서를 작성하는 현재, 클레이튼 기반의 Solidity 컴파일러 버전은0.5.6+commit.b259423e.Emscripten.clang 이다.

    • 클레이튼에서 사용하는 Solidity와 컴파일러의 버전은 계속해서 업데이트될 예정
  2. 배포 탭 바오밥 환경에서 ACCOUNT를 추가한다. 클레이튼 IDE 에서는 지갑을 연결 할려면 개인 키가 필요하다. 지갑을 성공적으로 연결 했으면 컨트랙트 드롭다운을 클릭하고 배포하려는 컨트랙트를 선택한 후 배포를 진행한다.

  3. 배포가 완료되면, 하단의 콘솔과 클레이튼 스코프 에서 확인할 수 있다.

    배포된 컨트랙트 링크 https://baobab.scope.klaytn.com/tx/0xd05098178076e714b1ef01db1918a0eb213670bce6f1bf00574dad3dee2a154b?tabId=internalTx

  4. 화면 좌측하단에서 배포된 컨트랙트를 확인할 수 있다. 그 중에서 mintNFT를 실행해 NFT를 생성하고 함수 ownerOf 를 실행하여, NFT 발행이 잘 이뤄졌는지 확인 해 보자.

회고

클레이튼 개발환경에서 직접 NFT를 배포해보면서, 이더리움 개발환경과의 동일한 점과 차이점을 명확히 알 수 있었다. 이더리움 기반의 네트워크여서 상당부분 동일한 점이 있어서 개발을 진행하는데에 어려움점은 없었다.

profile
디버깅에서 재미를 추구하면 안되는 걸까

0개의 댓글