【发布时间】:2018-02-22 07:32:48
【问题描述】:
以太坊联系实例状态是否存储在区块链中? 并且当部署更新的合约时,如何将之前的实例状态恢复到新的联系人实例中?
【问题讨论】:
-
我知道合约存在于区块链中,但合约实例的状态在哪里?区块链是不可变的,但实例的状态可以改变。
标签: blockchain ethereum
以太坊联系实例状态是否存储在区块链中? 并且当部署更新的合约时,如何将之前的实例状态恢复到新的联系人实例中?
【问题讨论】:
标签: blockchain ethereum
查看this answer 以了解有关如何存储状态的信息。
将状态迁移到新版本的合同是开发人员的责任。如果您的合约的数据是紧密耦合的(位于同一个合约中),那么您必须手动提取数据并使用新版本进行部署。
更被接受的方式是为数据创建一个单独的合约,并将地址传递到负责执行业务逻辑的合约中。
【讨论】: