小编给大家分享一下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怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/3895037/blog/1913781