Kip17과 erc721 선호도

클레이튼NFT를 개발할때 대부분 ERC721을 쓰는것같은데
KIP17과 ERC721중에 어느것을 더 선호하는지와 이유는 무엇인지 궁금합니다

일단 사전에 erc721을 이용한 개발경험이 없으시다면 KIP17 표준을 따르시기를 권유드립니다.

이는, contract 와 상호작용하는 bapp 개발을 위한 SDK에서 표준화 된 방식으로 호출할수 있도록 편의를 제공해 주는 부분이 있어서, 유용하다고 생각합니다.

다만, 이더리움 기반 개발경험이 있으시고, 기존에 익숙하신 버젼의 solidity compiler 를 이용하신다면, erc721을 사용하시는 방법이 편리하시지 않을까 생각됩니다.

감사합니다 그런데 KIP17이 ERC721보다 자료가 많이 없어 ERC721 컨트랙을 보면서 KIP17로 수정하는 방식으로 공부하고 있는데 맞는 방법일까요? 개발경험은 거의 없다고 보시면 됩니다.
그리고 KIP17로된 강의나 좋은 예제가 있을까요?

KIP17과 ERC721의 실제적인 차이점은 거의 없다고 보시는게 좋을것 같아요. 어떻게 상속받는 하위 abstract contract들을 구성했느냐와 solidity 의 버젼 차이 정도로 보시면 됩니다.

이때문에 공부를 위해서는 개발환경을 신경쓰셔야 하는데요.

node-js와 caver-js를 통해 제공되는 API를 활용해 NFT를 발행, (이 경우 node-js를 활용한 javascript 개발 공부만 진행) 또는 solidity 공부도 겸해서, Truffle과 caver-js, node-js 등을 이용해 좀더 자동화된 스크립트 형식으로 개발환경 구축 후 공부하시려면 KIP17을 추천합니다.

일단 깃허브 소스를 다운받아서 빠른시간안에 개발환경 구축이 가능하세요.

만약 최신 버젼의 solidity 언어를 공부 해보셔서 다른 체인에서도 개발하는 경험을 쌓고 싶으시다면 ERC721를 이용해서 공부하시는 방법도 있습니다. 다양한 라이브러리 컨트랙트를 활용해, high-level 코드 개발에도 유용하고요. 다만 이는, 개발환경 구축을 하시는데는 좀 어려움이 있으실꺼에요.
대부분 최신버젼과의 호환성 문제인데, 이와 관련된 호환성 패치는 코어개발팀에서 현재 진행중이라, 패치가 완료되면 개선될 문제이기는 합니다.

후자의 경우 호환성문제때문에 머리아프지 않게 컨트랙트 공부하는 방법은 https://ide.klaytn.com 을 이용하는 것인데요, 최신 solidity 컴파일러 버전을 이용해 컨트랙트 개발을 공부하시고 싶으시면 이 방법을 추천드려요.

결국 solidity 소스 자체를 기능별로 동일하게 정렬시켜놓고 양쪽에 펼쳐서 비교해보시면 큰 차이가 없으실꺼라, 둘다 시도해보시고 개발환경 구축을 먼저 성공하시는 쪽으로 시작해보시는 것이 좋습니다.
다만 개인적으로 KIP17 이 기능별로 소스코드를 분류해서 대부분 상속시켜서 기능추가 하는 형태로 세분화가 잘되어있어서 KIP17이 조금 더 공부하기에는 편했습니다.

답변이 도움 되셨길 바랍니다.
감사합니다.

1개의 좋아요