扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
小编给大家分享一下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怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流