登录
首页 >  Golang >  Go问答

Fabric-sdk-go 错误:没有可连接的对等点

来源:stackoverflow

时间:2024-04-09 23:00:34 336浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《Fabric-sdk-go 错误:没有可连接的对等点》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

我们使用基于 fabric 1.2 的 ibm 托管区块链,并使用 go sdk @5e291d3a34f59beb9a8ae2bcbba388515648dc73。当我们尝试调用在对等节点上安装的链代码时,我们收到“没有可连接的对等节点”错误:

[fabsdk/fab] 2019/01/25 12:25:57 utc - dispatcher.(*dispatcher).start.func1 -> debu listening for events...
[fabsdk/fab] 2019/01/25 12:25:57 utc - client.(*client).connect -> debu ... got error in connection response: no peers to connect to
[fabsdk/common] 2019/01/25 12:25:57 utc - retry.(*retryableinvoker).invoke -> debu failed with err [error registering for txstatus event: no peers to connect to] on attempt #1. checking if retry is warranted...
[fabsdk/util] 2019/01/25 12:25:57 utc - lazyref.(*reference).settimerrunning -> debu timer started
[fabsdk/common] 2019/01/25 12:25:57 utc - retry.(*retryableinvoker).invoke -> debu ... retry for err [error registering for txstatus event: no peers to connect to] is not warranted after 1 attempt(s).
[fabsdk/util] 2019/01/25 12:25:57 utc - lazyref.checktimestarted -> debu starting timer

在添加我们自己的一些额外日志记录后,看起来失败的发生是因为对等发现服务(https://github.com/hyperledger/fabric-sdk-go/blob/master/pkg/client/common/discovery /dynamicdiscovery/chservice.go#l72) 不会在其响应中返回任何对等点。目标似乎设置正确。

转储 grpc 响应后,我们得到

(*discovery.response)(0xc4205cd600)(
results: <
    members: <
        peers_by_org: <
            key: "org1" 
            value: <> 
        > 
    >
> 
)

我们还使用相同的链代码自行设置了不同的结构网络,该网络可以正常工作,并且相同的转储显示了这一点(某些部分已被编辑):

(*discovery.Response)(0xc42045ed20)(
results: <
    members: <
        peers_by_org: <
            key: "Org1MSP" 
            value: <
                peers: <
                    state_info: <
                        payload:""
                    >
                    membership_info: " > 
                    identity:"" 
                >
                peers: <
                    state_info: <
                        payload:"" 
                        signature:"" 
                    > 
                    membership_info: <
                        payload:"" 
                        signature:"" 
                    > 
                    identity:""
                >
            >
        > 
        peers_by_org: <
            key:"Org2MSP"
            value: <
                peers: <
                    state_info:<
                        payload:"" 
                        signature:"" 
                    > 
                    membership_info: <
                        payload:"" 
                    > 
                    identity:"" 
                > 
                peers: <
                    state_info: <
                        payload:"" 
                        signature:"" 
                    > 
                    membership_info: < 
                        payload:"" 
                        signature:"" 
                    > 
                    identity:"" 
                > 
            > 
        > 
    > 
>
)

我不确定问题是否出在 sdk 或 ibm 托管结构网络的配置中。如果是 ibm 网络,那么同行似乎不知道自己是某个组织的成员。

以前有人见过这种行为吗? 我在hyperledger官方火箭聊天中搜索了“没有可连接的节点”错误,出现了一些结果,但它们似乎是由其他原因引起的,例如节点被sdk排除,而不是由于响应发现请求。


解决方案


  1. 确保您在频道中配置了锚点。

  2. 确保对等方已配置外部端点,即 - (CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051)

理论要掌握,实操不能落!以上关于《Fabric-sdk-go 错误:没有可连接的对等点》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>