升级链码会删除存储在分类帐中的先前数据吗?

VVi*_*tor 1 hyperledger hyperledger-fabric

我正在学习Hyperledger Fabric。我尝试更新FabCar网络的链码。重新启动结构后,我看到存储在分类帐中的所有先前数据都丢失了。更新链码会导致以前的数据丢失吗?

Gar*_*ngh 5

结构将状态与链代码的版本/实例分开。这样就可以在不实际丢失状态的情况下更新您的链码逻辑。

为此,您需要执行链码升级事务(在此之前,您需要在每个对等方上安装升级的链码)。

我的猜测是,您发生问题是因为您实际上是在上下启动网络,修改了链码,然后又将其重新启动。在示例中,关闭网络通常是一种破坏性的行动…… docker-compose down实际上破坏了容器实例,这会擦除状态数据,除非您正在使用外部卷(示例网络不会这样做)。