3

我目前正在做一个项目,试图为 P2P 能源交易开发一种货币和模型,其中每千瓦时的可再生能源产生一个硬币给那个生产者。我的问题是关于销毁智能合约中的硬币。

与我的项目类似的所有当前实现都没有适当的协议来销毁旨在防止其价值过度通缩的硬币。一些项目通过交易成本和丢失钱包破坏了他们提议的能源货币,但我认为这还不够。这是因为如果越来越多的人开始采用该项目并使用他们的太阳能电池板和风电场来铸造大量硬币,能源硬币可以以指数速度铸造。代币将继续流通,代表过去几天/几周/几个月前产生(和使用)的能量。

我想建议你可以使用这些硬币来支付公用事业的能源消耗,这最终将销毁那些确切的硬币,这些硬币写在消费者和能源公司将同意的不可变智能合约中。

我是计算机编码的新手,我不想假设人们可以轻松地在智能合约中写出销毁()指定数量的硬币。是否有可能做到这一点并使其发挥作用?我想我只需要第二个意见!

谢谢,

约翰

4

3 回答 3

3

虽然 Samuel 解决方案显然有效,但您永远无法跟踪销毁了多少代币。相反,我会将用户花费的代币“烧掉”,这意味着将它们发送到永久锁定它们的 0x 地址。这样,只需查看 0x 地址的余额,您就可以立即看到在您的智能合约历史中销毁了多少代币。

于 2018-04-13T08:25:11.200 回答
1

我不想假设人们可以很容易地在智能合约中写出destroy() 指定数量的硬币。是否有可能做到这一点并使其发挥作用?

是的,你可以为你的合约编写一个销毁代币的方法。一种方法是从地址计数中删除 X 数量的代币,然后从总代币供应中删除 X 数量的代币。

使用这种方法,您可以以一种优雅的方式有效地销毁令牌。将令牌发送到“丢失的帐户”不是一个好主意,因为您永远无法保证或证明没有人控制该帐户的私钥。

于 2017-03-14T18:15:21.243 回答
0

你也可以在你的合约中保留所有当前不代表能量的代币,如果你不能发行它们,只需使用 [this] 减去它们来销毁它们

于 2017-03-14T19:58:04.347 回答