【问题标题】:Determine Peer type in Hyperledger network确定 Hyperledger 网络中的 Peer 类型
【发布时间】:2017-11-01 00:10:21
【问题描述】:

如果我的业务网络有 4 个 peer 加入一个通道,如何确定哪个 peer 接受了交易提议,哪个 peer 背书了交易,以及哪个 peer 将交易负载提交到状态数据库?

【问题讨论】:

    标签: hyperledger-fabric hyperledger


    【解决方案1】:

    所有对等方在处理事务后要么接受要么拒绝。 您可以通过订阅事件并接收交易状态的更新来知道它是否被接受。

    为交易背书的节点,将他们的 SerializedIdentity 放入背书。因此,要知道哪些对等方认可了一个给定的交易,您需要使用类似于以下代码的代码来深入研究该交易:

    var block common.Block
    data := block.Data.Data
    env, err := utils.GetEnvelopeFromBlock(envBytes)
    payload, err := utils.GetPayload(env)
    tx, err := utils.GetTransaction(payload.Data)
    ccActionPayload, err := utils.GetChaincodeActionPayload(tx.Actions[0].Payload)
    endorsements := ccActionPayload.Action.Endorsements
    var endorsers []*peer.Endorser
    for _, e := range endorsements {
        endorsers = append(endorsers, e.Endorser)
    } 
    

    【讨论】:

    • 但据我了解,并不是所有的梨都支持这笔交易。对等节点的子集是背书者,并且被背书的交易最终作为新块的一部分添加到通道分类帐中,并添加到每个梨上的所有分类帐副本中。另一方面,并​​非所有对等点都是通勤者,只有一部分对等点会将资产提交到状态数据库。我说的对吗?
    • 所有加入频道的节点都是该频道的提交者。
    猜你喜欢
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    相关资源
    最近更新 更多