一个容器是否在 Hyperledger 中运行一个链代码?什么时候停止链码?

Does one Container runs one chaincode in Hyperledger? When to stop the chaincode?

我对超级账本的流程有一些疑问。 什么时候启动容器?只有一个链码会在一个容器上设置并持有以进行交易?或者会设置很多chaincode? 容器将一直 运行 或有一些规定告诉何时停止 chaincode/container?

“Hyperledger”是 Linux 基金会指导下的协议规范。在 github 帐户中有 2 个实现:

  • 结构 (IBM)
  • 锯齿湖(英特尔)

您问题的答案取决于您感兴趣的实现。

在 Fabric 中,每个链代码都部署在单独的 Docker 容器中。当 Validation Peer 收到“部署”请求时,它会创建 docker 图像并立即启动容器。一旦容器启动,VP 就会执行链代码的“Init”方法。从这一刻起,链码就可以为传入的请求提供服务了。

Fabric 项目正在开发中,在当前版本中容器一直是 运行。稍后可以更改此行为。 如果您将尝试手动停止容器,它将在 VP 收到针对此特定链代码的“调用”或“查询”请求时再次重新启动。