크립토키티 소스 분석...1

in kr •  7 years ago  (edited)

얼마나 글을 주기적으로 쓸 수 있을 지 모르겠지만 거의 메모용과 공유용으로 남기는 목적이 크다.

2017년 하반기에 나온 크립토키는 많이 사용할때는 전체 이더리움 트랜젝션의 13%정도를 차지했다고 하니 얼마나 많이 사용했는지 알 수 있다.
코드는 etherscan에서 verify가되어 있어서 공부하기에도 좋다.
contract는 좀 많은데 종속관계는 다음과 같다.

KittyCore <- KittyMinting <- KittyAuction <- KittyBreeding <- KittyBase, ERC721

KittyBase <- KittyAccessControl

코드길이는 주석포함해서 약 2000여줄로 여기를 보면 실제 deploy한 내용을 볼 수 있다.

크립토키티 때문에 유명해진(?) ERC721 토큰이 있다. Non-Fungible Token (한국어로 뭔지 모르겠다..)대체불가능한? 불가변한?
기존에 많이 ICO등에서 많이 발행하는 토큰은 ERC20토큰인데 이건 화폐의 개념에 더 가깝다.
즉, 어떠한 물건이 5 token이면 5개의 가치를 가지고..10 token이면 그 같은 물건의 두 배의 가치를 가지고..그리고 교환하고...

ERC20은 완전 화폐로서 사용하는 토큰이지만, ERC721토큰은 그러한 가치의 척도가 아니라 meta data를 포함하는 ERC721 토큰은 1개의 토큰이 그 고유한 가치가 있다.
다른 ERC721 토큰과 다른 가치를 가진다. 즉, 크립토키티에서처럼 내 고양이 토큰 A의 가치와 다른 사람이 가지고 있는 고양이 토큰 B와는 전혀 다른 가치를 가진다. 한 고양이당 1개의 고유한 토큰이 할당이 된다. 두마리의 고양이를 교배시키면 또 새로운 가치를 가지는 고양이(토큰)이 발행이된다.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

하나 빼먹은 컨트랙트가 있는데 글이 7일이 지나 수정이 안되서 댓글로..

KittyCore <- KittyMinting <- KittyAuction <- KittyBreeding <- KittyOwnership <- KittyBase, ERC721

KittyBase <- KittyAccessControl

저런 구조입니다. KittyOwnership을 빠뜨렸네요.