简体   繁体   English

如何向以太币令牌所有者发送以太币?

[英]How to send ether to erc721 token owner?

I want to send ether to token owner. 我想将以太币发送给代币所有者。

ownerOf returns address, so I set payable address inside of sendEther function. ownerOf返回地址,因此我在sendEther函数中设置了应付地址。

However, error says 'Type address is not implicitly convertible to expected type address payable'. 但是,错误显示“类型地址不能隐式转换为预期的应付类型地址”。

Is there any way to set payable address inside function? 有什么方法可以在功能内部设置应付款地址? Could you give me any advise? 你能给我什么建议吗?

  function sendEther(uint256 _tokenId) public payable {
    address payable _tokenOwner = ownerOf(_tokenId);
    _tokenOwner.transfer(msg.value);
  }

ERC721.sol
    function ownerOf(uint256 tokenId) public view returns (address) {
        address owner = _tokenOwner[tokenId];
        return owner;
    }

您不能直接从addressaddress payable ,但是可以通过uint160分两步进行uint160

address payable _tokenOwner = address(uint160(ownerOf(_tokenId)));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM