Add more chaincodes

pull/117/head
Baohua Yang 2018-01-05 14:37:52 +08:00
parent 96b581a923
commit 6bbb59a8df
26 changed files with 23721 additions and 23397 deletions

View File

@ -24,8 +24,10 @@ echo_b "Updating anchor peers for peer0/org1... no use for only single channel"
channelUpdate ${APP_CHANNEL} 1 0 Org1MSPanchors.tx channelUpdate ${APP_CHANNEL} 1 0 Org1MSPanchors.tx
## Install chaincode on all peers ## Install chaincode on all peers
echo_b "Installing chaincode on peer0..." CC_NAME=${CC_02_NAME}
chaincodeInstall 0 ${CC_02_INIT_ARGS} CC_PATH=${CC_02_PATH}
echo_b "Installing chaincode ${CC_NAME} on peer0..."
chaincodeInstall 1 0 ${CC_NAME} ${CC_INIT_VERSION} ${CC_PATH}
# Instantiate chaincode on all peers # Instantiate chaincode on all peers
# Instantiate can only be executed once on any node # Instantiate can only be executed once on any node

View File

@ -8,10 +8,12 @@ elif [ -f scripts/func.sh ]; then
fi fi
## Install chaincode on all peers ## Install chaincode on all peers
echo_b "Installing chaincode on all 4 peers..." CC_NAME=${CC_02_NAME}
chaincodeInstall 1 0 ${CC_02_NAME} ${CC_INIT_VERSION} ${CC_02_PATH} CC_PATH=${CC_02_PATH}
chaincodeInstall 1 1 ${CC_02_NAME} ${CC_INIT_VERSION} ${CC_02_PATH} echo_b "Installing chaincode ${CC_NAME} on all 4 peers..."
chaincodeInstall 2 0 ${CC_02_NAME} ${CC_INIT_VERSION} ${CC_02_PATH} chaincodeInstall 1 0 ${CC_NAME} ${CC_INIT_VERSION} ${CC_PATH}
chaincodeInstall 2 1 ${CC_02_NAME} ${CC_INIT_VERSION} ${CC_02_PATH} chaincodeInstall 1 1 ${CC_NAME} ${CC_INIT_VERSION} ${CC_PATH}
chaincodeInstall 2 0 ${CC_NAME} ${CC_INIT_VERSION} ${CC_PATH}
chaincodeInstall 2 1 ${CC_NAME} ${CC_INIT_VERSION} ${CC_PATH}
echo_g "=== Install chaincode done ===" echo_g "=== Install chaincode done ==="

View File

@ -7,10 +7,11 @@ elif [ -f scripts/func.sh ]; then
source scripts/func.sh source scripts/func.sh
fi fi
# Instantiate chaincode on all peers # Instantiate chaincode in the channel, executed once on any node is enough
# Instantiate can only be executed once on any node CC_NAME=${CC_02_NAME}
CC_INIT_ARGS=${CC_02_INIT_ARGS}
echo_b "Instantiating chaincode on channel ${APP_CHANNEL} (once for each channel is enough, we make it concurrent here)..." echo_b "Instantiating chaincode on channel ${APP_CHANNEL} (once for each channel is enough, we make it concurrent here)..."
chaincodeInstantiate "${APP_CHANNEL}" 1 0 ${CC_02_NAME} ${CC_INIT_VERSION} ${CC_02_INIT_ARGS} chaincodeInstantiate "${APP_CHANNEL}" 1 0 ${CC_NAME} ${CC_INIT_VERSION} ${CC_INIT_ARGS}
chaincodeInstantiate "${APP_CHANNEL}" 2 0 ${CC_02_NAME} ${CC_INIT_VERSION} ${CC_02_INIT_ARGS} chaincodeInstantiate "${APP_CHANNEL}" 2 0 ${CC_NAME} ${CC_INIT_VERSION} ${CC_INIT_ARGS}
echo_g "=== Instantiate chaincode done ===" echo_g "=== Instantiate chaincode done ==="

View File

