中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

河北省| 瓮安县| 汕尾市| 大同市| 南召县| 梧州市| 浏阳市| 南通市| 北安市| 星子县| 佛冈县| 吉木萨尔县| 龙江县| 介休市| 丽水市| 汶川县| 同心县| 驻马店市| 西林县| 绿春县| 花莲市| 都江堰市| 蓬安县| 巢湖市| 措勤县| 惠东县| 铜陵市| 麟游县| 丽水市| 冕宁县| 扶余县| 和林格尔县| 泾阳县| 高尔夫| 张家港市| 尼勒克县| 沈阳市| 西盟| 尚志市| 仁布县| 廊坊市|