主頁 > 區塊鏈 > Fabric SDK 創建客戶端報錯event service creation failed: could not get chConfig cache re

Fabric SDK 創建客戶端報錯event service creation failed: could not get chConfig cache re

2021-03-17 02:21:04 區塊鏈

創建客戶端報錯,報錯如下:
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/[email protected]/msp/keystore/b79a7bf4780dee0b268eebf0b6cbb9e5aa2850b031e796bf2f9ef645e0645c00_sk
        cert: 
          path: ./config/cert/peerOrganizations/org1.example.com/users/[email protected]/msp/signcerts/cert.pem
            
      User1:
        key:
          path: ./config/cert/peerOrganizations/org1.example.com/users/[email protected]/msp/keystore/c81de741513bed57cef9e7ec686e7ff5044f3bb7cf10955935ae664aa6a47f7a_sk
        cert: 
          path: ./config/cert/peerOrganizations/org1.example.com/users/[email protected]/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))
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/268546.html

標籤:區塊鏈技術

上一篇:陳少鋒:在BTC空頭不斷爆發情況下,怎么實作盈利。

下一篇:陳少鋒:BTC在多空焦灼情況下,什么時候進場最好!

標籤雲
其他(123570) Java(13369) Python(12731) C(7544) 區塊鏈(7372) JavaScript(7059) 基礎類(6313) AI(6244) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4120) MySQL(4012) Linux(3394) C語言(3288) C++語言(3117) Java相關(2746) 疑難問題(2699) 單片機工控(2479) Web開發(1951) 網絡通信(1793) 數據庫相關(1767) VB基礎類(1755) PHP(1727) 開發(1646) 系統維護與使用區(1617) .NETCore(1586) 基礎和管理(1579) JavaEE(1566) C++(1527) 專題技術討論區(1515) Windows客戶端使用(1484) HtmlCss(1466) ASP.NET(1428) Unity3D(1354) VCL組件開發及應用(1353) HTML(CSS)(1220) 其他技術討論專區(1200) WindowsServer(1192) .NET技术(1165) 交換及路由技術(1149) 語言基礎算法系統設計(1133) WindowsSDKAPI(1124) 界面(1088) JavaSE(1075) Qt(1074) VBA(1048) 新手樂園(1016) 其他開發語言(947) Go(907) HTML5(901) 新技術前沿(898) 硬件設計(872) 區塊鏈技術(860) 網絡編程(857) 非技術版(846) 一般軟件使用(839) 網絡協議與配置(835) Eclipse(790) Spark(750) 下載資源懸賞專區(743)

熱門瀏覽
  • JAVA使用 web3j 進行token轉賬

    最近新學習了下區塊鏈這方面的知識,所學不多,給大家分享下。 # 1. 關于web3j web3j是一個高度模塊化,反應性,型別安全的Java和Android庫,用于與智能合約配合并與以太坊網路上的客戶端(節點)集成。 # 2. 準備作業 jdk版本1.8 引入maven <dependency> < ......

    uj5u.com 2020-09-10 03:03:06 more
  • 以太坊智能合約開發框架Truffle

    前言 部署智能合約有多種方式,命令列的瀏覽器的渠道都有,但往往跟我們程式員的風格不太相符,因為我們習慣了在IDE里寫了代碼然后打包運行看效果。 雖然現在IDE中已經存在了Solidity插件,可以撰寫智能合約,但是部署智能合約卻要另走他路,沒辦法進行一個快捷的部署與測驗。 如果團隊管理的區塊節點多、 ......

    uj5u.com 2020-09-10 03:03:12 more
  • 谷歌二次驗證碼成為區塊鏈專用安全碼,你怎么看?

    前言 谷歌身份驗證器,前些年大家都比較陌生,但隨著國內互聯網安全的加強,它越來越多地出現在大家的視野中。 比較廣泛接觸的人群是國際3A游戲愛好者,游戲盜號現象嚴重+國外賬號安全應用廣泛,這類游戲一般都會要求用戶系結名為“兩步驗證”、“雙重驗證”等,平臺一般都推薦用谷歌身份驗證器。 后來區塊鏈業務風靡 ......

    uj5u.com 2020-09-10 03:03:17 more
  • 密碼學DAY1

    目錄 ##1.1 密碼學基本概念 密碼在我們的生活中有著重要的作用,那么密碼究竟來自何方,為何會產生呢? 密碼學是網路安全、資訊安全、區塊鏈等產品的基礎,常見的非對稱加密、對稱加密、散列函式等,都屬于密碼學范疇。 密碼學有數千年的歷史,從最開始的替換法到如今的非對稱加密演算法,經歷了古典密碼學,近代密 ......

    uj5u.com 2020-09-10 03:03:50 more
  • 密碼學DAY1_02

    目錄 ##1.1 ASCII編碼 ASCII(American Standard Code for Information Interchange,美國資訊交換標準代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,并等同于國際標準ISO/IE ......

    uj5u.com 2020-09-10 03:04:50 more
  • 密碼學DAY2

    ##1.1 加密模式 加密模式:https://docs.oracle.com/javase/8/docs/api/javax/crypto/Cipher.html ECB ECB : Electronic codebook, 電子密碼本. 需要加密的訊息按照塊密碼的塊大小被分為數個塊,并對每個塊進 ......

    uj5u.com 2020-09-10 03:05:42 more
  • NTP時鐘服務器的特點(京準電子)

    NTP時鐘服務器的特點(京準電子) NTP時鐘服務器的特點(京準電子) 京準電子官V——ahjzsz 首先對時間同步進行了背景介紹,然后討論了不同的時間同步網路技術,最后指出了建立全球或區域時間同步網存在的問題。 一、概 述 在通信領域,“同步”概念是指頻率的同步,即網路各個節點的時鐘頻率和相位同步 ......

    uj5u.com 2020-09-10 03:05:47 more
  • 標準化考場時鐘同步系統推進智能化校園建設

    標準化考場時鐘同步系統推進智能化校園建設 標準化考場時鐘同步系統推進智能化校園建設 安徽京準電子科技官微——ahjzsz 一、背景概述隨著教育事業的快速發展,學校建設如雨后春筍,隨之而來的學校教育、管理、安全方面的問題成了學校管理人員面臨的最大的挑戰,這些問題同時也是學生家長所擔心的。為了讓學生有更 ......

    uj5u.com 2020-09-10 03:05:51 more
  • 位元幣入門

    引言 位元幣基本結構 位元幣基礎知識 1)哈希演算法 2)非對稱加密技術 3)數字簽名 4)MerkleTree 5)哪有位元幣,有的是UTXO 6)位元幣挖礦與共識 7)區塊驗證(共識) 總結 引言 上一篇我們已經知道了什么是區塊鏈,此篇說一下區塊鏈的第一個應用——位元幣。其實先有位元幣,后有的區塊 ......

    uj5u.com 2020-09-10 03:06:15 more
  • 北斗對時服務器(北斗對時設備)電力系統應用

    北斗對時服務器(北斗對時設備)電力系統應用 北斗對時服務器(北斗對時設備)電力系統應用 京準電子科技官微(ahjzsz) 中國北斗衛星導航系統(英文名稱:BeiDou Navigation Satellite System,簡稱BDS),因為是目前世界范圍內唯一可以大面積提供免費定位服務的系統,所以 ......

    uj5u.com 2020-09-10 03:06:20 more
