如何更新dapp合约

时间:2016-03-29 11:15:21

标签: ethereum truffle consensys-truffle

如何更新部署在Truffle区块链中的Ethereum dapp的智能合约?

1 个答案:

答案 0 :(得分:10)

很好的回答here

来自axic网站的Ethereum Stack Exchange

  

合同代码是不可变的,存储是可变的,但你不能   执行放入存储的代码,至少目前是这样。

     

合同错误修正

     

至于错误修正,常见的模式是代理或查找   合同成为真实的门户,如果发生变化   或者bugfix将被替换。更换它也意味着失去旧的   存储内容。

     

保存

     

如果您希望能够升级代码,同时保留存储空间,那么就是您   可以想到分离存储和逻辑。有专门的存储空间   contract,接受来自可信地址的写入调用(例如   逻辑合同)。所有重要的存储都应与此相关联   之一。

     

自行修改后访问存储空间

     

截至今天,即使在这种情况下也没有实施真正的修剪   自我毁灭,但这肯定会在未来出现。有   几个EIP正在讨论这个问题。

     

即使实施了修剪,也不应该立即进行修剪   你应该能够从上一个状态读取存储空间。也是   计划让归档节点无限期地保持状态 - 不确定   这是可行的,不受限制只是通过判断增长   区块链。

     

在同一地址重新部署

     

简而言之:实际上这是不可能的。合同地址是   根据发件人和现时计算。随机数是连续的,   没有任何差距,也不会有重复。

     

理论上,可以使用不同的哈希值来获得相同的哈希值   nonce和地址组合,但可能性很小。