您好,登錄后才能下訂單哦!
小編給大家分享一下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
將你自己環境的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怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。