如何检查hyperledger-fabric中的区块链高度

时间:2017-07-18 17:00:55

标签: hyperledger hyperledger-fabric

我正在使用hyperledger-fabric v.1.0 - 实际上是一个新手。如何检查链条高度?是否有一个命令或者我可以使用的东西"问"关于区块链高度?提前谢谢。

5 个答案:

答案 0 :(得分:6)

嗯,您可以选择如何做到这一点:

  1. 您可以通过运行

    利用peer cli命令行工具获取最新的可用块
    peer channel fetch newest -o ordererIP:7050 -c mychannel  last.block
    
  2. 接下来,您可以利用configtxlator解码块的内容,如下所示:

    curl -X POST --data-binary @last.block http://localhost:7059/protolator/decode/common.Block
    

    (请注意,您需要先configtxlator开始)

    1. 替代路径假定您将使用一个可用的SDK来使用GetChainInfo命令调用QSCC(查询系统链代码)。这将返回以下结构:

      type BlockchainInfo struct {
           Height            uint64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
           CurrentBlockHash  []byte `protobuf:"bytes,2,opt,name=currentBlockHash,proto3" json:"currentBlockHash,omitempty"`
           PreviousBlockHash []byte `protobuf:"bytes,3,opt,name=previousBlockHash,proto3" json:"previousBlockHash,omitempty"`
      }
      
    2. 其中包含有关当前分类帐高度的信息。

答案 1 :(得分:3)

另一种选择。 使用cli peer命令行(例如docker exec -it cli bash),您可以执行以下操作:

peer channel getinfo -c mychannel

答案 2 :(得分:0)

似乎我找到了一些东西 - 可能很麻烦,但总比没有好:

命令:

docker logs -f peer0.org1.example.com 2>&1 | grep blockNo

检查输出中的“最新”行,如:

  

2017-07-18 19:40:39.586 UTC [historyleveldb]提交 - > DEBU b75b频道[mychannel]:更新提交给blockNo的历史数据库[34]

所以,如果我没有错,在这种情况下,块高度是:34

由于

答案 3 :(得分:0)

你可以使用blockchain-explorer(UI工具) disabled prop

答案 4 :(得分:-1)

您还应该能够使用结构CORE API(JSON / REST)。

请参阅Blockchain GET / chain操作的文档;

https://github.com/hyperledger-archives/fabric/blob/master/docs/API/CoreAPI.md#rest-api