我目前正在做一个试图为P2P能源交易开发货币和模型的项目,其中每千瓦时可再生能源产生一枚硬币给那个生产者。我的问题是关于在智能合约中摧毁硬币。
与我的项目类似的所有当前实施都没有适当的协议来销毁硬币,以防止其价值出现超级通缩。有些项目通过交易成本和丢失的钱包来破坏他们提出的能源货币,但我认为这还不够。这是因为如果越来越多的人开始采用该项目并使用他们的太阳能电池板和风电场来铸造大量硬币,能源币就可以以指数速率铸造。并且硬币将保持流通,代表过去几天/几周/几个月前产生(和使用)的能量。
我想建议您可以使用这些硬币支付公用事业的能源消耗,这最终会破坏那些确切的硬币,这是用消费者和能源公司商定的不变的智能合约写的。
我是计算机编码的新手,我不想假设一个人可以轻松地写一个聪明的合同来说破灭()指定数量的硬币。是否有可能做到这一点并让它发挥作用?我想我只需要第二个意见!
谢谢,
约翰
答案 0 :(得分:2)
虽然塞缪尔解决方案显然有效,但你永远无法记录有多少令牌被摧毁。 我会把用户花费的令牌和“刻录”它们,意味着将它们发送到一个永久锁定它们的0x地址。 通过这种方式,只需查看0x地址的余额,您就可以立即看到智能合约历史记录中刻录了多少令牌。
答案 1 :(得分:1)
我不想假设一个人可以轻松地在智能合约中写下destroy()指定数量的硬币。是否有可能做到这一点并使其有效?
是的,您可以为合同编写一个销毁令牌的方法。一种方法是从地址计数中删除X量的令牌,然后从总令牌供应中删除X量的令牌。
通过这种方法,您可以以优雅的方式有效地摧毁令牌。将令牌发送到“丢失的帐户”并不是一个好主意,因为您永远无法保证或证明没有人控制该帐户的私钥。
答案 2 :(得分:0)
您还可以保留目前不代表能量的所有代币,如果您不能发出它们,只需通过使用[this]减去它们来销毁它们