天天看點

357-fabric鍊碼查詢

fabric鍊碼查詢







peer chaincode query
常用參數
-n --name 		chaincode的名字
-C --channelID	目前指令運作的通道,預設testchainid
-c --ctor   	JSON格式的構造參數,預設"{}"

執行一下
peer chaincode query -n abccc -C abcchannel -c '{"Args":["query", "a"]}'

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





我們查詢一下然後看下結果
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -n abccc -C abcchannel -c '{"Args":["query", "a"]}'
100



然後我們再查詢一下b
peer chaincode query -n abccc -C abcchannel -c '{"Args":["query", "b"]}'

[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -n abccc -C abcchannel -c '{"Args":["query", "b"]}'
200










然後我們要通過用戶端切換peer節點

```shell
$ docker exec -it cli bash
# 用戶端預設會連接配接某一個節點
CORE_PEER_ADDRESS=peer0.orggo.abc.com:7051
# 對用戶端進行操作, 操作的是預設連接配接的節點
```

```shell
看docker-compose 配置檔案中關于 用戶端容器的設定 -> 環境變量
CORE_PEER_ADDRESS=peer0.orggo.abc.com:7051 # 用戶端連接配接的peer節點
CORE_PEER_LOCALMSPID=OrgGoMSP
CORE_PEER_TLS_ENABLED=true
CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer0.orggo.abc.com/tls/server.crt
CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer0.orggo.abc.com/tls/server.key
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer0.orggo.abc.com/tls/ca.crt
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/users/[email protected]/msp
`

go組織的peer0

```shell
CORE_PEER_ADDRESS=peer0.orggo.abc.com:7051
CORE_PEER_LOCALMSPID=OrgGoMSP
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/users/[email protected]/msp
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer0.orggo.abc.com/tls/ca.crt
CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer0.orggo.abc.com/tls/server.crt
CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer0.orggo.abc.com/tls/server.key
```

go組織的peer1

```shell
CORE_PEER_ADDRESS=peer1.orggo.abc.com:7051
CORE_PEER_LOCALMSPID=OrgGoMSP
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/users/[email protected]/msp
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer1.orggo.abc.com/tls/ca.crt
CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer1.orggo.abc.com/tls/server.crt
CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer1.orggo.abc.com/tls/server.key
```

cpp組織的peer0

```shell
CORE_PEER_ADDRESS=peer0.orgcpp.abc.com:7051
CORE_PEER_LOCALMSPID=OrgCppMSP
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.abc.com/users/[email protected]/msp
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.abc.com/peers/peer0.orgcpp.abc.com/tls/ca.crt
CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.abc.com/peers/peer0.orgcpp.abc.com/tls/server.crt
CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.abc.com/peers/peer0.orgcpp.abc.com/tls/server.key
```

cpp組織的peer1

```shell
CORE_PEER_ADDRESS=peer1.orgcpp.abc.com:7051
CORE_PEER_LOCALMSPID=OrgCppMSP
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.abc.com/users/[email protected]/msp
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.abc.com/peers/peer1.orgcpp.abc.com/tls/ca.crt
CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.abc.com/peers/peer1.orgcpp.abc.com/tls/server.crt
CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orgcpp.abc.com/peers/peer1.orgcpp.abc.com/tls/server.key
```










打包一下
peer chaincode package -n abccc -v 1.0 -p github.com/chaincode mycc.out



1.peer channel list

2.peer channel join -b abcchannel.block

3.peer chaincode install mycc.out

4.



看下流程和結果


[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# ls
channel-artifacts  crypto  abcchannel.block
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode package -n abccc -v 1.0 -p github.com/chaincode mycc.out
2019-04-15 04:30:21.659 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-04-15 04:30:21.659 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# ls
channel-artifacts  crypto  abcchannel.block  mycc.out
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_ADDRESS=peer1.orggo.abc.com:7051
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_LOCALMSPID=OrgGoMSP
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/users/[email protected]/msp
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer1.orggo.abc.com/tls/ca.crt
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer1.orggo.abc.com/tls/server.crt
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/orggo.abc.com/peers/peer1.orggo.abc.com/tls/server.key
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer channel join -b abcchannel.block
2019-04-15 04:31:06.586 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: proposal failed (err: bad proposal response 500: Cannot create ledger from genesis block, due to LedgerID already exists)
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer channel list
2019-04-15 04:31:14.517 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Channels peers has joined: 
abcchannel
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# ls
channel-artifacts  crypto  abcchannel.block  mycc.out
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode install mycc.out
2019-04-15 04:31:23.986 UTC [chaincodeCmd] install -> INFO 001 Installed remotely response:<status:200 payload:"OK" > 
[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# 






然後查詢一下

[email protected]:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -n abccc -C abcchannel -c '{"Args":["query", "b"]}'
200














           

繼續閱讀