@ -7,26 +7,29 @@ elif [ -f scripts/func.sh ]; then
source scripts/func.sh source scripts/func.sh
fi fi
CC_NAME=${CC_02_NAME}
CC_INVOKE_ARGS=${CC_02_INVOKE_ARGS}
CC_QUERY_ARGS=${CC_02_QUERY_ARGS}
#Query on chaincode on Peer0/Org1 #Query on chaincode on Peer0/Org1
echo_b "Querying chaincode on peer org2/peer0..." echo_b "Querying chaincode ${CC_NAME} on peer org2/peer0..."
chaincodeQuery ${APP_CHANNEL} 2 1 ${CC_02_NAME} ${CC_02_QUERY_ARGS} 100 chaincodeQuery ${APP_CHANNEL} 2 1 ${CC_NAME} ${CC_QUERY_ARGS} 100
#Invoke on chaincode on Peer0/Org1 #Invoke on chaincode on Peer0/Org1
echo_b "Sending invoke transaction (transfer 10) on org1/peer0..." echo_b "Sending invoke transaction (transfer 10) on org1/peer0..."
chaincodeInvoke ${APP_CHANNEL} 1 0 ${CC_02_NAME} ${CC_02_INVOKE_ARGS} chaincodeInvoke ${APP_CHANNEL} 1 0 ${CC_NAME} ${CC_INVOKE_ARGS}
#Query on chaincode on Peer1/Org2, check if the result is 90 #Query on chaincode on Peer1/Org2, check if the result is 90
echo_b "Querying chaincode on peer 1 and 3..." echo_b "Querying chaincode on peer 1 and 3..."
chaincodeQuery ${APP_CHANNEL} 1 1 ${CC_02_NAME} ${CC_02_QUERY_ARGS} 90 chaincodeQuery ${APP_CHANNEL} 1 1 ${CC_NAME} ${CC_QUERY_ARGS} 90
chaincodeQuery ${APP_CHANNEL} 2 1 ${CC_02_NAME} ${CC_02_QUERY_ARGS} 90 chaincodeQuery ${APP_CHANNEL} 2 1 ${CC_NAME} ${CC_QUERY_ARGS} 90
#Invoke on chaincode on Peer1/Org2 #Invoke on chaincode on Peer1/Org2
echo_b "Sending invoke transaction on org2/peer3..." echo_b "Sending invoke transaction on org2/peer3..."
chaincodeInvoke ${APP_CHANNEL} 2 1 ${CC_02_NAME} ${CC_02_INVOKE_ARGS} chaincodeInvoke ${APP_CHANNEL} 2 1 ${CC_NAME} ${CC_INVOKE_ARGS}
#Query on chaincode on Peer1/Org2, check if the result is 80 #Query on chaincode on Peer1/Org2, check if the result is 80
echo_b "Querying chaincode on all 4peers..." echo_b "Querying chaincode on all 4peers..."
chaincodeQuery ${APP_CHANNEL} 1 0 ${CC_02_NAME} ${CC_02_QUERY_ARGS} 80 chaincodeQuery ${APP_CHANNEL} 1 0 ${CC_NAME} ${CC_QUERY_ARGS} 80
chaincodeQuery ${APP_CHANNEL} 2 0 ${CC_02_NAME} ${CC_02_QUERY_ARGS} 80 chaincodeQuery ${APP_CHANNEL} 2 0 ${CC_NAME} ${CC_QUERY_ARGS} 80
echo_g "=== All GOOD, chaincode invoke/query completed ===" echo_g "=== All GOOD, chaincode invoke/query completed ==="

View File

