有什么方法可以防止智能合约中的代币从地址 A 转移到地址 B?假设它需要智能合约所有者的某种批准。假设它不是 ERC-20 代币。
问问题
557 次
1 回答
0
有很多方法可以在您的代码逻辑中实现这种限制。
例如,您可以创建一个只有智能合约所有者才能添加条目的地址的映射。(使用onlyOwner 修饰符)。然后实现一个 require 函数,仅当地址在映射中时才允许传输。
mapping (address=>bool) addr_mapping;
function transferToken(address sender, address receiver) public{
require(addr_mapping[sender] == true, "Sender not in mapping");
require(addr_mapping[receiver] == true, "Receiver not in mapping");
...
}
function addToMapping(address addr) onlyOwner {
...
}
PS。不确定是否可以进行布尔比较,但您可以创建自己的标志。
于 2019-11-25T14:42:20.600 回答