Lesson 5 capture 7 ERC721 Approveでのトークン移転
Approveでのトークン移転の流れ。
すると、コントラクトが誰がトークン受け取りを許可されたのかを通常はmapping (uint256 => address)にて記録する。
さらに誰かがtakeOwnershipを呼び出すと、コントラクトはそのmsg.senderがトークンを受け取ることを所有者から承認されているかをチェックし承認済みの場合は彼にトークンを移転)
処理
新たな所有者がtakeOwnership関数を_tokenIdで呼び出すと、コントラクトは彼が承認済みの新たな所有者であるかを確認してから、相手にトークンを移転する。
このページは、トークン所有者がapprove関数を呼び出し、それに新たな所有者のaddressと相手に送る_tokenIdの情報を与える処理を記載している。
mapping (uint => address) zombieApprovals;
//トークン所有者か確認し、mappinngにトークンの移転先アドレスを設定する。
function approve(address _to, uint256 _tokenId) public onlyOwnerOf(_tokenId) {
zombieApprovals[_tokenId] = _to;
Approval(msg.sender, _to, _tokenId);
}
prev
-
クリプトゾンビLesson 5 capture 6 ERC721 トランスファーの続き
Lesson 5 capture 6 ERC721 トランスファーの続き パブリックのtransfer関数の実装 トークン(ゾンビ)所有者(msg.sender)だけが移転できるようする。 trans ...
next
-
クリプトゾンビLesson 5 capture 8 ERC721 takeOwnership
Lesson 5 capture 8 ERC721 takeOwnership takeOwnershipは、msg.senderがそのトークン/ゾンビを受け取ることを承認されているか確認し、承認され ...