@ -7,18 +7,21 @@ elif [ -f scripts/func.sh ]; then
source scripts/func.sh source scripts/func.sh
fi fi
CC_NAME=${CC_02_NAME}
CC_PATH=${CC_02_PATH}
CC_UPGRADE_ARGS=${CC_02_UPGRADE_ARGS}
#Upgrade to new version #Upgrade to new version
echo_b "Upgrade chaincode to new version..." echo_b "Upgrade chaincode ${CC_NAME} to new version..."
chaincodeInstall 1 0 "${CC_02_NAME}" "${CC_UPGRADE_VERSION}" "${CC_02_PATH}" chaincodeInstall 1 0 "${CC_NAME}" "${CC_UPGRADE_VERSION}" "${CC_PATH}"
chaincodeInstall 1 1 "${CC_02_NAME}" "${CC_UPGRADE_VERSION}" "${CC_02_PATH}" chaincodeInstall 1 1 "${CC_NAME}" "${CC_UPGRADE_VERSION}" "${CC_PATH}"
chaincodeInstall 2 0 "${CC_02_NAME}" "${CC_UPGRADE_VERSION}" "${CC_02_PATH}" chaincodeInstall 2 0 "${CC_NAME}" "${CC_UPGRADE_VERSION}" "${CC_PATH}"
chaincodeInstall 2 1 "${CC_02_NAME}" "${CC_UPGRADE_VERSION}" "${CC_02_PATH}" chaincodeInstall 2 1 "${CC_NAME}" "${CC_UPGRADE_VERSION}" "${CC_PATH}"
# Upgrade on one peer of the channel will update all # Upgrade on one peer of the channel will update all
chaincodeUpgrade ${APP_CHANNEL} 1 0 "${CC_02_NAME}" "${CC_UPGRADE_VERSION}" "${CC_02_UPGRADE_ARGS}" chaincodeUpgrade ${APP_CHANNEL} 1 0 "${CC_NAME}" "${CC_UPGRADE_VERSION}" "${CC_UPGRADE_ARGS}"
# Query new value, should refresh through all peers in the channel # Query new value, should refresh through all peers in the channel
chaincodeQuery ${APP_CHANNEL} 1 0 "${CC_02_NAME}" "${CC_02_QUERY_ARGS}" 100 chaincodeQuery ${APP_CHANNEL} 1 0 "${CC_NAME}" "${CC_QUERY_ARGS}" 100
chaincodeQuery ${APP_CHANNEL} 2 1 "${CC_02_NAME}" "${CC_02_QUERY_ARGS}" 100 chaincodeQuery ${APP_CHANNEL} 2 1 "${CC_NAME}" "${CC_QUERY_ARGS}" 100
echo_g "=== All GOOD, chaincode Upgrade completed ===" echo_g "=== All GOOD, chaincode Upgrade completed ==="

View File

@ -19,14 +19,15 @@ peer=0
#--tls "true" \ #--tls "true" \
#--cafile ${ORDERER_TLS_CA} \ #--cafile ${ORDERER_TLS_CA} \
CC_NAME=${CC_02_NAME}
echo_b "LSCC Get id" echo_b "LSCC Get id"
chaincodeQuery "${APP_CHANNEL}" $org $peer lscc '{"Args":["getid","'${APP_CHANNEL}'", "'$CC_02_NAME'"]}' chaincodeQuery "${APP_CHANNEL}" $org $peer lscc '{"Args":["getid","'${APP_CHANNEL}'", "'${CC_NAME}'"]}'
echo_b "LSCC Get cc ChaincodeDeploymentSpec" echo_b "LSCC Get cc ChaincodeDeploymentSpec"
chaincodeQuery "${APP_CHANNEL}" $org $peer lscc '{"Args":["getdepspec","'${APP_CHANNEL}'", "'$CC_02_NAME'"]}' chaincodeQuery "${APP_CHANNEL}" $org $peer lscc '{"Args":["getdepspec","'${APP_CHANNEL}'", "'${CC_NAME}'"]}'
echo_b "LSCC Get cc bytes" echo_b "LSCC Get cc bytes"
chaincodeQuery "${APP_CHANNEL}" $org $peer lscc '{"Args":["getccdata","'${APP_CHANNEL}'", "'$CC_02_NAME'"]}' chaincodeQuery "${APP_CHANNEL}" $org $peer lscc '{"Args":["getccdata","'${APP_CHANNEL}'", "'${CC_NAME}'"]}'
echo_b "LSCC Get all chaincodes installed on the channel" echo_b "LSCC Get all chaincodes installed on the channel"
chaincodeQuery "${APP_CHANNEL}" $org $peer lscc '{"Args":["getinstalledchaincodes"]}' chaincodeQuery "${APP_CHANNEL}" $org $peer lscc '{"Args":["getinstalledchaincodes"]}'
@ -38,17 +39,17 @@ chaincodeQuery "${APP_CHANNEL}" $org $peer lscc '{"Args":["getchaincodes"]}'
#peer chaincode query \ #peer chaincode query \
# -C "${APP_CHANNEL}" \ # -C "${APP_CHANNEL}" \
# -n lscc \ # -n lscc \
# -c '{"Args":["getid","'${APP_CHANNEL}'", "'$CC_02_NAME'"]}' # -c '{"Args":["getid","'${APP_CHANNEL}'", "'$CC_NAME'"]}'
#peer chaincode query \ #peer chaincode query \
# -C "${APP_CHANNEL}" \ # -C "${APP_CHANNEL}" \
# -n lscc \ # -n lscc \
# -c '{"Args":["getdepspec","'${APP_CHANNEL}'", "'$CC_02_NAME'"]}' # -c '{"Args":["getdepspec","'${APP_CHANNEL}'", "'$CC_NAME'"]}'
#peer chaincode query \ #peer chaincode query \
# -C "${APP_CHANNEL}" \ # -C "${APP_CHANNEL}" \
# -n lscc \ # -n lscc \
# -c '{"Args":["getccdata","'${APP_CHANNEL}'", "'$CC_02_NAME'"]}' # -c '{"Args":["getccdata","'${APP_CHANNEL}'", "'$CC_NAME'"]}'
#peer chaincode query \ #peer chaincode query \
# -C "${APP_CHANNEL}" \ # -C "${APP_CHANNEL}" \

