【发布时间】:2018-07-14 07:46:39
【问题描述】:
我是来问我关于 Solidity 代码的问题。
这是简单的示例代码。合同“地图”有一个映射数据。它有每个地址的 T/F 值。我创建了一个帐户X 并将其添加到'simpleMap'。
通过'Map'合约合约'Ask'查找映射数据。当X 调用askMe() 时我预期的结果是TRUE 但它始终是FALSE。
当我调用whoIsMsgSender 时,它会返回准确的X 帐户。有什么问题??
pragma solidity ^0.4.24;
contract Map {
mapping (address => bool) simpleMap;
function add(address _address) external {
simpleMap[_address] = true;
}
function isTrue(address _address) external view returns (bool _ret) {
return simpleMap[_address];
}
}
contract Ask {
Map public map = Map(Map's address like 0x~~ just for test);
function askMe() external view returns (bool _ret) {
return map.isTrue(msg.sender);
}
function whoIsMsgSender() external view returns (address _address) {
return msg.sender;
}
}
【问题讨论】: