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

in #kr6 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개의 고유한 토큰이 할당이 된다. 두마리의 고양이를 교배시키면 또 새로운 가치를 가지는 고양이(토큰)이 발행이된다.

Sort:  

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

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

KittyBase <- KittyAccessControl

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

Coin Marketplace

STEEM 0.20
TRX 0.15
JST 0.030
BTC 65266.27
ETH 2639.14
USDT 1.00
SBD 2.84