关于genesis block的基本概念

关于genesis block的基本概念

  1. 系统级别的genesis block
  • 每一个fabric instance都会有一个genesis block。
  • 这个genesis block在orderer启动之前必须创建好。
    -- 例如使用configtxgen工具从configtx.yaml配置生成。
configtxgen -profile OrdererOrgGenesis -outputBlock genesis.block
  • orderer启动的时候会用到它,或者
    -- 在orderer.yaml文件里面指定,或者
    -- 直接在环境变量中指定(ORDERER_GENERAL_GENESISFILE)
  • 这个genesis block其实就是系统channel testchainid的channel genesis block
    -- 我们可以通过peer channel fetch 0 testchainid.pb -c testchainid
    -- 生成的testchainid.pb和genesis block内容是一样的。
  1. Channel级别的genesis block
  • 每一个channel也有一个genesis block,这个genesis block就是Channel的第一个block。
  • channel的genesis block在instance启动之后,调用orderer的API创建,主要分两步:
1. 使用configtxgen工具从configtx.yaml生成配置
configtxgen -profile PeerOrgChannel \
            -outputCreateChannelTx {CHANNEL}-genesis.tx \
            -channelID {CHANNEL}

2. 发送命令给orderer创建channel
peer channel create -c {CHANNEL} \
                    -f {CHANNEL}-genesis.tx \
                    -o {ORDERERADDREEE} 

{CHANNEL}-genesis.tx的内容,我没有研究过,主要包含channel的很基本的信息,可以直接用文本编辑器打开,很多内容是可读的呢。

另外还有一点需要注意的是,genesis block文件不等价于只含一个genesis block的ledger文件;因为虽然ledger文件包含genesis block,但是ledger文件有自己的包装格式,对block进行了另外的包装,所以他们不是一样的文件内容。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Fabric 1.1关于solo模式下修改orderer地址的问题 修改orderer的流程 我们知道config...
    CodingCode阅读 4,944评论 1 0
  • 简介 此项目是一个模拟公民身份信息链的区块链项目 github 地址: https://github.com/ak...
    CrazyWolf_46a9阅读 12,830评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • 2018年1月3日,孕18周5天 昨晚大概是我这几天来最幸福的一晚,喉咙虽然还是不舒服,但是已经好很多很多了,关键...
    六月妈妈孕期记阅读 3,483评论 0 0
  • 姓名:陶金 公司:深圳保民利信息科技有限公司 【知-学习】 1、《六项精进》通遍1遍,共1遍 2、《大学》1遍,共...
    陶金保民利阅读 1,036评论 0 0

友情链接更多精彩内容