Ethereum 对现有ERC20令牌下注

Ethereum 对现有ERC20令牌下注,ethereum,Ethereum,如何使现有的erc20运行,以防止某些持有人进行交易 我正在尝试做一个锁定功能。我可以写一份新合同来控制现有的erc20合同吗 如果您希望在合同本身内停止代币转让,则必须将影响代币持有人转让(或让一方代表持有人转让)能力的逻辑写入合同。因此,如果您已经部署了一个契约,那么您必须部署一个具有逻辑的新ERC20契约——如果您希望锁定机制位于同一个契约中。然后,您必须将余额从以前版本的合同转移到新部署的合同。虽然可能,但复制合同状态将产生天然气费用。您可以让您的代币持有人通过某种mint或recove

如何使现有的erc20运行,以防止某些持有人进行交易


我正在尝试做一个锁定功能。我可以写一份新合同来控制现有的erc20合同吗

如果您希望在合同本身内停止代币转让,则必须将影响代币持有人
转让
(或让一方
代表持有人转让
)能力的逻辑写入合同。因此,如果您已经部署了一个契约,那么您必须部署一个具有逻辑的新ERC20契约——如果您希望锁定机制位于同一个契约中。然后,您必须将余额从以前版本的合同转移到新部署的合同。虽然可能,但复制合同状态将产生天然气费用。您可以让您的代币持有人通过某种
mint
recover
功能来支付汽油费用,该功能将读取地址的旧合同余额,在新合同上创建余额,然后将余额标记为已转账

或者,对于您的第二个问题,您可以使用用户将在ERC20合同中设置余量的附加合同来促进立桩。然后,用户可以在这个新的赌注契约上与类似于
stake
的功能进行交互。下注合同将使用
transferFrom
ERC20功能,在下注合同中增加用户的下注代币金额后,将代币从所有者转移到下注合同的地址这将记录持有人的下注“信用”并将代币的所有权转移到赌注合同中,从而将代币捆绑起来。然后,用户可以
unstake
,这将减少用户下注的代币金额,并将代币从下注合同的地址转移回代币持有人的地址。这种方法有更多的可移动部分,但在开发机制时可能是更灵活的步骤,因为您可以部署新版本的立桩合同,而无需重新部署ERC20合同或转移余额。用户将能够像正常情况一样在多个版本的赌注合约中进行转移,并且从先前版本的赌注合约中提取代币将是高效的