【问题标题】:How to update dapp contract如何更新 dapp 合约
【发布时间】:2016-07-16 21:59:27
【问题描述】:

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

【问题讨论】:

    标签: ethereum truffle consensys-truffle


    【解决方案1】:

    找到了很好的答案here

    来自axic in Ethereum Stack Exchange 网站:

    合约代码是不可变的,存储是可变的,但你不能 至少现在执行存放在存储中的代码。

    合约错误修正

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

    保留存储空间

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

    自毁后访问存储

    截至今天,即使在 自毁,但这肯定会在未来出现。有 几个 EIP 讨论这个问题。

    即使实施了修剪,也不应该立即发生,并且 您应该能够从最后一个状态读取存储。也是 计划让存档节点无限期地保持状态——不确定 这是可行的,没有限制,仅从增长来判断 区块链。

    在同一地址重新部署

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

    理论上有可能用不同的哈希值得到相同的哈希值 随机数和地址组合,但可能性很小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-02
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 2022-07-05
      • 2022-08-18
      • 1970-01-01
      • 2021-11-28
      相关资源
      最近更新 更多