Hyperledger Fabric 2.3 中的 Channel__lifecycle 数据库

Posted

技术标签:

【中文标题】Hyperledger Fabric 2.3 中的 Channel__lifecycle 数据库【英文标题】:Channel__lifecycle Database in Hyperledger Fabric 2.3 【发布时间】:2021-07-14 07:54:03 【问题描述】:

我在 CouchDB 上查看超级账本结构网络的 mychannel_lifecycle 数据库。 我有 1 个名为 mychaincode 的链码,它在 mychannel 上运行。

这个 channel_lifecycle 数据库有 5 个文档。

    _id:“命名空间/元数据/mychaincode” _id:命名空间/字段/mychaincode/ValidationInfo 命名空间/字段/mychaincode/序列 命名空间/字段/mychaincode/EndorsementInfo 命名空间/字段/mychaincode/Collections

我正在显示文档 5 的 JSON:


  "_id": "namespaces/fields/mychaincode/Collections",
  "_rev": "1-359fd70b2fa894367f8271c93da0123e",
  "~version": "CgMBBgA=",
  "_attachments": 
    "valueBytes": 
      "content_type": "application/octet-stream",
      "revpos": 1,
      "digest": "md5-v/PXRhXnQpiCnsKHFTVXLg==",
      "length": 2,
      "stub": true
    
  

你能帮我理解这个数据库保存了什么吗?这些文档是如何以及何时创建的? 这些文档何时更新或添加新文档? 摘要是如何以及从哪里来的?

【问题讨论】:

【参考方案1】:

_lifecycle 数据库是一个内部数据库,Fabric 使用它来跟踪部署到通道的每个链码定义版本。 _lifecycle 本身是作为每个通道上的系统链码实现的,这就是为什么您会在通道数据库集中看到它以及其他用户链码。

当数据存储为 CouchDB 二进制附件时,摘要只是一个 CouchDB 工件。 Fabric 将任何非 JSON 数据作为二进制附件存储在 CouchDB 中。

【讨论】:

以上是关于Hyperledger Fabric 2.3 中的 Channel__lifecycle 数据库的主要内容,如果未能解决你的问题,请参考以下文章

已解决Hyperledger Fabric 2.3创建通道失败问题Channel creation failed

Hyperledger Fabric学习笔记2——超级账本介绍

Hyperledger Fabric/Fabric-samples 安装及使用(Mac)

Hyperledger Fabric-身份

Hyperledger Fabric中的Identity

Hyperledger Fabric 端到端流程:devenv 中的 vagrant up 失败