Lesson 5 Lesson 5 ERC721 トランスファーのロジック
所有権の移転
transfer(address _to, uint256 _tokenId)
ERC721規格は2つの異なるトークン移転法を持つ
approve(address _to, uint256 _tokenId) takeOwnership(uint256 _tokenId)
すると、コントラクトが誰がトークン受け取りを許可されたのかを通常はmapping (uint256 => address)にて記録する。
さらに誰かがtakeOwnershipを呼び出すと、コントラクトはそのmsg.senderがトークンを受け取ることを所有者から承認されているかをチェックし承認済みの場合は彼にトークンを移転)
ERC721のtransferとtakeOwnershipはどちらも同じ転送ロジックを含むため独自のプライベート関数 _transferに抽象化する。
ownerZombieCount[_to]++;
ownerZombieCount[_from]--;
zombieToOwner[_tokenId] = _to;
Transfer(_from, _to, _tokenId);
}
ERC721規格は、Transferイベントを含むのでこの関数の最終行で、適切な情報を渡してTransferイベントを起こす。
approve関数
関数を呼びたした人が、指定した相手アドレスに対して、関数を呼びたした人の残高から_value分のTokenを引き出すことを許可する関数
prev
-
クリプトゾンビLesson 5 Lesson 4 リファクタリング
Lesson 5 Lesson 4 リファクタリング(修正) ERC721トークン規格を使用するということは、ERC721に定義された名前の関数を他のコントラクトから予期されるということになる。 これ ...
next
-
クリプトゾンビLesson 5 capture 6 ERC721 トランスファーの続き
Lesson 5 capture 6 ERC721 トランスファーの続き パブリックのtransfer関数の実装 トークン(ゾンビ)所有者(msg.sender)だけが移転できるようする。 trans ...