好问题感谢@Shubham Chadokar
需要包含频道策略信息的Channel.tx
在加入时,我们需要包含网络配置的最新块,以便将节点加入通道。
查看以下详细信息
声明1:
mychannel.tx 是通道中的创世块和任何节点
想加入频道需要这个。
回答
注意:mychannel.tx is not the genesis block
我想强调 genesis.block mychannel.tx
之间的区别
ordering 系统频道:orderer 维护着所有允许创建频道的组织的长列表。这个组织列表被称为“联盟”,列表本身保存在“orderer系统通道”的配置中。
现在有趣的部分是 mychannel.tx
- mychannel.tx 是一个二进制文件
- 可以使用 protolator 解码此文件
命令:
Step1:GOTO fabricsamples/bin ./configtxlator start
Step2:转到 mychannel.tx 文件位置,然后发出以下命令
curl -X POST --data-binary @mychannel.tx
http://127.0.0.1:7059/protolator/decode/common.Envelope >
我的频道.json
由configtxgen工具生成的common.Envelope文件mychannel.tx的解码结果包含一个common.ConfigUpdate对象。此对象在“payload.data”JSON 对象中具有名称“config_update”。
这是用于创建新频道的模板源所需的对象。 common.ConfigUpdate 是所有组织都会签名并提交给 orderer 以创建新通道的对象。
mychannel.tx 包含 mychannel 的读/写集
结果:
{ "channel_id": "mychannel", "read_set": {
“组”:{
“应用”: {
“组”:{
“Org1MSP”:{}
}
}
},
“价值观”:{
“财团”:{
“价值”: {
“名称”:“样本联盟”
}
}
} }, "write_set": {
“组”:{
“应用”: {
“组”:{
“Org1MSP”:{}
},
"mod_policy": "管理员",
“政策”:{
“管理员”:{
“政策”: {
“类型”:3,
“价值”: {
“规则”:“多数”,
“sub_policy”:“管理员”
}
}
},
“读者”:{
“政策”: {
“类型”:3,
“价值”: {
“sub_policy”:“读者”
}
}
},
“作家”:{
“政策”: {
“类型”:3,
“价值”: {
“sub_policy”:“作家”
}
}
}
},
“版本”:“1”
}
},
“价值观”:{
“财团”:{
“价值”: {
“名称”:“样本联盟”
}
}
} } }
我对 genesis.block 做了同样的事情,检查这个
http://ideone.com/L1hcRX 包含 genesis.block 为 json 格式
其中包含所有网络信息。
声明 2:
完整的教程一旦创建了 orderer genesis 块,它就从未使用过。除了通道账本之外,还有其他区块链吗?
回答
我希望您现在已经获得了足够的信息。创世块的主要目的是网络配置,一旦网络启动并运行,我们将不会再次使用,除非您加入包含订购者的新组织,您可以使用旧的 genesis.block 稍后它将从其他订购者获取最新配置。
这个排序者创世块是否需要系统通道?
是的