-2

有什么方法可以防止智能合约中的代币从地址 A 转移到地址 B?假设它需要智能合约所有者的某种批准。假设它不是 ERC-20 代币。

4

1 回答 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 回答