aro*_*ire 10
大答案找到这里.
合同代码是不可变的,存储是可变的,但是你不能执行存储到存储中的代码,至少目前是这样.
合同的错误修正
至于错误修正,常见的模式是让代理或查找合同成为真实网关的网关,如果发生更改或错误修复,将被替换.替换它也意味着丢失旧的存储内容.
保持存储
如果您希望能够在保持存储的同时升级代码,则可以考虑分离存储和逻辑.有一个专用的存储契约,它接受来自可信地址的写入调用(例如逻辑契约).所有重要的存储都应与此相关联.
自毁后访问存储
截至今天,即使在自我破坏的情况下也没有实施真正的修剪,但这肯定会在未来出现.有几个EIP正在讨论这个问题.
即使实现了修剪,它也不应该在瞬间发生,您应该能够从最后一个状态读取存储.它还计划使归档节点无限期地保持状态 - 不仅仅通过判断区块链的增长而不确定是否可行而没有限制.
在同一地址重新部署
简而言之:实际上这是不可能的.合同地址是从发件人和现时计算的.nonce是顺序的,没有任何间隙,也不会有重复.
理论上,可以使用不同的随机数和地址组合来获得相同的散列,但可能性很小.
| 归档时间: |
|
| 查看次数: |
3086 次 |
| 最近记录: |