最新发布
  • 具有多個成員函式的實體的執行緒安全鎖定

    我有一個被多個執行緒使用的結構實體。每個執行緒都包含未知數量的函式呼叫,這些函式呼叫會改變結構體成員變數。我有一個專用函式,它嘗試為當前執行緒“保留”結構實體,并且我...

    uj5u.com 2021-10-16 16:32:53 more
  • 如何避免沒有謂詞的虛假喚醒?

    我有一個執行緒可以叫它 t1,它會在 x 秒后定期發送一些東西。這個“x 秒部分”可以從其他執行緒 (t2)更改。我應該能夠從執行緒 t1 執行以下操作。等待“x 秒”然后發送一些...

    uj5u.com 2021-10-16 16:32:27 more
  • 多次啟動執行緒

    我想使用執行緒將檔案上傳到服務器。只要ThreadState是Unstarted,我就可以用它ThreadName.Start()來啟動執行緒。代碼完成后ThreadState會得到Stopped。我怎樣才能再次啟動該...

    uj5u.com 2021-10-16 16:31:50 more
  • 多執行緒中的Boost:asio和async

    我需要呼叫作為遠程服務器請求的方法。之后我想等待答案,并且等待不會被其他異步函式/物件(例如計時器)阻止。方法 got_response(...) 告訴用戶他從遠程服務器得到了一個答案,方...

    uj5u.com 2021-10-16 16:31:18 more
  • 為什么從并發佇列異步呼叫`DispatchQueue.main.sync`成功但同步

    在這里,我創建了具有 .background 優先級的并發佇列:let background = DispatchQueue(label: "backgroundQueue", qos: .background,...

    uj5u.com 2021-10-16 16:30:33 more
  • 如果執行緒生成速度過快,Ruby作業分配會失敗

    前幾天我遇到了一個問題,我花了 2 個小時在錯誤的地方尋找答案。在此程序中,我將代碼精簡為以下版本。只要我sleep(0.1)在回圈中創建執行緒,這里的執行緒就可以作業。如果省略...

    uj5u.com 2021-10-16 16:29:58 more
  • 使用多處理python將元素添加到串列

    我定義了一個接受單個整數輸入并回傳輸出整數的函式。def get_output(n): output = # process the integer return output現在我已經定義了一個必須使用上面定義的函式進...

    uj5u.com 2021-10-16 16:29:29 more
  • 為什么Javascript的阻塞函式比Python少得多

    從 Javascript 到 Python,看著asyncio讓我有點困惑。作為對并發基本概念不熟悉的人,我只是假設對 Javascript 并發有一個膚淺的理解。async / await在 Javascript 中使用的基...

    uj5u.com 2021-10-16 16:28:37 more
  • 如何從回復id(Python)中獲取執行緒/對話?

    我是 python 的相對新手,我正在嘗試從具有 ID 串列的資料幀重建對話/執行緒。我目前有一個推文/reddit帖子的pandas資料框,其格式大致如下:ID文本parent_id回復編號1呸呸_ 郵政...

    uj5u.com 2021-10-16 16:28:09 more
  • 將函式傳遞給多處理池中的地圖或星圖

    我一直試圖在我的機器上的 Jupyter 上測驗這段簡單的代碼,并且該單元無限期地運行而不輸出任何內容。是否有某種錯誤或什么?我為熊貓行程使用了??完全相同的代碼,pool.map并且...

    uj5u.com 2021-10-16 16:27:40 more