如何更新dapp合同



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

在这里找到了很好的答案。

来自以太坊堆栈交换站点中的axic:

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

合同的错误修复

至于错误修复,常见的模式是使用代理或查找合同是通往真实世界的门户,在发生变化的情况下否则错误修复程序将被替换。更换它也意味着失去旧的存储内容。

保持存储

如果您希望能够在保留存储的同时升级代码可以考虑将存储和逻辑分离。拥有专用存储空间合约,它接受来自受信任地址的写调用(例如逻辑契约)。所有重要的存储都应与此关联一

自毁后访问存储

截至目前,即使在自毁,但这肯定会在未来发生。有几个EIP对此进行了讨论。

即使实施了修剪,也不应该在瞬间发生您应该能够从上一个状态读取存储。它也是计划让归档节点无限期地保持状态--不确定只要从区块链。

在同一地址重新部署

简而言之:实际上这是不可能的。合同地址为根据发送者和随机数计算。随机数是顺序的,不可能有任何间隙,也不可能有重复。

理论上,用不同的散列可以得到相同的散列nonce和地址组合,但可能性很小。

最新更新