1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273
| <pre>**dyingjin@ubuntu**:**~/Desktop/fabric-samples/test-network**$ sudo -i [sudo] password for dyingjin: root@ubuntu:~# cd / root@ubuntu:/# cd home/dyingjin/Desktop/fabric-samples/test-network root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# ./network.sh up createChannel Creating channel 'mychannel'. If network is not up, starting nodes with CLI timeout of '5' tries and CLI delay of '3' seconds and using database 'leveldb with crypto from 'cryptogen' Bringing up network LOCAL_VERSION=2.3.3 DOCKER_IMAGE_VERSION=2.3.3 /home/dyingjin/Desktop/fabric-samples/test-network/../bin/cryptogen Generating certificates using cryptogen tool Creating Org1 Identities + cryptogen generate --config=./organizations/cryptogen/crypto-config-org1.yaml --output=organizations org1.example.com + res=0 Creating Org2 Identities + cryptogen generate --config=./organizations/cryptogen/crypto-config-org2.yaml --output=organizations org2.example.com + res=0 Creating Orderer Org Identities + cryptogen generate --config=./organizations/cryptogen/crypto-config-orderer.yaml --output=organizations + res=0 Generating CCP files for Org1 and Org2 Creating network "fabric_test" with the default driver Creating volume "docker_orderer.example.com" with default driver Creating volume "docker_peer0.org1.example.com" with default driver Creating volume "docker_peer0.org2.example.com" with default driver Creating peer0.org2.example.com ... done Creating peer0.org1.example.com ... done Creating orderer.example.com ... done Creating cli ... done CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0fe7892c3748 hyperledger/fabric-tools:latest "/bin/bash" 1 second ago Up Less than a second cli 83bde93c006c hyperledger/fabric-orderer:latest "orderer" 2 seconds ago Up Less than a second 0.0.0.0:7050->7050/tcp, :::7050->7050/tcp, 0.0.0.0:7053->7053/tcp, :::7053->7053/tcp, 0.0.0.0:17050->17050/tcp, :::17050->17050/tcp orderer.example.com 016ba2f4c79a hyperledger/fabric-peer:latest "peer node start" 3 seconds ago Up Less than a second 0.0.0.0:9051->9051/tcp, :::9051->9051/tcp, 7051/tcp, 0.0.0.0:19051->19051/tcp, :::19051->19051/tcp peer0.org2.example.com 2d10a48b4833 hyperledger/fabric-peer:latest "peer node start" 3 seconds ago Up Less than a second 0.0.0.0:7051->7051/tcp, :::7051->7051/tcp, 0.0.0.0:17051->17051/tcp, :::17051->17051/tcp peer0.org1.example.com Generating channel genesis block 'mychannel.block' /home/dyingjin/Desktop/fabric-samples/test-network/../bin/configtxgen + configtxgen -profile TwoOrgsApplicationGenesis -outputBlock ./channel-artifacts/mychannel.block -channelID mychannel 2021-11-29 21:24:09.077 PST [common.tools.configtxgen] main -> INFO 001 Loading configuration 2021-11-29 21:24:09.083 PST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 002 orderer type: etcdraft 2021-11-29 21:24:09.083 PST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 Orderer.EtcdRaft.Options unset, setting to tick_interval:"500ms" election_tick:10 heartbeat_tick:1 max_inflight_blocks:5 snapshot_interval_size:16777216 2021-11-29 21:24:09.083 PST [common.tools.configtxgen.localconfig] Load -> INFO 004 Loaded configuration: /home/dyingjin/Desktop/fabric-samples/test-network/configtx/configtx.yaml 2021-11-29 21:24:09.085 PST [common.tools.configtxgen] doOutputBlock -> INFO 005 Generating genesis block 2021-11-29 21:24:09.086 PST [common.tools.configtxgen] doOutputBlock -> INFO 006 Creating application channel genesis block 2021-11-29 21:24:09.086 PST [common.tools.configtxgen] doOutputBlock -> INFO 007 Writing genesis block + res=0 Creating channel mychannel Using organization 1 + osnadmin channel join --channelID mychannel --config-block ./channel-artifacts/mychannel.block -o localhost:7053 --ca-file /home/dyingjin/Desktop/fabric-samples/test-network/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --client-cert /home/dyingjin/Desktop/fabric-samples/test-network/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt --client-key /home/dyingjin/Desktop/fabric-samples/test-network/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.key + res=0 Status: 201 { "name": "mychannel", "url": "/participation/v1/channels/mychannel", "consensusRelation": "consenter", "status": "active", "height": 1 }
Channel 'mychannel' created Joining org1 peer to the channel... Using organization 1 + peer channel join -b ./channel-artifacts/mychannel.block + res=0 2021-11-29 21:24:15.240 PST [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2021-11-29 21:24:15.262 PST [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel Joining org2 peer to the channel... Using organization 2 + peer channel join -b ./channel-artifacts/mychannel.block + res=0 2021-11-29 21:24:18.329 PST [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2021-11-29 21:24:18.350 PST [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel Setting anchor peer for org1... Using organization 1 Fetching channel config for channel mychannel Using organization 1 Fetching the most recent configuration block for the channel + peer channel fetch config config_block.pb -o orderer.example.com:7050 --ordererTLSHostnameOverride orderer.example.com -c mychannel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem 2021-11-30 05:24:18.565 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2021-11-30 05:24:18.573 UTC [cli.common] readBlock -> INFO 002 Received block: 0 2021-11-30 05:24:18.573 UTC [channelCmd] fetch -> INFO 003 Retrieving last config block: 0 2021-11-30 05:24:18.577 UTC [cli.common] readBlock -> INFO 004 Received block: 0 Decoding config block to JSON and isolating config to Org1MSPconfig.json + configtxlator proto_decode --input config_block.pb --type common.Block + jq '.data.data[0].payload.data.config' + jq '.channel_group.groups.Application.groups.Org1MSP.values += {"AnchorPeers":{"mod_policy": "Admins","value":{"anchor_peers": [{"host": "peer0.org1.example.com","port": 7051}]},"version": "0"}}' Org1MSPconfig.json Generating anchor peer update transaction for Org1 on channel mychannel + configtxlator proto_encode --input Org1MSPconfig.json --type common.Config + configtxlator proto_encode --input Org1MSPmodified_config.json --type common.Config + configtxlator compute_update --channel_id mychannel --original original_config.pb --updated modified_config.pb + configtxlator proto_decode --input config_update.pb --type common.ConfigUpdate + jq . ++ cat config_update.json + echo '{"payload":{"header":{"channel_header":{"channel_id":"mychannel", "type":2}},"data":{"config_update":{' '"channel_id":' '"mychannel",' '"isolated_data":' '{},' '"read_set":' '{' '"groups":' '{' '"Application":' '{' '"groups":' '{' '"Org1MSP":' '{' '"groups":' '{},' '"mod_policy":' '"",' '"policies":' '{' '"Admins":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Endorsement":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Readers":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Writers":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '}' '},' '"values":' '{' '"MSP":' '{' '"mod_policy":' '"",' '"value":' null, '"version":' '"0"' '}' '},' '"version":' '"0"' '}' '},' '"mod_policy":' '"",' '"policies":' '{},' '"values":' '{},' '"version":' '"0"' '}' '},' '"mod_policy":' '"",' '"policies":' '{},' '"values":' '{},' '"version":' '"0"' '},' '"write_set":' '{' '"groups":' '{' '"Application":' '{' '"groups":' '{' '"Org1MSP":' '{' '"groups":' '{},' '"mod_policy":' '"Admins",' '"policies":' '{' '"Admins":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Endorsement":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Readers":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Writers":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '}' '},' '"values":' '{' '"AnchorPeers":' '{' '"mod_policy":' '"Admins",' '"value":' '{' '"anchor_peers":' '[' '{' '"host":' '"peer0.org1.example.com",' '"port":' 7051 '}' ']' '},' '"version":' '"0"' '},' '"MSP":' '{' '"mod_policy":' '"",' '"value":' null, '"version":' '"0"' '}' '},' '"version":' '"1"' '}' '},' '"mod_policy":' '"",' '"policies":' '{},' '"values":' '{},' '"version":' '"0"' '}' '},' '"mod_policy":' '"",' '"policies":' '{},' '"values":' '{},' '"version":' '"0"' '}' '}}}}' + configtxlator proto_encode --input config_update_in_envelope.json --type common.Envelope 2021-11-30 05:24:18.826 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2021-11-30 05:24:18.840 UTC [channelCmd] update -> INFO 002 Successfully submitted channel update Anchor peer set for org 'Org1MSP' on channel 'mychannel' Setting anchor peer for org2... Using organization 2 Fetching channel config for channel mychannel Using organization 2 + peer channel fetch config Fetching the most recent configuration block for the channel config_block.pb -o orderer.example.com:7050 --ordererTLSHostnameOverride orderer.example.com -c mychannel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem 2021-11-30 05:24:19.048 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2021-11-30 05:24:19.054 UTC [cli.common] readBlock -> INFO 002 Received block: 1 2021-11-30 05:24:19.055 UTC [channelCmd] fetch -> INFO 003 Retrieving last config block: 1 2021-11-30 05:24:19.057 UTC [cli.common] readBlock -> INFO 004 Received block: 1 Decoding config block to JSON and isolating config to Org2MSPconfig.json + configtxlator proto_decode --input config_block.pb --type common.Block + jq '.data.data[0].payload.data.config' Generating anchor peer update transaction for Org2 on channel mychannel + jq '.channel_group.groups.Application.groups.Org2MSP.values += {"AnchorPeers":{"mod_policy": "Admins","value":{"anchor_peers": [{"host": "peer0.org2.example.com","port": 9051}]},"version": "0"}}' Org2MSPconfig.json + configtxlator proto_encode --input Org2MSPconfig.json --type common.Config + configtxlator proto_encode --input Org2MSPmodified_config.json --type common.Config + configtxlator compute_update --channel_id mychannel --original original_config.pb --updated modified_config.pb + configtxlator proto_decode --input config_update.pb --type common.ConfigUpdate + jq . ++ cat config_update.json + echo '{"payload":{"header":{"channel_header":{"channel_id":"mychannel", "type":2}},"data":{"config_update":{' '"channel_id":' '"mychannel",' '"isolated_data":' '{},' '"read_set":' '{' '"groups":' '{' '"Application":' '{' '"groups":' '{' '"Org2MSP":' '{' '"groups":' '{},' '"mod_policy":' '"",' '"policies":' '{' '"Admins":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Endorsement":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Readers":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Writers":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '}' '},' '"values":' '{' '"MSP":' '{' '"mod_policy":' '"",' '"value":' null, '"version":' '"0"' '}' '},' '"version":' '"0"' '}' '},' '"mod_policy":' '"",' '"policies":' '{},' '"values":' '{},' '"version":' '"0"' '}' '},' '"mod_policy":' '"",' '"policies":' '{},' '"values":' '{},' '"version":' '"0"' '},' '"write_set":' '{' '"groups":' '{' '"Application":' '{' '"groups":' '{' '"Org2MSP":' '{' '"groups":' '{},' '"mod_policy":' '"Admins",' '"policies":' '{' '"Admins":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Endorsement":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Readers":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '},' '"Writers":' '{' '"mod_policy":' '"",' '"policy":' null, '"version":' '"0"' '}' '},' '"values":' '{' '"AnchorPeers":' '{' '"mod_policy":' '"Admins",' '"value":' '{' '"anchor_peers":' '[' '{' '"host":' '"peer0.org2.example.com",' '"port":' 9051 '}' ']' '},' '"version":' '"0"' '},' '"MSP":' '{' '"mod_policy":' '"",' '"value":' null, '"version":' '"0"' '}' '},' '"version":' '"1"' '}' '},' '"mod_policy":' '"",' '"policies":' '{},' '"values":' '{},' '"version":' '"0"' '}' '},' '"mod_policy":' '"",' '"policies":' '{},' '"values":' '{},' '"version":' '"0"' '}' '}}}}' + configtxlator proto_encode --input config_update_in_envelope.json --type common.Envelope 2021-11-30 05:24:19.311 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2021-11-30 05:24:19.326 UTC [channelCmd] update -> INFO 002 Successfully submitted channel update Anchor peer set for org 'Org2MSP' on channel 'mychannel' Channel 'mychannel' joined root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# ./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go deploying chaincode on channel 'mychannel' executing with the following - CHANNEL_NAME: mychannel - CC_NAME: basic - CC_SRC_PATH: ../asset-transfer-basic/chaincode-go - CC_SRC_LANGUAGE: go - CC_VERSION: 1.0 - CC_SEQUENCE: 1 - CC_END_POLICY: NA - CC_COLL_CONFIG: NA - CC_INIT_FCN: NA - DELAY: 3 - MAX_RETRY: 5 - VERBOSE: false Vendoring Go dependencies at ../asset-transfer-basic/chaincode-go /home/dyingjin/Desktop/fabric-samples/asset-transfer-basic/chaincode-go /home/dyingjin/Desktop/fabric-samples/test-network /home/dyingjin/Desktop/fabric-samples/test-network Finished vendoring Go dependencies + peer lifecycle chaincode package basic.tar.gz --path ../asset-transfer-basic/chaincode-go --lang golang --label basic_1.0 + res=0 Chaincode is packaged Installing chaincode on peer0.org1... Using organization 1 + peer lifecycle chaincode install basic.tar.gz + res=0 2021-11-29 21:24:40.273 PST [cli.lifecycle.chaincode] submitInstallProposal -> INFO 001 Installed remotely: response:<status:200 payload:"\nJbasic_1.0:c3fff99b8effbccb6749ab2dddd573adac22e7c0b5cae3e659732df710d1815e\022\tbasic_1.0" > 2021-11-29 21:24:40.273 PST [cli.lifecycle.chaincode] submitInstallProposal -> INFO 002 Chaincode code package identifier: basic_1.0:c3fff99b8effbccb6749ab2dddd573adac22e7c0b5cae3e659732df710d1815e Chaincode is installed on peer0.org1 Install chaincode on peer0.org2... Using organization 2 + peer lifecycle chaincode install basic.tar.gz + res=0 2021-11-29 21:24:55.571 PST [cli.lifecycle.chaincode] submitInstallProposal -> INFO 001 Installed remotely: response:<status:200 payload:"\nJbasic_1.0:c3fff99b8effbccb6749ab2dddd573adac22e7c0b5cae3e659732df710d1815e\022\tbasic_1.0" > 2021-11-29 21:24:55.571 PST [cli.lifecycle.chaincode] submitInstallProposal -> INFO 002 Chaincode code package identifier: basic_1.0:c3fff99b8effbccb6749ab2dddd573adac22e7c0b5cae3e659732df710d1815e Chaincode is installed on peer0.org2 Using organization 1 + peer lifecycle chaincode queryinstalled + res=0 Installed chaincodes on peer: Package ID: basic_1.0:c3fff99b8effbccb6749ab2dddd573adac22e7c0b5cae3e659732df710d1815e, Label: basic_1.0 Query installed successful on peer0.org1 on channel Using organization 1 + peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile /home/dyingjin/Desktop/fabric-samples/test-network/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --channelID mychannel --name basic --version 1.0 --package-id basic_1.0:c3fff99b8effbccb6749ab2dddd573adac22e7c0b5cae3e659732df710d1815e --sequence 1 + res=0 2021-11-29 21:24:57.729 PST [chaincodeCmd] ClientWait -> INFO 001 txid [00e5c20e20f9c0aac1a15c0b0077f6222617a3316b233bcd6228a85f32140102] committed with status (VALID) at localhost:7051 Chaincode definition approved on peer0.org1 on channel 'mychannel' Using organization 1 Checking the commit readiness of the chaincode definition on peer0.org1 on channel 'mychannel'... Attempting to check the commit readiness of the chaincode definition on peer0.org1, Retry after 3 seconds. + peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name basic --version 1.0 --sequence 1 --output json + res=0 { "approvals": { "Org1MSP": true, "Org2MSP": false } } Checking the commit readiness of the chaincode definition successful on peer0.org1 on channel 'mychannel' Using organization 2 Checking the commit readiness of the chaincode definition on peer0.org2 on channel 'mychannel'... Attempting to check the commit readiness of the chaincode definition on peer0.org2, Retry after 3 seconds. + peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name basic --version 1.0 --sequence 1 --output json + res=0 { "approvals": { "Org1MSP": true, "Org2MSP": false } } Checking the commit readiness of the chaincode definition successful on peer0.org2 on channel 'mychannel' Using organization 2 + peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile /home/dyingjin/Desktop/fabric-samples/test-network/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --channelID mychannel --name basic --version 1.0 --package-id basic_1.0:c3fff99b8effbccb6749ab2dddd573adac22e7c0b5cae3e659732df710d1815e --sequence 1 + res=0 2021-11-29 21:25:05.967 PST [chaincodeCmd] ClientWait -> INFO 001 txid [2a12e0d4680ab3d7bc370464af51d98dce75706d47968496e13ba168035fe61b] committed with status (VALID) at localhost:9051 Chaincode definition approved on peer0.org2 on channel 'mychannel' Using organization 1 Checking the commit readiness of the chaincode definition on peer0.org1 on channel 'mychannel'... Attempting to check the commit readiness of the chaincode definition on peer0.org1, Retry after 3 seconds. + peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name basic --version 1.0 --sequence 1 --output json + res=0 { "approvals": { "Org1MSP": true, "Org2MSP": true } } Checking the commit readiness of the chaincode definition successful on peer0.org1 on channel 'mychannel' Using organization 2 Checking the commit readiness of the chaincode definition on peer0.org2 on channel 'mychannel'... Attempting to check the commit readiness of the chaincode definition on peer0.org2, Retry after 3 seconds. + peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name basic --version 1.0 --sequence 1 --output json + res=0 { "approvals": { "Org1MSP": true, "Org2MSP": true } } Checking the commit readiness of the chaincode definition successful on peer0.org2 on channel 'mychannel' Using organization 1 Using organization 2 + peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile /home/dyingjin/Desktop/fabric-samples/test-network/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --channelID mychannel --name basic --peerAddresses localhost:7051 --tlsRootCertFiles /home/dyingjin/Desktop/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles /home/dyingjin/Desktop/fabric-samples/test-network/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt --version 1.0 --sequence 1 + res=0 2021-11-29 21:25:14.497 PST [chaincodeCmd] ClientWait -> INFO 001 txid [52ab43fdce51efbf03f66a3bfa441566802339f03a18da30332b80bd80344fab] committed with status (VALID) at localhost:9051 2021-11-29 21:25:14.560 PST [chaincodeCmd] ClientWait -> INFO 002 txid [52ab43fdce51efbf03f66a3bfa441566802339f03a18da30332b80bd80344fab] committed with status (VALID) at localhost:7051 Chaincode definition committed on channel 'mychannel' Using organization 1 Querying chaincode definition on peer0.org1 on channel 'mychannel'... Attempting to Query committed status on peer0.org1, Retry after 3 seconds. + peer lifecycle chaincode querycommitted --channelID mychannel --name basic + res=0 Committed chaincode definition for chaincode 'basic' on channel 'mychannel': Version: 1.0, Sequence: 1, Endorsement Plugin: escc, Validation Plugin: vscc, Approvals: [Org1MSP: true, Org2MSP: true] Query chaincode definition successful on peer0.org1 on channel 'mychannel' Using organization 2 Querying chaincode definition on peer0.org2 on channel 'mychannel'... Attempting to Query committed status on peer0.org2, Retry after 3 seconds. + peer lifecycle chaincode querycommitted --channelID mychannel --name basic + res=0 Committed chaincode definition for chaincode 'basic' on channel 'mychannel': Version: 1.0, Sequence: 1, Endorsement Plugin: escc, Validation Plugin: vscc, Approvals: [Org1MSP: true, Org2MSP: true] Query chaincode definition successful on peer0.org2 on channel 'mychannel' Chaincode initialization is not required root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export PATH=${PWD}/../bin:$PATH root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export FABRIC_CFG_PATH=$PWD/../config/ root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export CORE_PEER_TLS_ENABLED=true root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export CORE_PEER_LOCALMSPID="Org1MSP" root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export CORE_PEER_ADDRESS=localhost:7051 root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"InitLedger","Args":[]}' 2021-11-29 21:25:48.618 PST [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001 Chaincode invoke successful. result: status:200 root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# peer chaincode query -C mychannel -n basic -c '{"Args":["GetAllAssets"]}' [{"AppraisedValue":300,"Color":"blue","ID":"asset1","Owner":"Tomoko","Size":5},{"AppraisedValue":400,"Color":"red","ID":"asset2","Owner":"Brad","Size":5},{"AppraisedValue":500,"Color":"green","ID":"asset3","Owner":"Jin Soo","Size":10},{"AppraisedValue":600,"Color":"yellow","ID":"asset4","Owner":"Max","Size":10},{"AppraisedValue":700,"Color":"black","ID":"asset5","Owner":"Adriana","Size":15},{"AppraisedValue":800,"Color":"white","ID":"asset6","Owner":"Michel","Size":15}] root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"TransferAsset","Args":["asset6","Christopher"]}' 2021-11-29 21:26:06.688 PST [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001 Chaincode invoke successful. result: status:200 root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export CORE_PEER_TLS_ENABLED=true root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export CORE_PEER_LOCALMSPID="Org2MSP" root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# export CORE_PEER_ADDRESS=localhost:9051 root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# peer chaincode query -C mychannel -n basic -c '{"Args":["ReadAsset","asset6"]}' {"AppraisedValue":800,"Color":"white","ID":"asset6","Owner":"Christopher","Size":15} root@ubuntu:/home/dyingjin/Desktop/fabric-samples/test-network# </pre>
|