亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HyperLedger中Fabric Golang SDK怎么用

發布時間:2021-12-07 09:34:42 來源:億速云 閱讀:284 作者:小新 欄目:互聯網科技

小編給大家分享一下HyperLedger中Fabric Golang SDK怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

獲取示例代碼

源代碼托管在github: 源代碼地址,fabric-sdk-go

go get github.com/introclass/hyperledger-fabric-sdks-usage
cd $GOPATH/src/github.com/introclass/hyperledger-fabric-sdks-usage/go

準備msp和tls證書

將你自己環境的crypto-config復制到hyperledger-fabric-sdks-usage/go中。

crypto-config中只需要包含需要的msp和tls證書,需要哪些證書在調用go-sdk的程序使用的config.yaml中指定了。

查詢合約

01-query中通過go-sdk做了一個最簡單操作:鏈接peer,調用合約,查詢賬本。

$ cd 01-query

$ ./01-query
AdminIdentify is found:
&{Admin peers.member1.example.com [45 45 45 45 45 66 69 71 73 78
...
69 45 45 45 45 45 10] 0xc420329a90}
response is key1value

源代碼如下:

package main

import (
	"fmt"
	"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
	mspclient "github.com/hyperledger/fabric-sdk-go/pkg/client/msp"
	"github.com/hyperledger/fabric-sdk-go/pkg/core/config"
	"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
	"log"
)

func main() {

	//讀取配置文件,創建SDK
	configProvider := config.FromFile("./config.yaml")
	sdk, err := fabsdk.New(configProvider)
	if err != nil {
		log.Fatalf("create sdk fail: %s\n", err.Error())
	}

	//讀取配置文件(config.yaml)中的組織(member1.example.com)的用戶(Admin)
	mspClient, err := mspclient.New(sdk.Context(), mspclient.WithOrg("member1.example.com"))
	if err != nil {
		log.Fatalf("create msp client fail: %s\n", err.Error())
	}

	adminIdentity, err := mspClient.GetSigningIdentity("Admin")
	if err != nil {
		log.Fatalf("get admin identify fail: %s\n", err.Error())
	} else {
		fmt.Println("AdminIdentify is found:")
		fmt.Println(adminIdentity)
	}

	//調用合約
	channelProvider := sdk.ChannelContext("mychannel",
		fabsdk.WithUser("Admin"),
		fabsdk.WithOrg("member1.example.com"))

	channelClient, err := channel.New(channelProvider)
	if err != nil {
		log.Fatalf("create channel client fail: %s\n", err.Error())
	}

	var args [][]byte
	args = append(args, []byte("key1"))

	request := channel.Request{
		ChaincodeID: "mycc",
		Fcn:         "query",
		Args:        args,
	}
	response, err := channelClient.Query(request)
	if err != nil {
		log.Fatal("query fail: ", err.Error())
	} else {
		fmt.Printf("response is %s\n", response.Payload)
	}
}

以上是“HyperLedger中Fabric Golang SDK怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文安县| 夏津县| 澳门| 罗田县| 江安县| 海宁市| 房产| 米易县| 沈丘县| 临洮县| 松原市| 克拉玛依市| 泰来县| 敦煌市| 阿拉尔市| 武宁县| 上林县| 贺兰县| 三河市| 杭州市| 东明县| 长垣县| 枣阳市| 屏山县| 博罗县| 合山市| 五莲县| 崇明县| 故城县| 马山县| 尉氏县| 南投市| 萨嘎县| 信阳市| 右玉县| 武定县| 马鞍山市| 乌恰县| 合肥市| 宁蒗| 当涂县|