我不想假设一个人可以轻松地在智能合约中写下destroy()指定数量的硬币。是否有可能做到这一点并让它发挥作用?
是的,您可以为合同编写一种方法来销毁令牌。一种方法是从地址计数中删除X量的令牌,然后从总令牌供应中删除X量的令牌。
通过这种方法,您可以以优雅的方式有效地摧毁令牌。将令牌发送到“丢失的帐户”并不是一个好主意,因为您永远无法保证或证明没有人控制该帐户的私钥。
您还可以保留当前不代表能量的所有令牌,如果您不能发出它们,只需通过使用[this]减去它们来销毁它们。
虽然撒母耳的解决方案显然有效,但你永远无法记录有多少令牌被摧毁。 我会把用户花费的令牌和 burn 取出来,这意味着将它们发送到一个永久锁定它们的0x地址。 通过这种方式,只需查看0x地址的余额,您就可以立即看到智能合约历史记录中刻录了多少令牌。