Fabric SDK 创建客户端报错event service creation failed: could not get chConfig cache re

可爱的小莱 2021-03-16 05:44:31
创建客户端报错,报错如下:
2021/03/16 16:47:15 创建新的通道客户端失败: event service creation failed: could not get chConfig cache reference: QueryBlockConfig failed: QueryBlockConfig failed: queryChaincode failed: Transaction processing for endorser [peer0.org1.example.com:7051]: Endorser Client Status Code: (2) CONNECTION_FAILED. Description: dialing connection on target [peer0.org1.example.com:7051]: connection is in TRANSIENT_FAILURE

sdk连接配置文件

name: "test-network"
version: 1.0.0

client:

organization: Org1
logging:
level: info


cryptoconfig:
path: ./config/cert

credentialStore:
path: /tmp/shanyiou-store

cryptoStore:
path: /tmp/shanyiou-msp

BCCSP:
security:
enabled: true
default:
provider: "SW"
hashAlgorithm: "SHA2"
softVerify: true
level: 256

tlsCerts:
systemCertPool: false

client:
key:
path:
cert:
path:

channels:
mychannel:

peers:
peer0.org1.example.com:
endorsingPeer: true
chaincodeQuery: true
ledgerQuery: true
eventSource: true

policies:
queryChannelConfig:
minResponses: 1
maxTargets: 1
retryOpts:
attempts: 5
initialBackoff: 500ms
maxBackoff: 5s
backoffFactor: 2.0
discovery:
maxTargets: 2
retryOpts:
attempts: 4
initialBackoff: 500ms
maxBackoff: 5s
backoffFactor: 2.0
eventService:
resolverStrategy: PreferOrg
balancer: Random
blockHeightLagThreshold: 5
reconnectBlockHeightLagThreshold: 10
peerMonitorPeriod: 5s

organizations:
Org1:
mspid: Org1MSP
cryptoPath: peerOrganizations/org1.example.com/users/{userName}@org1.example.com/msp
peers:
- peer0.org1.example.com
users:
Admin:
key:
path: ./config/cert/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/b79a7bf4780dee0b268eebf0b6cbb9e5aa2850b031e796bf2f9ef645e0645c00_sk
cert:
path: ./config/cert/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/cert.pem

User1:
key:
path: ./config/cert/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/c81de741513bed57cef9e7ec686e7ff5044f3bb7cf10955935ae664aa6a47f7a_sk
cert:
path: ./config/cert/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/signcerts/cert.pem



orderers:
orderer.example.com:
url: grpcs://orderer.example.com:7050

grpcOptions:
ssl-target-name-override: orderer.example.com
keep-alive-time: 0s
keep-alive-timeout: 20s
keep-alive-permit: false
fail-fast: false
allow-insecure: false

tlsCACerts:
# path: ./fixtures/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem
path: ./config/cert/ordererOrganizations/example.com/msp/tlscacerts/tlsca.example.com-cert.pem

peers:
peer0.org1.example.com:
url: peer0.org1.example.com:7051
eventUrl: grpcs://peer0.org1.example.com:7053

grpcOptions:
ssl-target-name-override: peer0.org1.example.com
keep-alive-time: 0s
keep-alive-timeout: 20s
keep-alive-permit: false
fail-fast: false
allow-insecure: false

tlsCACerts:
path: ./config/cert/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem

entityMatchers:
peer:
- pattern: (\w*)peer0.org1.example.com(\w*)
urlSubstitutionExp: grpcs://peer0.org1.example.com:7051
eventUrlSubstitutionExp: grpcs://peer0.org1.example.com:7053
sslTargetOverrideUrlSubstitutionExp: peer0.org1.example.com
mappedHost: peer0.org1.example.com

orderer:
- pattern: (.*)
urlSubstitutionExp: grpcs://localhost:7050
sslTargetOverrideUrlSubstitutionExp: orderer.example.com
mappedHost: orderer.example.com





访问区块链概况go代码

package main

import (
// "fmt"
"log"
"os"

"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
"github.com/hyperledger/fabric-sdk-go/pkg/common/errors/retry"
"github.com/hyperledger/fabric-sdk-go/pkg/core/config"
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
)

const (
channelID = "mychannel"
chaincodeID = "esg"
orgID = "Org1"
userID = "Admin"
)

func main() {
configOpt := config.FromFile("./config/sdk-config.yaml")
sdk, err := fabsdk.New(configOpt)
if err != nil {
log.Fatalf("创建新的SDK失败: %v\n", err)
return
}
defer sdk.Close()
log.Printf("---> 创建SDK成功\n")

var options_user fabsdk.ContextOption
var options_org fabsdk.ContextOption

options_user = fabsdk.WithUser(userID)
options_org = fabsdk.WithOrg(orgID)

// fmt.Printf("%v\n", options_user)
// fmt.Printf("%v\n", options_org)
//clientChannelContext := sdk.ChannelContext(channelID, fabsdk.WithUser(userID), fabsdk.WithOrg(mspID))
clientChannelContext := sdk.ChannelContext(channelID, options_user, options_org)
client, err := channel.New(clientChannelContext)

if err != nil {
log.Fatalf("创建新的通道客户端失败: %v\n", err)
return
}
log.Printf("--> 创建新的通道客户端\n")

var response channel.Response
if len(os.Args) > 1 && os.Args[1] == "invoke" {
response, err = client.Execute(channel.Request{ChaincodeID: chaincodeID, Fcn: "invoke", Args: [][]byte{[]byte("a"), []byte("b"), []byte("10")}},
channel.WithRetry(retry.DefaultChannelOpts))
} else {
response, err = client.Query(channel.Request{ChaincodeID: chaincodeID, Fcn: "query", Args: [][]byte{[]byte("b")}},
channel.WithRetry(retry.DefaultChannelOpts))
}
if err != nil {
log.Fatalf("Failed to call client: %v\n", err)
return
}

log.Printf("Result=(%v)\n", string(response.Payload))
}

...全文
1365 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
小恶魔〣 2023-06-03
  • 打赏
  • 举报
回复

哥们,这个问题你解决了么?

qq_25735753 2022-08-17
  • 打赏
  • 举报
回复

请问问题解决了吗 我也是同样的错误

791

社区成员

发帖
与我相关
我的任务
社区描述
区块链技术专区
区块链 技术论坛(原bbs)
社区管理员
  • 区块链技术
  • ccc908
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