이더리움의 경우, 컨트랙트 라이브러리로 openzeppelin이 있다.
클레이튼의 경우, 이더리움의 포크판 네트워크라고 할지라도 버전이 너무 오래된 시기에 포크를 뜬 것도 있고 카카오가 별도로 개발한 컨트랙트 표준이 있다.
그것이 KIP이다.
이더리움의 ERC 표준 컨트랙트의 라이브러리인 openzeppelin.
클레이튼의 KIP 표준 컨트랙트의 라이브러리인 caver-js가 있다.
사용 방법은 openzeppelin과 다르지 않지만 소스의 구현 자체가 다르기 때문에 사용에 주의를 해야 한다.
2021.12.20일 기준으로 최신 버전은 1.6.5이다.
ERC20 -> KIP7
ERC721 -> KIP17
ERC1155 -> KIP37
으로 토큰은 구성되어있다.
ERC와 가장 큰 차이점은 ERC는 각각 컨트랙트가 모든 참조를 하지 않고 사용자가 필요한 기능만 넣어 컨트랙트를 제작할 수 있다.
하지만 KIP는 KIP17full과 같이 모든 기능을 넣은 컨트랙트를 배포하여 컨트랙트를 전혀 모르더라도 간편하게 토큰을 배포할 수 있도록 한다.
ERC20으로 timeLock기능을 구현해본 경험이 있지만 이것이 그대로 클레이튼에서 구동될지는 모르겠다.
클레이튼은 etherscan처럼 컨트랙트 소스를 누구에게나 공개하고 함수를 테스트할 수 있도록 툴을 제공하지 않는다.
다음 글에서는 KIP7, 17, 37 순서로 각 컨트랙트의 구조와 상속 구조, 가능한 기능들에 대해서 살펴볼 예정이다.
댓글