View File

@ -39,17 +39,25 @@ ORG1_PEER1_URL="peer1.org1.example.com:7051"
ORG2_PEER0_URL="peer0.org2.example.com:7051" ORG2_PEER0_URL="peer0.org2.example.com:7051"
ORG2_PEER1_URL="peer1.org2.example.com:7051" ORG2_PEER1_URL="peer1.org2.example.com:7051"
# Chaincode related
CC_02_NAME="exp02"
CC_02_PATH="examples/chaincode/go/chaincode_example02"
CC_INIT_VERSION=1.0 CC_INIT_VERSION=1.0
CC_UPGRADE_VERSION=1.1 CC_UPGRADE_VERSION=1.1
# Chaincode exp02 related
CC_02_NAME="exp02"
CC_02_PATH="examples/chaincode/go/chaincode_example02"
CC_02_INIT_ARGS='{"Args":["init","a","100","b","200"]}' CC_02_INIT_ARGS='{"Args":["init","a","100","b","200"]}'
CC_02_UPGRADE_ARGS='{"Args":["upgrade","a","100","b","200"]}' CC_02_UPGRADE_ARGS='{"Args":["upgrade","a","100","b","200"]}'
CC_02_INVOKE_ARGS='{"Args":["invoke","a","b","10"]}' CC_02_INVOKE_ARGS='{"Args":["invoke","a","b","10"]}'
CC_02_QUERY_ARGS='{"Args":["query","a"]}' CC_02_QUERY_ARGS='{"Args":["query","a"]}'
# Chaincode map related
CC_MAP_NAME="map"
CC_MAP_PATH="examples/chaincode/go/map"
CC_MAP_INIT_ARGS='{"Args":["init",""]}'
CC_MAP_UPGRADE_ARGS='{"Args":["upgrade",""]}'
CC_MAP_INVOKE_ARGS='{"Args":["invoke","put","key","value"]}'
CC_MAP_QUERY_ARGS='{"Args":["get","key"]}'
# TLS config # TLS config
CORE_PEER_TLS_ENABLED="true" CORE_PEER_TLS_ENABLED="true"

View File

