이번주는 cryptozombies
lesson5
를 학습했다. lesson5
의 주제는 ERC721
이다.
이더리움 상에서의 토큰이란 기본적으로 몇몇 공통 규약을 따르는 스마트 컨트랙트이다. 즉, 다른 모든 토큰 컨트랙트가 사용하는 표준 함수 집합을 구현하는 것이다. 예를 들면, ERC20
토큰을 따라서 애플리케이션을 만든다면면 이 앱이 다른 어떤 ERC20
토큰과도 상호작용이 가능한 것이다.
ERC
스탠다드의 종류는 9가지이며 ERC20
은 표준 토큰이다. 여기서는 화폐처럼 사용하기 적절한 ERC20
대신 ERC721
토큰을 사용했다. 좀비는 화폐처럼 분할할 수 없고 각각의 좀비가 서로 다르기 때문이다. ERC721
은 대체 불가능하고 각각의 토큰이 유일하고 분할이 불가하기 때문에 이 방법이 좀비를 거래하기에는 가장 적절하다.
토큰 컨트랙트를 구현하기 위해 인터페이스를 솔리디티 파일로 따로 복사하여 저장하고 import했다. ERC721
토큰의 함수들과 이름이 겹치는 함수나 modifer들은 다른 이름으로 바꾸는 리팩토링을 하고 전송 로직을 사용하여 한 사람이 다른 사람에게 소유권을 넘기는 것을 구현했다.
일단은 하라는대로 따라서 구현하긴 했는데 사실 전송 로직을 완전히 이해하지는 못했다. 토큰을 보내는 사람이 함수를 호출하는 transfer
방식과 토큰을 받는 사람이 함수를 호출하는 takeOwnership
방식을 학습했는데 아마 다시 보면서 복습을 해야할 것 같다.
학습한 내용 :