CryptoZombiesのコードを解説します。コントラクトの関係全体を見たい方はこちらへ。
contract ERC721
非代替性をもつトークンについてのコントラクトの規格です。この規格(プログラム的には関数群と各関数に実装すべき処理の要請)に沿って、ZombiesOwnershipを実装します。
関連するレッスン、チャプター
ソースコード・解説
contract ERC721 {
// トークン(ここではゾンビ)の交換がされたときに発火するイベント
event Transfer(address indexed _from, address indexed _to, uint256 _tokenId);
// トークンの受け取り許可がされたときに発生するイベント
event Approval(address indexed _owner, address indexed _approved, uint256 _tokenId);
// _ownerが持っているトークンの残高を返す。今回はゾンビの保有数を返している。
function balanceOf(address _owner) public view returns (uint256 _balance);
// トークンIDから、そのトークンの所有者のEthereumアカウントIDを返す。
function ownerOf(uint256 _tokenId) public view returns (address _owner);
// この関数を呼んだアカウント(msg.sender)から、_to あてに _tokenIdで示したトークンを送付する。
function transfer(address _to, uint256 _tokenId) public;
// この関数を呼んだアカウント(msg.sender)が、_toに対して_tokenIdの受け取りを許可する。
function approve(address _to, uint256 _tokenId) public;
// もしapproveにより受け取り許可がされていたら、msg.senderが、_tokenIdのトークンの所有権を取得する。
function takeOwnership(uint256 _tokenId) public;
}