我们正在进行安全令牌销售,并意识到我们可能需要“锁定”我们的令牌,而不是从一个人转到另一个人,而是从任何分散的交易所或其他交易所上市(这些令牌将是RegA,因此将能够被转移到非认可的投资者手中,但是它不能在不受监管的交易所(如Etherdelta)上市)。
我知道StartEngine为他们的项目提供了这段代码,但我们不支持他们。是否有人知道如何在我们的智能契约中实现此锁,或者有任何公开可用的示例?
提前谢谢。
发布于 2018-04-22 08:45:52
一般情况下,不能阻止交换。兑换只是一个人的任何其他帐户一样的帐户。但是,您可以将您标识为交易所的个人地址列入黑名单。这可以通过使令牌Ownable,然后将以下内容添加到令牌中来完成
mapping(address => bool) blacklisted;
function changeBlacklist(address recipient, bool status) onlyOwner {
blacklisted[recipient] = status;
}
modifier isNotBlacklisted(address recipient) {
require(!blacklisted[recipient]);
_;
}然后,您可以在transfer和transferFrom函数中使用该修饰符。我只想检查一下接收方,而不是令牌传输的起源,以便允许已添加到黑名单中并在早些时候已经有了一些令牌的交换,将它们转移到合法所有者,而不是永远锁定令牌。
https://ethereum.stackexchange.com/questions/46340
复制相似问题