fabric first-network与sdk交互

先打开两个终端

1.第一个终端开启fabric网络

cd go/src/github.com/hyperledger/fabric-samples/first-network
 ./byfn.sh up
docker exec -it cli bash

注意,这里的go/src/github.com/hyperledger/fabric-samples/first-network是我个人的first-network目录,开启网络一定要进入你自己的目录文件中。

2.第二个终端运行main.go

cd fabric-sdk-go-sample/main.go
go run main.go

注意,这里的fabric-sdk-go-sample/main.go需要改成你自己的目录。

3.测试sdk与fabric之间的交互

3.1在第一个终端中输入

peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses peer0.org2.example.com:9051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"Args":["invoke","a","b","10"]}'

意思是a向b转账10;

可以在当前窗口查询a账户中的值现在是否为90(初始值为100)

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

查询b账户的值是否为210

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","b"]}'

3.2 在第二个终端中运行main

go run main.go

页面将显示为90,

3.3可以在第二个终端中修改main文件,查询b的值

vim main.go

修改代码

在main.go文件中键入任意键进行编辑,然后将下面 代码的“a”修改“b”

 if err := cli1.QueryCC("peer0.org2.example.com", "a"); err != nil {
                log.Panicf("Query chaincode error: %v", err)
        }

点击“esc”,输入:wq,点击回车

重新输入

go run main.go

页面将显示b的值为210

以上仅为fabric和sdk之间的简单交互,欢迎多提宝贵意见!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值