首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hyperledger Fabric:升级链码时,现有事务会发生什么情况?

Hyperledger Fabric是一个开源的区块链平台,用于构建企业级的分布式应用程序。在Hyperledger Fabric中,链码是智能合约的实现,用于定义业务逻辑和状态转换规则。

当升级链码时,现有事务会发生以下情况:

  1. 链码版本升级:链码的升级是通过部署新版本的链码来实现的。新版本的链码可以包含修复bug、增加功能或改进性能等改动。升级链码时,现有事务将继续按照旧版本的链码逻辑进行处理,不会受到影响。
  2. 新事务的处理:升级链码后,新的事务将使用新版本的链码进行处理。这意味着新的事务将按照新版本链码的规则执行,可以享受到新版本链码带来的改进和优化。
  3. 旧事务的查询:升级链码后,旧版本的事务仍然存在于区块链中,可以通过查询操作获取旧事务的信息。但是,旧版本的链码逻辑将不再被执行,因此查询结果可能与升级后的链码逻辑有所不同。

总结起来,升级链码时,现有事务将继续按照旧版本的链码逻辑进行处理,不会受到影响。新的事务将使用新版本的链码进行处理,可以享受到新版本链码带来的改进和优化。旧版本的事务仍然存在于区块链中,可以通过查询操作获取旧事务的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

——HyperLeger Fabric智能合约(链码)

在Fabric中,智能合约也称为链码(chaincode),分为用户链码和系统链码。系统链码用来实现系统层面的功能,包括系统的配置,用户链码的部署、升级,用户交易的签名和验证策略等;用户链码用于实现用户的应用功能,开发者编写链码应用程序并将其部署到区块链网络上,终端用户通过与网络节点交互的客户端应用程序调用链码。 链码被编译成一个独立的应用程序,运行于隔离的Docker容器中,在链码部署的时候会自动生成链码的Docker镜像。 链码是访问账本的基本方法,一般是用Go等高级语言编写的、实现规定接口的代码。上层应用可以通过调用链码来初始化和管理账本的状态。只要有适当的权限,链码之间也可以互相调用。 链码(Chaincode)是一段由Go语言编写(支持其它编程语言,如Java,NodeJS)并能实现预定义接口的程序。链码运行在一个受保护的Docker容器当中,与背书节点的运行互相隔离。链码可通过客户端提交的交易对账本状态初始化并进行管理。 链码通常处理由网络中的成员一致认可的业务逻辑。链码创建的(账本)状态是与其它链码互相隔离的,因而不能被其它链码直接访问。如果在相同的Fabric网络中,链码在获取相应许可后可以调用其它链码来访问它的账本。 链码被部署在Fabric网络节点上,运行在Docker容器中,并通过gRPC协议与相应的Peer节点进行交互,以操作分布式账本中的数据。

00
领券