@ -698,13 +698,13 @@
}, },
"signatures": [ "signatures": [
{ {
"signature": "MEQCIHwIp2guw9a2SGenaYJWx4LR1be3RLhAY7Qn4rRIyg1lAiATSSj6kSa9lcAImM2WOVKXwtLr9TX73vMDOf2oruE0Ow==", "signature": "MEUCIQDJ/PJG5coifK0MyZomxvdZOPc+UoDL+DrOLGR6ShgGdgIgMp/p3sXXIDwY9dnvn66fL1FixnJi5YZVcmNGOGWRx2A=",
"signature_header": { "signature_header": {
"creator": { "creator": {
"id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWIrZ0F3SUJBZ0lRWGFsZS9zSnJHUnlVQVc3dmQ4eWhHakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV5TWprd05qSTJNemxhRncweU56RXlNamN3TmpJMk16bGEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeUxtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE5aaE5Bek9ReUlweXZnQnNWeDRMN2NreHYrSCtERGwKM2lTNGF2ekJ3czFWeXRjWXBtVVFNN2g3R3Z0VDJjOGJtTjFQZFBqbEdCWnJ2cEdHb2ZTeDJLTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnK1pVVXZjUi9CWVZGCm1DMmdxS1FBWi93QTBpM3NXSkZvY3BpeEtJQ00rMVl3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQU1DdjNNME8KQXFIOUJkdlVjYlRXd3BOM09PcGcrKzJETTAxRFY0b1UyRkhNQWlBMk9iL0pLTnl2YS9meFJQRnEyOWkrNVphTApSMEw1SnI4ODc4YkxVNkljRUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWIrZ0F3SUJBZ0lRWGFsZS9zSnJHUnlVQVc3dmQ4eWhHakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV5TWprd05qSTJNemxhRncweU56RXlNamN3TmpJMk16bGEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeUxtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE5aaE5Bek9ReUlweXZnQnNWeDRMN2NreHYrSCtERGwKM2lTNGF2ekJ3czFWeXRjWXBtVVFNN2g3R3Z0VDJjOGJtTjFQZFBqbEdCWnJ2cEdHb2ZTeDJLTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnK1pVVXZjUi9CWVZGCm1DMmdxS1FBWi93QTBpM3NXSkZvY3BpeEtJQ00rMVl3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQU1DdjNNME8KQXFIOUJkdlVjYlRXd3BOM09PcGcrKzJETTAxRFY0b1UyRkhNQWlBMk9iL0pLTnl2YS9meFJQRnEyOWkrNVphTApSMEw1SnI4ODc4YkxVNkljRUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"mspid": "Org2MSP" "mspid": "Org2MSP"
}, },
"nonce": "KFIN9pfh/D2qrHkq+b31h/kgw1H2ipBs" "nonce": "uFcUC8UcXpNuUO6lljTHKn1K1NpjmN/O"
} }
} }
] ]
@ -713,7 +713,7 @@
"channel_header": { "channel_header": {
"channel_id": "businesschannel", "channel_id": "businesschannel",
"epoch": "0", "epoch": "0",
"timestamp": "2018-01-05T02:50:27.000Z", "timestamp": "2018-01-05T06:36:30.000Z",
"tx_id": "", "tx_id": "",
"type": 2, "type": 2,
"version": 0 "version": 0
@ -723,18 +723,18 @@
"id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWIrZ0F3SUJBZ0lRWGFsZS9zSnJHUnlVQVc3dmQ4eWhHakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV5TWprd05qSTJNemxhRncweU56RXlNamN3TmpJMk16bGEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeUxtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE5aaE5Bek9ReUlweXZnQnNWeDRMN2NreHYrSCtERGwKM2lTNGF2ekJ3czFWeXRjWXBtVVFNN2g3R3Z0VDJjOGJtTjFQZFBqbEdCWnJ2cEdHb2ZTeDJLTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnK1pVVXZjUi9CWVZGCm1DMmdxS1FBWi93QTBpM3NXSkZvY3BpeEtJQ00rMVl3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQU1DdjNNME8KQXFIOUJkdlVjYlRXd3BOM09PcGcrKzJETTAxRFY0b1UyRkhNQWlBMk9iL0pLTnl2YS9meFJQRnEyOWkrNVphTApSMEw1SnI4ODc4YkxVNkljRUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWIrZ0F3SUJBZ0lRWGFsZS9zSnJHUnlVQVc3dmQ4eWhHakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV5TWprd05qSTJNemxhRncweU56RXlNamN3TmpJMk16bGEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeUxtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE5aaE5Bek9ReUlweXZnQnNWeDRMN2NreHYrSCtERGwKM2lTNGF2ekJ3czFWeXRjWXBtVVFNN2g3R3Z0VDJjOGJtTjFQZFBqbEdCWnJ2cEdHb2ZTeDJLTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnK1pVVXZjUi9CWVZGCm1DMmdxS1FBWi93QTBpM3NXSkZvY3BpeEtJQ00rMVl3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQU1DdjNNME8KQXFIOUJkdlVjYlRXd3BOM09PcGcrKzJETTAxRFY0b1UyRkhNQWlBMk9iL0pLTnl2YS9meFJQRnEyOWkrNVphTApSMEw1SnI4ODc4YkxVNkljRUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"mspid": "Org2MSP" "mspid": "Org2MSP"
}, },
"nonce": "VZpFerjp7rc1wwjkc54kQcMORD2dthzq" "nonce": "8jn6u8Ccuswbf3vIsdm/LFNqCsxUcv6F"
} }
} }
}, },
"signature": "MEQCIHswHsx24JeGCpAptKdFHapoiBnQLnuiVpwk6fTS+6IzAiAfWsvy0Ccyji8Wg3yx8BbM0xcb/Lr7rkJYd3Xq2v4lvA==" "signature": "MEQCIH0YvyTo+CqRgciMU6SiIcTyw4I3psnLrWMZVsKPPFv7AiAc3ZoyL4+KQ5FjKr5vsR+l6SxmpQ5qvCKqCJ7MDUHStA=="
} }
}, },
"header": { "header": {
"channel_header": { "channel_header": {
"channel_id": "businesschannel", "channel_id": "businesschannel",
"epoch": "0", "epoch": "0",
"timestamp": "2018-01-05T02:50:27.000Z", "timestamp": "2018-01-05T06:36:30.000Z",
"tx_id": "", "tx_id": "",
"type": 1, "type": 1,
"version": 0 "version": 0
@ -744,23 +744,23 @@
"id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNERENDQWJPZ0F3SUJBZ0lSQU8zb3g2UGwva1N2d2ZnT25YVUxBQzh3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV5TWprd05qSTJNemxhRncweU56RXlNamN3TmpJMk16bGFNRmd4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJ3d0dnWURWUVFERXhOdmNtUmxjbVZ5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJCktvWkl6ajBEQVFjRFFnQUVtM0ZzdE15T0xCUmwrWDFSVGtJaFhDdHF4VU1vckdPblBsT0FVRFhiK3d6VmNKalIKb3lCZjY4Q25yMFVtWGJzTFRiU0doNnlJZzRsQ3NrcFNwKzF5UktOTk1Fc3dEZ1lEVlIwUEFRSC9CQVFEQWdlQQpNQXdHQTFVZEV3RUIvd1FDTUFBd0t3WURWUjBqQkNRd0lvQWc3ZTQ2aUh6eTgzNURGNlo2MktkbG5DbHFSRkFZClY5cDc4WmxrRmtJd3Bpc3dDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdLNS9tSHJkcGRqY21tSGV0cW9sWGZvcTMKU09FcTFDTmdHVDF0ZHBLMlozc0NJQ0I3OEUzeXVpVXBtaWVsVnhlc1hMOGo5b0RiK0xLK3NHYWkvRzUyT2U1WAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNERENDQWJPZ0F3SUJBZ0lSQU8zb3g2UGwva1N2d2ZnT25YVUxBQzh3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV5TWprd05qSTJNemxhRncweU56RXlNamN3TmpJMk16bGFNRmd4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJ3d0dnWURWUVFERXhOdmNtUmxjbVZ5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJCktvWkl6ajBEQVFjRFFnQUVtM0ZzdE15T0xCUmwrWDFSVGtJaFhDdHF4VU1vckdPblBsT0FVRFhiK3d6VmNKalIKb3lCZjY4Q25yMFVtWGJzTFRiU0doNnlJZzRsQ3NrcFNwKzF5UktOTk1Fc3dEZ1lEVlIwUEFRSC9CQVFEQWdlQQpNQXdHQTFVZEV3RUIvd1FDTUFBd0t3WURWUjBqQkNRd0lvQWc3ZTQ2aUh6eTgzNURGNlo2MktkbG5DbHFSRkFZClY5cDc4WmxrRmtJd3Bpc3dDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdLNS9tSHJkcGRqY21tSGV0cW9sWGZvcTMKU09FcTFDTmdHVDF0ZHBLMlozc0NJQ0I3OEUzeXVpVXBtaWVsVnhlc1hMOGo5b0RiK0xLK3NHYWkvRzUyT2U1WAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"mspid": "OrdererMSP" "mspid": "OrdererMSP"
}, },
"nonce": "LbUDdDZncSEmg8IaKsceP8tYkcxwRF9D" "nonce": "9TeXlpYDlodfd+HGxdYSLhjwXEHTML8p"
} }
} }
}, },
"signature": "MEUCIQD1Leob7f/Tm+UhWaWga5++yFYar1NPLLZgR49cqbKwbQIgAZ2u3NOl3Tusve7JlB+yvIbxkscYiBWehXnhvr9kk58=" "signature": "MEQCICOAf/sDK4B3upuec5ny0khKUaEAbxNS/4l6vbNd0jy3AiBCZI8KE6+cc3B+Jgx0CcNGGLnw2V6v+AEiopl0y/NNVA=="
} }
] ]
}, },
"header": { "header": {
"data_hash": "PFXmQJonWaN2XKT3gSbsKPW0EboiDPTbr867K9E2jF8=", "data_hash": "odmOEv05/T2C6GmKC2vsh5bkueAH5/q/PVucn8iUc6A=",
"number": "2", "number": "2",
"previous_hash": "bjZey0pUuU/2DNrJQ9URib2dNHY9WxWL3LSrMVdIrpQ=" "previous_hash": "ZERGtQYOmHA0pvWOz4QJM5AYnEkaZg/jt5gzIHQ7120="
}, },
"metadata": { "metadata": {
"metadata": [ "metadata": [
"EvkGCq0GCpAGCgpPcmRlcmVyTVNQEoEGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNERENDQWJPZ0F3SUJBZ0lSQU8zb3g2UGwva1N2d2ZnT25YVUxBQzh3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV5TWprd05qSTJNemxhRncweU56RXlNamN3TmpJMk16bGFNRmd4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJ3d0dnWURWUVFERXhOdmNtUmxjbVZ5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJCktvWkl6ajBEQVFjRFFnQUVtM0ZzdE15T0xCUmwrWDFSVGtJaFhDdHF4VU1vckdPblBsT0FVRFhiK3d6VmNKalIKb3lCZjY4Q25yMFVtWGJzTFRiU0doNnlJZzRsQ3NrcFNwKzF5UktOTk1Fc3dEZ1lEVlIwUEFRSC9CQVFEQWdlQQpNQXdHQTFVZEV3RUIvd1FDTUFBd0t3WURWUjBqQkNRd0lvQWc3ZTQ2aUh6eTgzNURGNlo2MktkbG5DbHFSRkFZClY5cDc4WmxrRmtJd3Bpc3dDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdLNS9tSHJkcGRqY21tSGV0cW9sWGZvcTMKU09FcTFDTmdHVDF0ZHBLMlozc0NJQ0I3OEUzeXVpVXBtaWVsVnhlc1hMOGo5b0RiK0xLK3NHYWkvRzUyT2U1WAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tChIYVJDDNMg85guEVAwtftJrqT0NIR7XiCejEkcwRQIhAI0iwvwwj0mOdCB7J+CFI01rVbxSP/aaqJ2KfY+h8jfrAiAtg/Kv53UHQyF7jtJA4Jh+lqjv9i+k+qLl9qiWrcGsUw==", "EvgGCq0GCpAGCgpPcmRlcmVyTVNQEoEGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNERENDQWJPZ0F3SUJBZ0lSQU8zb3g2UGwva1N2d2ZnT25YVUxBQzh3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV5TWprd05qSTJNemxhRncweU56RXlNamN3TmpJMk16bGFNRmd4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJ3d0dnWURWUVFERXhOdmNtUmxjbVZ5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJCktvWkl6ajBEQVFjRFFnQUVtM0ZzdE15T0xCUmwrWDFSVGtJaFhDdHF4VU1vckdPblBsT0FVRFhiK3d6VmNKalIKb3lCZjY4Q25yMFVtWGJzTFRiU0doNnlJZzRsQ3NrcFNwKzF5UktOTk1Fc3dEZ1lEVlIwUEFRSC9CQVFEQWdlQQpNQXdHQTFVZEV3RUIvd1FDTUFBd0t3WURWUjBqQkNRd0lvQWc3ZTQ2aUh6eTgzNURGNlo2MktkbG5DbHFSRkFZClY5cDc4WmxrRmtJd3Bpc3dDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdLNS9tSHJkcGRqY21tSGV0cW9sWGZvcTMKU09FcTFDTmdHVDF0ZHBLMlozc0NJQ0I3OEUzeXVpVXBtaWVsVnhlc1hMOGo5b0RiK0xLK3NHYWkvRzUyT2U1WAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tChIYt0MLNFJZzwYyCh+J3WTh7orO0wDR/dNrEkYwRAIgBJIEnA2SUpYsw2+nSBBDVSsYVaGpUQGpSwDNQcrLef0CIFNHIOgdh8RWNl9P/7exTllF9ei3nvMfyJjyODgcZEfE",
"CgIIAhL4BgqtBgqQBgoKT3JkZXJlck1TUBKBBi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlDRERDQ0FiT2dBd0lCQWdJUkFPM294NlBsL2tTdndmZ09uWFVMQUM4d0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFeU1qa3dOakkyTXpsYUZ3MHlOekV5TWpjd05qSTJNemxhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFbTNGc3RNeU9MQlJsK1gxUlRrSWhYQ3RxeFVNb3JHT25QbE9BVURYYit3elZjSmpSCm95QmY2OENucjBVbVhic0xUYlNHaDZ5SWc0bENza3BTcCsxeVJLTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnN2U0NmlIenk4MzVERjZaNjJLZGxuQ2xxUkZBWQpWOXA3OFpsa0ZrSXdwaXN3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnSzUvbUhyZHBkamNtbUhldHFvbFhmb3EzClNPRXExQ05nR1QxdGRwSzJaM3NDSUNCNzhFM3l1aVVwbWllbFZ4ZXNYTDhqOW9EYitMSytzR2FpL0c1Mk9lNVgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoSGMvkI1Nb8JuuhUUCUlYGkdtEqn5b+pw2FhJGMEQCIAWGbXLc2qsu6IKC9qgOYGzIcRSrcTBjTTsmRj1HyTjVAiA96pCtrVCr+8baQgd9IVNPRkKPy/TOmJsoM2mFvDmMhA==", "CgIIAhL5BgqtBgqQBgoKT3JkZXJlck1TUBKBBi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlDRERDQ0FiT2dBd0lCQWdJUkFPM294NlBsL2tTdndmZ09uWFVMQUM4d0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFeU1qa3dOakkyTXpsYUZ3MHlOekV5TWpjd05qSTJNemxhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFbTNGc3RNeU9MQlJsK1gxUlRrSWhYQ3RxeFVNb3JHT25QbE9BVURYYit3elZjSmpSCm95QmY2OENucjBVbVhic0xUYlNHaDZ5SWc0bENza3BTcCsxeVJLTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnN2U0NmlIenk4MzVERjZaNjJLZGxuQ2xxUkZBWQpWOXA3OFpsa0ZrSXdwaXN3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnSzUvbUhyZHBkamNtbUhldHFvbFhmb3EzClNPRXExQ05nR1QxdGRwSzJaM3NDSUNCNzhFM3l1aVVwbWllbFZ4ZXNYTDhqOW9EYitMSytzR2FpL0c1Mk9lNVgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoSGAv9Y+9pB2HYf7lRSgwo1yyx90XPZjWoABJHMEUCIQCuYJfq/st7AKIroj+XoTR5wr1Vc2ft4pQ2OFFvcHzITgIgettMSWfkUU9ENxecKGmmDWjIuagxZ/OX4N6bUj+4fSg=",
"", "",
"" ""
] ]

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long