NFT 개발에 앞서!
카카오의 자회사인 그라운드x 에서 Dapp 개발을 위한 블록체인 플랫폼
이더리움과 같이 한 네트워크의 개념이라고 이해를 했다.
이더리움에서 이더를 사용하듯이 클레이튼 네트워크에서는 클레이를 사용.
클레이튼에서의 합의 알고리즘 : IBFT (이스탄불 비잔티움 결함 허용)
블록 생성 주기 = 라운드
블록 생성 간격 = 약 1초
👻 추후 클레이튼 네트워크에 대한 자세한 내용은 따로 다룰것!
클레이튼 네트워크에서의 대체 불가능한 토큰 (NFT)에 대한 표준
KIP-17 : KIP-17 docs 링크
이더리움 기반의 스마트 컨트랙트를 개발할 때 ERC-20, ERC-721 등을 사용했던 것처럼 클레이튼 기반의 스마트 컨트랙트를 개발할 때는 KIP를 사용.
Remix IDE와 같이 웹 기반으로 개발을 위한 IDE
Klaytn IDE는 Remix 0.7.7 버전에서 분기하였다고 함.
클레이튼 기반의 메인넷에 스마트 컨트랙트를 발행하기 전에 테스트 해볼 수 있는 네트워크
이더리움의 롭스텐(Ropsten) 네트워크와 비슷한 개념으로 이해.
보통 Baobab(테스트넷) 이라고 함.
이번 실습에서는 Klaytn IDE를 사용함.
이더리움의 ERC-721 처럼 여기선 KIP-17 (NFT).
그리고 Baobab(테스트넷)을 활용하여 배포 실습.
지갑은 클레이튼 Kaikas 지갑 사용.
소스코드는 ERC-721과 비슷.
컴파일 버튼 누르고 좀 기다리면 밑에 컴파일한 컨트랙트들이 뜸.
MyNFTs 컨트랙트가 컴파일 완료된 걸 확인.
먼저 Environment에 Babbob(테스트넷)을 사용할 거니까 Babbab 체크.
그리고나서, Account 옆에 + 표시를 눌러 배포할 계정 주소를 넣어줘야 함.
우린 Klaytn Kaikas 지갑을 사용.
주소를 넣을땐 개인키를 넣어야함.
그럼 이제 Account 에는 배포할 계정 주소가 들어감.
주소를 여러개 넣어 줄 수 있음.
그리고 나서, 내가 배포할 컨트랙트 선택하고 Deploy!
배포된 컨트랙트 확인 해보기.
작성한 mintNFT() 함수를 실행시켜 발행.
onwerOf() 함수로 NFT가 잘 발행되었는지 확인.
클레이튼 개발환경에서 개발을 해보았다. 🧐
이번엔 실습 위주로 블로깅을 해보았다.
MyNFTs 배포 주소 : 0x4288cbcab3db616f3065b5036a5226ea2fa23d7f3086b8f6aadd259aab78f5fa
클레이튼 스코프 주소 : https://baobab.scope.klaytn.com/tx/0x4288cbcab3db616f3065b5036a5226ea2fa23d7f3086b8f6aadd259aab78f5fa?tabId=internalTx
👻 추후에 truffle 로도 해볼것!
이번 개발 실습의 목적은 클레이튼 개발 환경에서 어떤식으로 배포가 되는지 알아보기.
이더리움 개발 환경과 매우 유사했다. 추후에 truffle 로 해볼 때 truffle-config.js 파일에 네트워크 부분을 좀 수정하면 될 것 같다.
요번 실습에서는 딱히 코드작성을 많이 하지 않아서 솔리디티 언어를 까먹은 듯한 느낌이 든다.
솔리디티 언어의 활용을 아직 잘 못하는 것 같아 계속 반복적으로 고민을 해보고 계속 사용해보도록 해봐야겠다.