当我使用映射存储数据时,如果我不知道密钥(_secretToken),我将无法在我的 dapp 中获取数据。
contract Register {
mapping(bytes => bool) private myHiddenToken;
function register(bytes calldata _secretToken) public {
myHiddenToken[_secretToken] = true;
}
function checkAccess(bytes calldata _secretToken) public returns(bool access) {
access = myHiddenToken[_secretToken];
}
}
如果合约没有提供 map 的对象键列表,你是拿不到的。
映射是存储隐藏数据的好方法还是有更好的选择?