用户发送的eth值msg.value,在合约中以wei为单位。

测试合约代码如下:部署后。调用payExists并支付1个eth。

contract Test{
    
    mapping (address => uint256) public tokenOwner;
  
  
   function payExists() public payable {
       tokenOwner[msg.sender] =msg.value;
   }

}

可以查询到实际存入的值是:1000000000000000 也就是1eth转换为了wei。实际上在我使用remix调用的时候,remix传递给这个payExists方法的就是1000000000000000。只不过方便使用界面给转换了一下。

猜你喜欢

转载自my.oschina.net/u/2601303/blog/1825236