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之間的簡單交互,歡迎多提寶貴意見!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章