如何更新 dapp 合约

Posted

技术标签:

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

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

【问题讨论】:

【参考方案1】:

找到了很好的答案here。

来自axic in Ethereum Stack Exchange 网站:

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

合约错误修正

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

保留存储空间

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

自毁后访问存储

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

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

在同一地址重新部署

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

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

【讨论】:

以上是关于如何更新 dapp 合约的主要内容,如果未能解决你的问题,请参考以下文章

如何在 DApp 前端中用 HTML 列出来自智能合约的一些数据

如何通过 Remix 将 Dapp 连接到 Metamask 并与部署在 Ropsten 上的智能合约进行交互

如何ETH以太坊智能合约做一个简单的DAPP

以太坊是什么,智能合约,编程语言:Solidity,DApp: 去中心化的应用程序,Truffle

DAPP应用场景

区块链DAPP智能合约系统开发