Add fetching block example

pull/108/head
Baohua Yang 2017-10-08 13:55:16 +08:00
parent a8b39d06f8
commit b173bf016e
15 changed files with 1799 additions and 82 deletions

View File

@ -22,8 +22,7 @@ all:
sleep 2 sleep 2
make ready make ready
make lscc qscc make lscc qscc fetch_block
make stop clean make stop clean
ready: restart ready: restart
@ -63,7 +62,6 @@ stop: # stop the fabric network
restart: stop start restart: stop start
################## Chaincode testing operations ################ ################## Chaincode testing operations ################
test_cc: # test user chaincode on all peers test_cc: # test user chaincode on all peers
@echo "Invoke and query cc example02 on all peers" @echo "Invoke and query cc example02 on all peers"
@ -79,6 +77,14 @@ qscc: # test qscc queries
lscc: # test lscc quries lscc: # test lscc quries
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_lscc.sh" docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_lscc.sh"
fetch_block: # test channel fetch
docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_fetch.sh"
docker cp fabric-cli:/tmp/block_0.block kafka/channel-artifacts/
docker cp fabric-cli:/tmp/block_1.block kafka/channel-artifacts/
docker cp fabric-cli:/tmp/block_2.block kafka/channel-artifacts/
docker cp fabric-cli:/tmp/block_3.block kafka/channel-artifacts/
################## Env setup related, no need to see usually ################ ################## Env setup related, no need to see usually ################
setup: # setup the environment setup: # setup the environment

View File

@ -11,7 +11,7 @@ services:
extends: extends:
file: base.yaml file: base.yaml
service: orderer-base service: orderer-base
image: yeasy/hyperledger-fabric:latest # TODO: latest orderer code cannot work image: yeasy/hyperledger-fabric:latest
container_name: orderer.example.com container_name: orderer.example.com
hostname: orderer.example.com hostname: orderer.example.com
ports: ports:
@ -80,7 +80,7 @@ services:
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
volumes: volumes:
- $GOPATH/src/github.com/hyperledger/fabric:/opt/gopath/src/github.com/hyperledger/fabric - $GOPATH/src/github.com/hyperledger/fabric:/opt/gopath/src/github.com/hyperledger/fabric
- /tmp/:/tmp/ #- /tmp/:/tmp/
- ./scripts:/tmp/scripts - ./scripts:/tmp/scripts
# e2e mode configuration # e2e mode configuration
#- ./e2e_cli/channel-artifacts:/tmp/channel-artifacts #- ./e2e_cli/channel-artifacts:/tmp/channel-artifacts

View File

@ -0,0 +1,774 @@
{
"data": {
"data": [
{
"payload": {
"data": {
"config": {
"channel_group": {
"groups": {
"Application": {
"groups": {
"Org1MSP": {
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org1MSP",
"role": "ADMIN"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org1MSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org1MSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
}
},
"values": {
"MSP": {
"mod_policy": "Admins",
"value": {
"config": {
"admins": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQUxSUENyNm5lYVdwdzhFUXdHcU42WGN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5sSXlmdTZEQ2hWalBwdTMvalhBQlZ3UTFmZGVNeDIKSkp5RDlXeGpGV3hQS1FTNmxSdjNCTWtRSUY2eUljQWJVWVV5L1R0dXhBd2tnMmVjR1lXTGNCaWpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSVA1OUNlV3k0dmV4Cnl3cVY0cWdRNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1AwdUsKTWE1UUxuTEtOS0JxYTh4VXFOTXhJcTVoazkxQzVNWVVETi9FUEFJZ1RtY25OQTNMRUlMNlhraExSV0xDMWhpbApSa0Q3Q1lxaE1UYmZtRGQ1K21jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
],
"crypto_config": {
"identity_identifier_hash_function": "SHA256",
"signature_hash_family": "SHA2"
},
"name": "Org1MSP",
"root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQUxHa2ZJRThZNFNKdU1Zd2lWWGdST0F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkFJQTMrZ2R4QW8vRDdhakdkeFdtelFNV05NY3ZGTjhCV1RYNWRLd1o0M1pHa1hxM1p6WWM2YitkS0FVYktLWQpWaUsrSXhNQkorM2RIMEhocEhzVU9lbWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSVA1OUNlV3k0dmV4eXdxVjRxZ1EKNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDdFIzMFJJU0V0OWc3YwpHUGt5Zi92V25XVmtabjJIYUxyaldPQzhsRkdIQUFJZ0k0eXNVekZJa2ZkY2MySjNhRkFnc0w1MGVLbkl3MjZVCkR5T2kwaHlkYS84PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
],
"tls_root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUxrM1R5cXFSYUlqZGtsdTZWRzVyVnN3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1EQTJNVEUwT0RBeFdoY05NamN4TURBME1URTAKT0RBeFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCSnpQVk1iZDFaOWVodTRTYU5BeW5vaWE3bGkrUXJjTGxqeWR5VitaSGQ5b3N0VzA4b01VTVF5cgo1OGdsczdYZ2lyVkF6ay9oSTR4ZnVHY2I5aW9sOFFLalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJT3VsQnhyZXR0dlYKcXVRUVU5eXFhT2JxcEZtYzE3NnJrcStLekpyTlNoeW9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUNGc1BjVQo5VVQyRFNQZGhqU3lTQnF6UUE2ZG1hMk9waEx3K2NZcHBhYmtDQUlnWGJheStiaVlnWThEYUFyT0hCUTRhNllRCm9pWU9NeGRuQWM3SDROUXFkd3c9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
]
},
"type": 0
},
"version": "0"
}
},
"version": "0"
},
"Org2MSP": {
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org2MSP",
"role": "ADMIN"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org2MSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org2MSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
}
},
"values": {
"MSP": {
"mod_policy": "Admins",
"value": {
"config": {
"admins": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWIrZ0F3SUJBZ0lRQjgzYWNLdEtGOHpOSWd4SjVPQSt6akFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV3TURZeE1UUTRNREZhRncweU56RXdNRFF4TVRRNE1ERmEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeUxtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFODZNR0tDNWFXSEFob0xMMmxFcDV6Y05IMEN3ZTIvSFIKVUNKQXVhSVM0bVRQN3VsbTFVR1RaYm9MMC9qRmdXN2JGWHphc3V5OUpTTWRRTXFnQlJzVVphTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0Fna0NHUnZRN2N2cnlvClAwWlo3OWhWdFZoTFRkQkY2NHFPTFpoVytzbnh2dWd3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUtiUk5YUE4KcGZReS9xWEc3Zzdxbi8zclpYSko3VGF4U0RKUkt1MDJNVW1qQWlBMWJvdmhUSW1YeWlVbE9lM0RHeGkzejlTRQpLUTZMS0R5M1VjcGFMTC8xVWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
],
"crypto_config": {
"identity_identifier_hash_function": "SHA256",
"signature_hash_family": "SHA2"
},
"name": "Org2MSP",
"root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQU1YazFMLzZ2V1dRQkZ6eDJqdy9FSlF3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQk5URVNPaW1DaUFZMG9seWtEN1Z1RWN0WTNCb29EN2ZMRS83WUhsc3NLMlhaTEFQekVuODRxRk43VDI0UW5YdQovdFMwYVRLYmxuQmRWNEJWRnROSEZ1cWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUpBaGtiME8zTDY4cUQ5R1dlL1kKVmJWWVMwM1FSZXVLamkyWVZ2cko4YjdvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDTEZIclZMcUdyUHhDMQovRGlWV3NKMGJSUGNhbVl2dzc5SWFMajVZczlBcEFJZ2R1RnU2TysrVFFYeUNGSGprVFppWVVua3ZSNU8vQVVWCmYyOXRiZzNpajlrPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
],
"tls_root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWZDZ0F3SUJBZ0lSQU5LZ1Y3dDZmSGVEeTlmOVpqdnBkMk13Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1EQTJNVEUwT0RBeFdoY05NamN4TURBME1URTAKT0RBeFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCS0tXQXMwb3ZtMTg0ZXlSbFhWanlmSStrcGtWWUg1d3VERStmM3ZxQ0VWWU1EcUIyYURIN1RpcwpCN1hwZkVtQVRsaStERGQzcnFXKzNFeHdDSkVUQXlLalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJRWp1ZUJocXFmOC8KekowTmNHZWRIVUFTYThSU0pBeWs5UG5hYytXVzQ4SXZNQW9HQ0NxR1NNNDlCQU1DQTBjQU1FUUNJQmxHdWY0eQprUTZoMDdwdXBuS0Jtd3RvLzlmS3JRMWE2ZlVvOWcwMXRJSi9BaUIrSlJ2ck9oWlJBOElDYUVqN1c4WGRoK3Z4CjBjUERSVThieHE0Q1NHOVc3dz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
]
},
"type": 0
},
"version": "0"
}
},
"version": "0"
}
},
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "MAJORITY",
"sub_policy": "Admins"
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Readers"
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Writers"
}
},
"version": "0"
}
},
"version": "1"
},
"Orderer": {
"groups": {
"OrdererOrg": {
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "OrdererMSP",
"role": "ADMIN"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "OrdererMSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "OrdererMSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
}
},
"values": {
"MSP": {
"mod_policy": "Admins",
"value": {
"config": {
"admins": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDVENDQWJDZ0F3SUJBZ0lRTHBmNnNKL3o5dGQvVGRSd1A5RjFRakFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEF3TmpFeE5EZ3dNVm9YRFRJM01UQXdOREV4TkRnd01Wb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRVVMRVQ0SGZUa21kRmc5bGNJbFc3SjFZb29hRXRjTVZDdTA1YytJc2hrU2NpZ0tOQ0h1SVMKcFp5dHVNWXpwejZpcmJFUkVENmhrUjZrTTJEd2ZQSTVjNk5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZzJacUxneU5KMU85Yy96VjcxYkFnU2ZHNzlqR3JLSjhmCnJzY0MyYU03Q3Rrd0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ2JwZ3pOd0lFd2ZKVVFIRGJBTWNxTUxSQ3B3ZncKRDVDZnNDVHh0eWFBSGdJQ0lDMThGSjZuZDlHY3V2TVh0UElqZ2NHTkI0UkR6MDVndVVDYWlTQWorczZ1Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
],
"crypto_config": {
"identity_identifier_hash_function": "SHA256",
"signature_hash_family": "SHA2"
},
"name": "OrdererMSP",
"root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMakNDQWRXZ0F3SUJBZ0lRRVRyM1NIdWg0T0I1eEJEQnNzZ3JIVEFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEF3TmpFeE5EZ3dNVm9YRFRJM01UQXdOREV4TkRnd01Wb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJFOEcwbG1Hck10QUlEWnhOWkV5VkIyb3hTZGYKZ2VTTkRTb2ErUTRTTFZ1MzNqMjlVWGc4Rzg4VmR4cXozK0p3cTBvRnc3VkZEcVV2eENqY1FjcWxIOEtqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJTm1haTRNalNkVHZYUDgxZTlXd0lFbnh1L1l4cXlpZkg2N0hBdG1qT3dyWk1Bb0cKQ0NxR1NNNDlCQU1DQTBjQU1FUUNJRTg0N2ZMSnBmandRT2Q1b3AvZFMwck5Ca21XenFFMEhtVVY4eHVrYS82ZwpBaUFCNXQrU0trWEtJK3cyWCsvdWtKRHVKbVI3MUpta1Z6NFdOOGtubUovcVJ3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="
],
"tls_root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR5Z0F3SUJBZ0lSQU5VS0FIRDZjWWE3VnpWbVhmMmNXZVV3Q2dZSUtvWkl6ajBFQXdJd2JERUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJvd0dBWURWUVFERXhGMGJITmpZUzVsCmVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFd01EWXhNVFE0TURGYUZ3MHlOekV3TURReE1UUTRNREZhTUd3eEN6QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaApibU5wYzJOdk1SUXdFZ1lEVlFRS0V3dGxlR0Z0Y0d4bExtTnZiVEVhTUJnR0ExVUVBeE1SZEd4elkyRXVaWGhoCmJYQnNaUzVqYjIwd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUUDQyMEZ1L1puWUhzeVhxZi8KdmpteGhaNUcvbEdIZG5VL3c5NTkvekp2N0Y1SkQ3dThYbnBjL3BsdVZvNFJSaTlCQ2JPblBBZVJMY3RLRms0YQpPRFpzbzE4d1hUQU9CZ05WSFE4QkFmOEVCQU1DQWFZd0R3WURWUjBsQkFnd0JnWUVWUjBsQURBUEJnTlZIUk1CCkFmOEVCVEFEQVFIL01Da0dBMVVkRGdRaUJDRG5sQkpYdG1WNkZuTncrY1FnSlVCTWRuZGx6Mkw0RGYwTGR1T1IKeFlYamNqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQUZpV3l0VFgwbGlydGM2ZTRVd3F6V0lJUG9DQ21ScHJBVQpsaTU4OCt4empBSWdSRktRUFlSKytnd3pmZnRBZjliQ2w1aEEwcGl4WE9zaXpYNzhXcGJvM0lBPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
]
},
"type": 0
},
"version": "0"
}
},
"version": "0"
}
},
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "MAJORITY",
"sub_policy": "Admins"
}
},
"version": "0"
},
"BlockValidation": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Writers"
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Readers"
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Writers"
}
},
"version": "0"
}
},
"values": {
"BatchSize": {
"mod_policy": "Admins",
"value": {
"absolute_max_bytes": 102760448,
"max_message_count": 10,
"preferred_max_bytes": 524288
},
"version": "0"
},
"BatchTimeout": {
"mod_policy": "Admins",
"value": {
"timeout": "2s"
},
"version": "0"
},
"ChannelRestrictions": {
"mod_policy": "Admins",
"version": "0"
},
"ConsensusType": {
"mod_policy": "Admins",
"value": {
"type": "kafka"
},
"version": "0"
},
"KafkaBrokers": {
"mod_policy": "Admins",
"value": {
"brokers": [
"kafka0:9092",
"kafka1:9092",
"kafka2:9092",
"kafka3:9092"
]
},
"version": "0"
}
},
"version": "0"
}
},
"mod_policy": "",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "MAJORITY",
"sub_policy": "Admins"
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Readers"
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Writers"
}
},
"version": "0"
}
},
"values": {
"BlockDataHashingStructure": {
"mod_policy": "Admins",
"value": {
"width": 4294967295
},
"version": "0"
},
"Consortium": {
"mod_policy": "",
"value": {
"name": "SampleConsortium"
},
"version": "0"
},
"HashingAlgorithm": {
"mod_policy": "Admins",
"value": {
"name": "SHA256"
},
"version": "0"
},
"OrdererAddresses": {
"mod_policy": "/Channel/Orderer/Admins",
"value": {
"addresses": [
"orderer.example.com:7050"
]
},
"version": "0"
}
},
"version": "0"
},
"sequence": "1",
"type": 0
},
"last_update": {
"payload": {
"data": {
"config_update": {
"channel_id": "businesschannel",
"isolated_data": {
"rscc_seed_data": {
"channel_group": {
"mod_policy": "/Channel/Application/Admins",
"policies": {
"Example": {
"mod_policy": "Example",
"policy": {
"type": 1,
"value": {
"rule": {
"n_out_of": {
"n": 0
}
},
"version": 0
}
},
"version": "0"
}
},
"values": {
"QSCC.Example1": {
"mod_policy": "/Channel/Application/Admins",
"value": {
"policy_ref": "/Channel/Application/Admins"
},
"version": "0"
},
"QSCC.Example2": {
"mod_policy": "/Channel/Application/Admins",
"value": {
"policy_ref": "Example"
},
"version": "0"
}
},
"version": "0"
},
"sequence": "0",
"type": 1
}
},
"read_set": {
"groups": {
"Application": {
"groups": {
"Org1MSP": {
"mod_policy": "",
"version": "0"
},
"Org2MSP": {
"mod_policy": "",
"version": "0"
}
},
"mod_policy": "",
"version": "0"
}
},
"mod_policy": "",
"values": {
"Consortium": {
"mod_policy": "",
"value": {
"name": "SampleConsortium"
},
"version": "0"
}
},
"version": "0"
},
"type": 0,
"write_set": {
"groups": {
"Application": {
"groups": {
"Org1MSP": {
"mod_policy": "",
"version": "0"
},
"Org2MSP": {
"mod_policy": "",
"version": "0"
}
},
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "MAJORITY",
"sub_policy": "Admins"
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Readers"
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Writers"
}
},
"version": "0"
}
},
"version": "1"
}
},
"mod_policy": "",
"values": {
"Consortium": {
"mod_policy": "",
"value": {
"name": "SampleConsortium"
},
"version": "0"
}
},
"version": "0"
}
},
"signatures": [
{
"signature": "MEQCIF+/1A0ve9qijUO81fP732Ktm53eNgYKoH/vgiknHlfEAiBzV0rWkE2JQXWnMTCfsLLWxbhirBbz3BkwS76XeemKSA==",
"signature_header": {
"creator": "CgdPcmcxTVNQEpYGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQUxSUENyNm5lYVdwdzhFUXdHcU42WGN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5sSXlmdTZEQ2hWalBwdTMvalhBQlZ3UTFmZGVNeDIKSkp5RDlXeGpGV3hQS1FTNmxSdjNCTWtRSUY2eUljQWJVWVV5L1R0dXhBd2tnMmVjR1lXTGNCaWpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSVA1OUNlV3k0dmV4Cnl3cVY0cWdRNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1AwdUsKTWE1UUxuTEtOS0JxYTh4VXFOTXhJcTVoazkxQzVNWVVETi9FUEFJZ1RtY25OQTNMRUlMNlhraExSV0xDMWhpbApSa0Q3Q1lxaE1UYmZtRGQ1K21jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"nonce": "nkeXfga1WAHVJhI/6cylAMwIw/JZx3z9"
}
}
]
},
"header": {
"channel_header": {
"channel_id": "businesschannel",
"epoch": "0",
"timestamp": "2017-10-08T01:54:48.000Z",
"tx_id": "",
"type": 2,
"version": 0
},
"signature_header": {
"creator": "CgdPcmcxTVNQEpYGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQUxSUENyNm5lYVdwdzhFUXdHcU42WGN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5sSXlmdTZEQ2hWalBwdTMvalhBQlZ3UTFmZGVNeDIKSkp5RDlXeGpGV3hQS1FTNmxSdjNCTWtRSUY2eUljQWJVWVV5L1R0dXhBd2tnMmVjR1lXTGNCaWpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSVA1OUNlV3k0dmV4Cnl3cVY0cWdRNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1AwdUsKTWE1UUxuTEtOS0JxYTh4VXFOTXhJcTVoazkxQzVNWVVETi9FUEFJZ1RtY25OQTNMRUlMNlhraExSV0xDMWhpbApSa0Q3Q1lxaE1UYmZtRGQ1K21jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"nonce": "RGk+4J2y8YzWSZ8865tvlHVs404lTEfe"
}
}
},
"signature": "MEUCIQDJWC1OO0y1g6oMY36j64t/pvIaLn8+UwNbUgKLppaORgIgGnIFHwU5ZlKfpaT1VpEbGazn+ZOrZGXljd7MqlnR4nQ="
}
},
"header": {
"channel_header": {
"channel_id": "businesschannel",
"epoch": "0",
"timestamp": "2017-10-08T01:54:48.000Z",
"tx_id": "",
"type": 1,
"version": 0
},
"signature_header": {
"creator": "CgpPcmRlcmVyTVNQEusFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRERDQ0FiT2dBd0lCQWdJUkFJUjJJQ25pVk9xQW1rL3Y0anJvekZjd0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFd01EWXhNVFE0TURGYUZ3MHlOekV3TURReE1UUTRNREZhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFRlcyNmM5RktMOFVqVzAyWXBsSHJSUnVQV1VmQ256REhBWEVqZjdoSUp4Y1cwOE1DCldvNXJUU3o3RmhZN3dpZWhKSjkzY3ZkK0lka3dZTnBjR3dvQmVxTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnMlpxTGd5TkoxTzljL3pWNzFiQWdTZkc3OWpHcgpLSjhmcnNjQzJhTTdDdGt3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUloQU5pNEUwbTJqQWx3ZGtzdlh6MEdFMVdDCnhnTDhObzBvNVdtdk9TTHMzL2pEQWg4cklrRnhxZVJITml1bG1WemxJOU9EZ3RaN2JxQ1hMMTN3RXd5N09KQlAKLS0tLS1FTkQgLS0tLS0K",
"nonce": "CxBu2sbWpdDcbOaWemXn8oUvFW+maWv4"
}
}
},
"signature": "MEQCIFMH76hDZ3LTrCNcXxFj/6ho39zSsZLd75Jop+iGrTpFAiAvX0Bdqd8zw1ypnmlidwsBWae8OIX/fXbEiHUjYtEjOA=="
}
]
},
"header": {
"data_hash": "BeDx5V7M8bqzfae5bpPBVwVvfow/73OSRClKylzKdNA=",
"number": "0"
},
"metadata": {
"metadata": [
"",
"",
"",
""
]
}
}

View File

@ -0,0 +1,735 @@
{
"data": {
"data": [
{
"payload": {
"data": {
"config": {
"channel_group": {
"groups": {
"Application": {
"groups": {
"Org1MSP": {
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org1MSP",
"role": "ADMIN"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org1MSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org1MSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
}
},
"values": {
"AnchorPeers": {
"mod_policy": "Admins",
"value": {
"anchor_peers": [
{
"host": "peer0.org1.example.com",
"port": 7051
}
]
},
"version": "0"
},
"MSP": {
"mod_policy": "Admins",
"value": {
"config": {
"admins": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQUxSUENyNm5lYVdwdzhFUXdHcU42WGN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5sSXlmdTZEQ2hWalBwdTMvalhBQlZ3UTFmZGVNeDIKSkp5RDlXeGpGV3hQS1FTNmxSdjNCTWtRSUY2eUljQWJVWVV5L1R0dXhBd2tnMmVjR1lXTGNCaWpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSVA1OUNlV3k0dmV4Cnl3cVY0cWdRNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1AwdUsKTWE1UUxuTEtOS0JxYTh4VXFOTXhJcTVoazkxQzVNWVVETi9FUEFJZ1RtY25OQTNMRUlMNlhraExSV0xDMWhpbApSa0Q3Q1lxaE1UYmZtRGQ1K21jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
],
"crypto_config": {
"identity_identifier_hash_function": "SHA256",
"signature_hash_family": "SHA2"
},
"name": "Org1MSP",
"root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQUxHa2ZJRThZNFNKdU1Zd2lWWGdST0F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkFJQTMrZ2R4QW8vRDdhakdkeFdtelFNV05NY3ZGTjhCV1RYNWRLd1o0M1pHa1hxM1p6WWM2YitkS0FVYktLWQpWaUsrSXhNQkorM2RIMEhocEhzVU9lbWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSVA1OUNlV3k0dmV4eXdxVjRxZ1EKNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDdFIzMFJJU0V0OWc3YwpHUGt5Zi92V25XVmtabjJIYUxyaldPQzhsRkdIQUFJZ0k0eXNVekZJa2ZkY2MySjNhRkFnc0w1MGVLbkl3MjZVCkR5T2kwaHlkYS84PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
],
"tls_root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUxrM1R5cXFSYUlqZGtsdTZWRzVyVnN3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1EQTJNVEUwT0RBeFdoY05NamN4TURBME1URTAKT0RBeFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCSnpQVk1iZDFaOWVodTRTYU5BeW5vaWE3bGkrUXJjTGxqeWR5VitaSGQ5b3N0VzA4b01VTVF5cgo1OGdsczdYZ2lyVkF6ay9oSTR4ZnVHY2I5aW9sOFFLalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJT3VsQnhyZXR0dlYKcXVRUVU5eXFhT2JxcEZtYzE3NnJrcStLekpyTlNoeW9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUNGc1BjVQo5VVQyRFNQZGhqU3lTQnF6UUE2ZG1hMk9waEx3K2NZcHBhYmtDQUlnWGJheStiaVlnWThEYUFyT0hCUTRhNllRCm9pWU9NeGRuQWM3SDROUXFkd3c9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
]
},
"type": 0
},
"version": "0"
}
},
"version": "1"
},
"Org2MSP": {
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org2MSP",
"role": "ADMIN"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org2MSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org2MSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
}
},
"values": {
"MSP": {
"mod_policy": "Admins",
"value": {
"config": {
"admins": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWIrZ0F3SUJBZ0lRQjgzYWNLdEtGOHpOSWd4SjVPQSt6akFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV3TURZeE1UUTRNREZhRncweU56RXdNRFF4TVRRNE1ERmEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeUxtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFODZNR0tDNWFXSEFob0xMMmxFcDV6Y05IMEN3ZTIvSFIKVUNKQXVhSVM0bVRQN3VsbTFVR1RaYm9MMC9qRmdXN2JGWHphc3V5OUpTTWRRTXFnQlJzVVphTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0Fna0NHUnZRN2N2cnlvClAwWlo3OWhWdFZoTFRkQkY2NHFPTFpoVytzbnh2dWd3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUtiUk5YUE4KcGZReS9xWEc3Zzdxbi8zclpYSko3VGF4U0RKUkt1MDJNVW1qQWlBMWJvdmhUSW1YeWlVbE9lM0RHeGkzejlTRQpLUTZMS0R5M1VjcGFMTC8xVWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
],
"crypto_config": {
"identity_identifier_hash_function": "SHA256",
"signature_hash_family": "SHA2"
},
"name": "Org2MSP",
"root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQU1YazFMLzZ2V1dRQkZ6eDJqdy9FSlF3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQk5URVNPaW1DaUFZMG9seWtEN1Z1RWN0WTNCb29EN2ZMRS83WUhsc3NLMlhaTEFQekVuODRxRk43VDI0UW5YdQovdFMwYVRLYmxuQmRWNEJWRnROSEZ1cWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUpBaGtiME8zTDY4cUQ5R1dlL1kKVmJWWVMwM1FSZXVLamkyWVZ2cko4YjdvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDTEZIclZMcUdyUHhDMQovRGlWV3NKMGJSUGNhbVl2dzc5SWFMajVZczlBcEFJZ2R1RnU2TysrVFFYeUNGSGprVFppWVVua3ZSNU8vQVVWCmYyOXRiZzNpajlrPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
],
"tls_root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWZDZ0F3SUJBZ0lSQU5LZ1Y3dDZmSGVEeTlmOVpqdnBkMk13Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1EQTJNVEUwT0RBeFdoY05NamN4TURBME1URTAKT0RBeFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCS0tXQXMwb3ZtMTg0ZXlSbFhWanlmSStrcGtWWUg1d3VERStmM3ZxQ0VWWU1EcUIyYURIN1RpcwpCN1hwZkVtQVRsaStERGQzcnFXKzNFeHdDSkVUQXlLalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJRWp1ZUJocXFmOC8KekowTmNHZWRIVUFTYThSU0pBeWs5UG5hYytXVzQ4SXZNQW9HQ0NxR1NNNDlCQU1DQTBjQU1FUUNJQmxHdWY0eQprUTZoMDdwdXBuS0Jtd3RvLzlmS3JRMWE2ZlVvOWcwMXRJSi9BaUIrSlJ2ck9oWlJBOElDYUVqN1c4WGRoK3Z4CjBjUERSVThieHE0Q1NHOVc3dz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
]
},
"type": 0
},
"version": "0"
}
},
"version": "0"
}
},
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "MAJORITY",
"sub_policy": "Admins"
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Readers"
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Writers"
}
},
"version": "0"
}
},
"version": "1"
},
"Orderer": {
"groups": {
"OrdererOrg": {
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "OrdererMSP",
"role": "ADMIN"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "OrdererMSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "OrdererMSP",
"role": "MEMBER"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
}
]
}
},
"version": 0
}
},
"version": "0"
}
},
"values": {
"MSP": {
"mod_policy": "Admins",
"value": {
"config": {
"admins": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDVENDQWJDZ0F3SUJBZ0lRTHBmNnNKL3o5dGQvVGRSd1A5RjFRakFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEF3TmpFeE5EZ3dNVm9YRFRJM01UQXdOREV4TkRnd01Wb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRVVMRVQ0SGZUa21kRmc5bGNJbFc3SjFZb29hRXRjTVZDdTA1YytJc2hrU2NpZ0tOQ0h1SVMKcFp5dHVNWXpwejZpcmJFUkVENmhrUjZrTTJEd2ZQSTVjNk5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZzJacUxneU5KMU85Yy96VjcxYkFnU2ZHNzlqR3JLSjhmCnJzY0MyYU03Q3Rrd0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ2JwZ3pOd0lFd2ZKVVFIRGJBTWNxTUxSQ3B3ZncKRDVDZnNDVHh0eWFBSGdJQ0lDMThGSjZuZDlHY3V2TVh0UElqZ2NHTkI0UkR6MDVndVVDYWlTQWorczZ1Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
],
"crypto_config": {
"identity_identifier_hash_function": "SHA256",
"signature_hash_family": "SHA2"
},
"name": "OrdererMSP",
"root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMakNDQWRXZ0F3SUJBZ0lRRVRyM1NIdWg0T0I1eEJEQnNzZ3JIVEFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEF3TmpFeE5EZ3dNVm9YRFRJM01UQXdOREV4TkRnd01Wb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJFOEcwbG1Hck10QUlEWnhOWkV5VkIyb3hTZGYKZ2VTTkRTb2ErUTRTTFZ1MzNqMjlVWGc4Rzg4VmR4cXozK0p3cTBvRnc3VkZEcVV2eENqY1FjcWxIOEtqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJTm1haTRNalNkVHZYUDgxZTlXd0lFbnh1L1l4cXlpZkg2N0hBdG1qT3dyWk1Bb0cKQ0NxR1NNNDlCQU1DQTBjQU1FUUNJRTg0N2ZMSnBmandRT2Q1b3AvZFMwck5Ca21XenFFMEhtVVY4eHVrYS82ZwpBaUFCNXQrU0trWEtJK3cyWCsvdWtKRHVKbVI3MUpta1Z6NFdOOGtubUovcVJ3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="
],
"tls_root_certs": [
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR5Z0F3SUJBZ0lSQU5VS0FIRDZjWWE3VnpWbVhmMmNXZVV3Q2dZSUtvWkl6ajBFQXdJd2JERUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJvd0dBWURWUVFERXhGMGJITmpZUzVsCmVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFd01EWXhNVFE0TURGYUZ3MHlOekV3TURReE1UUTRNREZhTUd3eEN6QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaApibU5wYzJOdk1SUXdFZ1lEVlFRS0V3dGxlR0Z0Y0d4bExtTnZiVEVhTUJnR0ExVUVBeE1SZEd4elkyRXVaWGhoCmJYQnNaUzVqYjIwd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUUDQyMEZ1L1puWUhzeVhxZi8KdmpteGhaNUcvbEdIZG5VL3c5NTkvekp2N0Y1SkQ3dThYbnBjL3BsdVZvNFJSaTlCQ2JPblBBZVJMY3RLRms0YQpPRFpzbzE4d1hUQU9CZ05WSFE4QkFmOEVCQU1DQWFZd0R3WURWUjBsQkFnd0JnWUVWUjBsQURBUEJnTlZIUk1CCkFmOEVCVEFEQVFIL01Da0dBMVVkRGdRaUJDRG5sQkpYdG1WNkZuTncrY1FnSlVCTWRuZGx6Mkw0RGYwTGR1T1IKeFlYamNqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQUZpV3l0VFgwbGlydGM2ZTRVd3F6V0lJUG9DQ21ScHJBVQpsaTU4OCt4empBSWdSRktRUFlSKytnd3pmZnRBZjliQ2w1aEEwcGl4WE9zaXpYNzhXcGJvM0lBPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
]
},
"type": 0
},
"version": "0"
}
},
"version": "0"
}
},
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "MAJORITY",
"sub_policy": "Admins"
}
},
"version": "0"
},
"BlockValidation": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Writers"
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Readers"
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Writers"
}
},
"version": "0"
}
},
"values": {
"BatchSize": {
"mod_policy": "Admins",
"value": {
"absolute_max_bytes": 102760448,
"max_message_count": 10,
"preferred_max_bytes": 524288
},
"version": "0"
},
"BatchTimeout": {
"mod_policy": "Admins",
"value": {
"timeout": "2s"
},
"version": "0"
},
"ChannelRestrictions": {
"mod_policy": "Admins",
"version": "0"
},
"ConsensusType": {
"mod_policy": "Admins",
"value": {
"type": "kafka"
},
"version": "0"
},
"KafkaBrokers": {
"mod_policy": "Admins",
"value": {
"brokers": [
"kafka0:9092",
"kafka1:9092",
"kafka2:9092",
"kafka3:9092"
]
},
"version": "0"
}
},
"version": "0"
}
},
"mod_policy": "",
"policies": {
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "MAJORITY",
"sub_policy": "Admins"
}
},
"version": "0"
},
"Readers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Readers"
}
},
"version": "0"
},
"Writers": {
"mod_policy": "Admins",
"policy": {
"type": 3,
"value": {
"rule": "ANY",
"sub_policy": "Writers"
}
},
"version": "0"
}
},
"values": {
"BlockDataHashingStructure": {
"mod_policy": "Admins",
"value": {
"width": 4294967295
},
"version": "0"
},
"Consortium": {
"mod_policy": "",
"value": {
"name": "SampleConsortium"
},
"version": "0"
},
"HashingAlgorithm": {
"mod_policy": "Admins",
"value": {
"name": "SHA256"
},
"version": "0"
},
"OrdererAddresses": {
"mod_policy": "/Channel/Orderer/Admins",
"value": {
"addresses": [
"orderer.example.com:7050"
]
},
"version": "0"
}
},
"version": "0"
},
"sequence": "2",
"type": 0
},
"last_update": {
"payload": {
"data": {
"config_update": {
"channel_id": "businesschannel",
"read_set": {
"groups": {
"Application": {
"groups": {
"Org1MSP": {
"mod_policy": "",
"policies": {
"Admins": {
"mod_policy": "",
"version": "0"
},
"Readers": {
"mod_policy": "",
"version": "0"
},
"Writers": {
"mod_policy": "",
"version": "0"
}
},
"values": {
"MSP": {
"mod_policy": "",
"version": "0"
}
},
"version": "0"
}
},
"mod_policy": "Admins",
"version": "1"
}
},
"mod_policy": "",
"version": "0"
},
"type": 0,
"write_set": {
"groups": {
"Application": {
"groups": {
"Org1MSP": {
"mod_policy": "Admins",
"policies": {
"Admins": {
"mod_policy": "",
"version": "0"
},
"Readers": {
"mod_policy": "",
"version": "0"
},
"Writers": {
"mod_policy": "",
"version": "0"
}
},
"values": {
"AnchorPeers": {
"mod_policy": "Admins",
"value": {
"anchor_peers": [
{
"host": "peer0.org1.example.com",
"port": 7051
}
]
},
"version": "0"
},
"MSP": {
"mod_policy": "",
"version": "0"
}
},
"version": "1"
}
},
"mod_policy": "Admins",
"version": "1"
}
},
"mod_policy": "",
"version": "0"
}
},
"signatures": [
{
"signature": "MEQCIAFK8WFmCi0NYoUKyspI9cRwXM74FvJ2HQUWAZVYcfdGAiA8Z22b8My7wPnqlhVGDdP7FSAp2XNRqQW/OfTNd63RoQ==",
"signature_header": {
"creator": "CgdPcmcxTVNQEpYGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQUxSUENyNm5lYVdwdzhFUXdHcU42WGN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5sSXlmdTZEQ2hWalBwdTMvalhBQlZ3UTFmZGVNeDIKSkp5RDlXeGpGV3hQS1FTNmxSdjNCTWtRSUY2eUljQWJVWVV5L1R0dXhBd2tnMmVjR1lXTGNCaWpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSVA1OUNlV3k0dmV4Cnl3cVY0cWdRNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1AwdUsKTWE1UUxuTEtOS0JxYTh4VXFOTXhJcTVoazkxQzVNWVVETi9FUEFJZ1RtY25OQTNMRUlMNlhraExSV0xDMWhpbApSa0Q3Q1lxaE1UYmZtRGQ1K21jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"nonce": "UNrfw2sb03Iyw6I6CJhDLsmzccYE1h9t"
}
}
]
},
"header": {
"channel_header": {
"channel_id": "businesschannel",
"epoch": "0",
"timestamp": "2017-10-08T01:54:54.000Z",
"tx_id": "",
"type": 2,
"version": 0
},
"signature_header": {
"creator": "CgdPcmcxTVNQEpYGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQUxSUENyNm5lYVdwdzhFUXdHcU42WGN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5sSXlmdTZEQ2hWalBwdTMvalhBQlZ3UTFmZGVNeDIKSkp5RDlXeGpGV3hQS1FTNmxSdjNCTWtRSUY2eUljQWJVWVV5L1R0dXhBd2tnMmVjR1lXTGNCaWpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSVA1OUNlV3k0dmV4Cnl3cVY0cWdRNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1AwdUsKTWE1UUxuTEtOS0JxYTh4VXFOTXhJcTVoazkxQzVNWVVETi9FUEFJZ1RtY25OQTNMRUlMNlhraExSV0xDMWhpbApSa0Q3Q1lxaE1UYmZtRGQ1K21jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"nonce": "6PCZ0DbRAr1K+NfhlFdyU7pkN7/o6g/+"
}
}
},
"signature": "MEUCIQD6E+qEjES81qmEkFVHU3kMCctEMQB3WPP+hm/yV+jTHgIgJumv51fHr4DD+L6Q0CRNtvBLSHPPMBKnLi6fCwvqB4g="
}
},
"header": {
"channel_header": {
"channel_id": "businesschannel",
"epoch": "0",
"timestamp": "2017-10-08T01:54:54.000Z",
"tx_id": "",
"type": 1,
"version": 0
},
"signature_header": {
"creator": "CgpPcmRlcmVyTVNQEusFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRERDQ0FiT2dBd0lCQWdJUkFJUjJJQ25pVk9xQW1rL3Y0anJvekZjd0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFd01EWXhNVFE0TURGYUZ3MHlOekV3TURReE1UUTRNREZhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFRlcyNmM5RktMOFVqVzAyWXBsSHJSUnVQV1VmQ256REhBWEVqZjdoSUp4Y1cwOE1DCldvNXJUU3o3RmhZN3dpZWhKSjkzY3ZkK0lka3dZTnBjR3dvQmVxTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnMlpxTGd5TkoxTzljL3pWNzFiQWdTZkc3OWpHcgpLSjhmcnNjQzJhTTdDdGt3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUloQU5pNEUwbTJqQWx3ZGtzdlh6MEdFMVdDCnhnTDhObzBvNVdtdk9TTHMzL2pEQWg4cklrRnhxZVJITml1bG1WemxJOU9EZ3RaN2JxQ1hMMTN3RXd5N09KQlAKLS0tLS1FTkQgLS0tLS0K",
"nonce": "zKZcZNn2oAV5mCK5X1Z8wDlw+MKotpJy"
}
}
},
"signature": "MEUCIQCX5h0eXNV3XGHReDh90Nl9tarzs2UG7tR1U239bvz/RAIgNFdyFL87KhcW+CspXFAZdVa6hkVacRS6PBWf464EuXc="
}
]
},
"header": {
"data_hash": "K4cOvg4fZYU7/NOW618SDbBwwMKco80F/MlU0HAJqho=",
"number": "1",
"previous_hash": "JvxyivCjFz5t3msYCeCDGu81OuwNCvAttyixdZdurKU="
},
"metadata": {
"metadata": [
"EuIGCpcGCvoFCgpPcmRlcmVyTVNQEusFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRERDQ0FiT2dBd0lCQWdJUkFJUjJJQ25pVk9xQW1rL3Y0anJvekZjd0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFd01EWXhNVFE0TURGYUZ3MHlOekV3TURReE1UUTRNREZhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFRlcyNmM5RktMOFVqVzAyWXBsSHJSUnVQV1VmQ256REhBWEVqZjdoSUp4Y1cwOE1DCldvNXJUU3o3RmhZN3dpZWhKSjkzY3ZkK0lka3dZTnBjR3dvQmVxTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnMlpxTGd5TkoxTzljL3pWNzFiQWdTZkc3OWpHcgpLSjhmcnNjQzJhTTdDdGt3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUloQU5pNEUwbTJqQWx3ZGtzdlh6MEdFMVdDCnhnTDhObzBvNVdtdk9TTHMzL2pEQWg4cklrRnhxZVJITml1bG1WemxJOU9EZ3RaN2JxQ1hMMTN3RXd5N09KQlAKLS0tLS1FTkQgLS0tLS0KEhgpaFc8bKjfPLq1r3XmXco8C7Md8JlsvWcSRjBEAiAyGjWLEbdKihv+Pl4oVSFF5ZVbvA89niDhmIH5NdwrsAIgAk/KZV1Sr/GOGcSsIKtpX4U/8Po1LwwMcSTQwOqePCg=",
"CgIIARLjBgqXBgr6BQoKT3JkZXJlck1TUBLrBS0tLS0tQkVHSU4gLS0tLS0KTUlJQ0REQ0NBYk9nQXdJQkFnSVJBSVIySUNuaVZPcUFtay92NGpyb3pGY3dDZ1lJS29aSXpqMEVBd0l3YVRFTApNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHCmNtRnVZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUmN3RlFZRFZRUURFdzVqWVM1bGVHRnQKY0d4bExtTnZiVEFlRncweE56RXdNRFl4TVRRNE1ERmFGdzB5TnpFd01EUXhNVFE0TURGYU1GZ3hDekFKQmdOVgpCQVlUQWxWVE1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFUWVc0Z1JuSmhibU5wCmMyTnZNUnd3R2dZRFZRUURFeE52Y21SbGNtVnlMbVY0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUkKS29aSXpqMERBUWNEUWdBRUZXMjZjOUZLTDhValcwMllwbEhyUlJ1UFdVZkNuekRIQVhFamY3aElKeGNXMDhNQwpXbzVyVFN6N0ZoWTd3aWVoSko5M2N2ZCtJZGt3WU5wY0d3b0JlcU5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBCk1Bd0dBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZzJacUxneU5KMU85Yy96VjcxYkFnU2ZHNzlqR3IKS0o4ZnJzY0MyYU03Q3Rrd0NnWUlLb1pJemowRUF3SURSd0F3UkFJaEFOaTRFMG0yakFsd2Rrc3ZYejBHRTFXQwp4Z0w4Tm8wbzVXbXZPU0xzMy9qREFoOHJJa0Z4cWVSSE5pdWxtVnpsSTlPRGd0WjdicUNYTDEzd0V3eTdPSkJQCi0tLS0tRU5EIC0tLS0tChIY5SmEA/zpDr/BvGF2F/9Hel66gy0v0lgGEkcwRQIhANSzC4LMi86o7vm8ITih7KgoLhEC0yF1F4BZdq/DUNUrAiBkiRXL83KHZcpMLZ2Iaks1dNLQwNBmU/JK+mCsifTvbg==",
"",
"CgIIAQ=="
]
}
}

View File

@ -0,0 +1,99 @@
{
"data": {
"data": [
{
"payload": {
"data": {
"actions": [
{
"header": {
"creator": "CgdPcmcxTVNQEpYGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQUxSUENyNm5lYVdwdzhFUXdHcU42WGN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5sSXlmdTZEQ2hWalBwdTMvalhBQlZ3UTFmZGVNeDIKSkp5RDlXeGpGV3hQS1FTNmxSdjNCTWtRSUY2eUljQWJVWVV5L1R0dXhBd2tnMmVjR1lXTGNCaWpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSVA1OUNlV3k0dmV4Cnl3cVY0cWdRNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1AwdUsKTWE1UUxuTEtOS0JxYTh4VXFOTXhJcTVoazkxQzVNWVVETi9FUEFJZ1RtY25OQTNMRUlMNlhraExSV0xDMWhpbApSa0Q3Q1lxaE1UYmZtRGQ1K21jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"nonce": "HsibX7H9Ap4UkDrSPTGUACjNAatjKOiD"
},
"payload": {
"action": {
"endorsements": [
{
"endorser": "CgdPcmcxTVNQEpIGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHRENDQWIrZ0F3SUJBZ0lRS21yZVhUS0w4cE5qSHRQVGFjM1lvREFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV3TURZeE1UUTRNREZhRncweU56RXdNRFF4TVRRNE1ERmEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFERXhad1pXVnlNQzV2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFV1VCWi96aDU5cDBvdHZaNjc3cUtkN2VHeXlWMXV1WHgKK1F0RUEyRzRPRzZrdkYxTUFVQzNoeG5DeWFQU1ZlSGtOd0xDdkpCRDdWWCtESEJYYU9IcDNxTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnL24wSjViTGk5N0hMCkNwWGlxQkRpaVEyMWI3azlzeWxhTUExMDMzYXA4M3N3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUloQUlWQnU5L0UKUFMwT2p0bW9iVWZlSzJrMys1eGM5OFR2SFJRWldQQVd6TDNaQWg5K2hROWJHM2MzWHAyV2FIcDZHZ0VONUhmZApxOUFVQUJoaEEzRWVOaUQ5Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K",
"signature": "MEUCIQCAD3KRBWcd7tMGCFqaZV29B8WIi+/CoMt63C3wG0PaTAIgZ+jXkufvKF692KMtkv4yoftJcpnMDALe4yIlGImLiR4="
}
],
"proposal_response_payload": {
"extension": {
"chaincode_id": {
"name": "lscc",
"path": "",
"version": "1.1.0"
},
"response": {
"message": "",
"payload": "CgRteWNjEgMxLjAaBGVzY2MiBHZzY2MqKBIMEgoIARICCAASAggBGgsSCQoHT3JnMU1TUBoLEgkKB09yZzJNU1AyRAogU+90p48Zjixh8K7Tqot2+IdL2ieAmrdccayOYxVsDUMSIAcfFCkeFSuyrojn/fnlp3TTE2FroxVKhPag1FoXX2MmOiD2BYMh1GYmd40M+bSxS9XKC1e7c2BfO8cUy7GmSupcp0IsEgwSCggBEgIIABICCAEaDRILCgdPcmcxTVNQEAEaDRILCgdPcmcyTVNQEAE=",
"status": 200
},
"results": "EvQBCgRsc2NjEusBCgYKBG15Y2Ma4AEKBG15Y2Ma1wEKBG15Y2MSAzEuMBoEZXNjYyIEdnNjYyooEgwSCggBEgIIABICCAEaCxIJCgdPcmcxTVNQGgsSCQoHT3JnMk1TUDJECiBT73SnjxmOLGHwrtOqi3b4h0vaJ4Cat1xxrI5jFWwNQxIgBx8UKR4VK7KuiOf9+eWndNMTYWujFUqE9qDUWhdfYyY6IPYFgyHUZiZ3jQz5tLFL1coLV7tzYF87xxTLsaZK6lynQiwSDBIKCAESAggAEgIIARoNEgsKB09yZzFNU1AQARoNEgsKB09yZzJNU1AQARIcCgRteWNjEhQaCAoBYRoDMTAwGggKAWIaAzIwMA=="
},
"proposal_hash": "Qa4wTTQgg4DIu5PZzQvLhNGrKhCrsdb1Xp1zrC+ogo4="
}
},
"chaincode_proposal_payload": {
"input": {
"chaincode_spec": {
"chaincode_id": {
"name": "lscc",
"path": "",
"version": ""
},
"input": {
"args": [
"ZGVwbG95",
"YnVzaW5lc3NjaGFubmVs",
"CicIARILEgRteWNjGgMxLjAaFgoEaW5pdAoBYQoDMTAwCgFiCgMyMDA=",
"EgwSCggBEgIIABICCAEaCxIJCgdPcmcxTVNQGgsSCQoHT3JnMk1TUA==",
"ZXNjYw==",
"dnNjYw=="
]
},
"timeout": 0,
"type": "GOLANG"
},
"id_generation_alg": ""
}
}
}
}
]
},
"header": {
"channel_header": {
"channel_id": "businesschannel",
"epoch": "0",
"extension": "EgYSBGxzY2M=",
"timestamp": "2017-10-08T01:55:05.018301554Z",
"tx_id": "a58218886d8bd744d2466f1e27cdf515f828397310e24959f200191251f081c9",
"type": 3,
"version": 0
},
"signature_header": {
"creator": "CgdPcmcxTVNQEpYGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQUxSUENyNm5lYVdwdzhFUXdHcU42WGN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5sSXlmdTZEQ2hWalBwdTMvalhBQlZ3UTFmZGVNeDIKSkp5RDlXeGpGV3hQS1FTNmxSdjNCTWtRSUY2eUljQWJVWVV5L1R0dXhBd2tnMmVjR1lXTGNCaWpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSVA1OUNlV3k0dmV4Cnl3cVY0cWdRNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1AwdUsKTWE1UUxuTEtOS0JxYTh4VXFOTXhJcTVoazkxQzVNWVVETi9FUEFJZ1RtY25OQTNMRUlMNlhraExSV0xDMWhpbApSa0Q3Q1lxaE1UYmZtRGQ1K21jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"nonce": "HsibX7H9Ap4UkDrSPTGUACjNAatjKOiD"
}
}
},
"signature": "MEUCIQDgWQ8ZGRLIc4bDCgPWVZiZT1dF+VWkRB+OeObLDdKbzwIgFa4c4cRf2zOp0gOiEPcH+djXqmFCQ183xOKcwSu725U="
}
]
},
"header": {
"data_hash": "cuwVOPSyrDjVWV0TAzTP3yYKL18aoOJS+ubex3x8V/s=",
"number": "2",
"previous_hash": "DG3W9xEdVk6C+VMEtOpIfAxFzvkNOKKZw9wfm22/iJw="
},
"metadata": {
"metadata": [
"EuIGCpcGCvoFCgpPcmRlcmVyTVNQEusFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRERDQ0FiT2dBd0lCQWdJUkFJUjJJQ25pVk9xQW1rL3Y0anJvekZjd0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFd01EWXhNVFE0TURGYUZ3MHlOekV3TURReE1UUTRNREZhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFRlcyNmM5RktMOFVqVzAyWXBsSHJSUnVQV1VmQ256REhBWEVqZjdoSUp4Y1cwOE1DCldvNXJUU3o3RmhZN3dpZWhKSjkzY3ZkK0lka3dZTnBjR3dvQmVxTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnMlpxTGd5TkoxTzljL3pWNzFiQWdTZkc3OWpHcgpLSjhmcnNjQzJhTTdDdGt3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUloQU5pNEUwbTJqQWx3ZGtzdlh6MEdFMVdDCnhnTDhObzBvNVdtdk9TTHMzL2pEQWg4cklrRnhxZVJITml1bG1WemxJOU9EZ3RaN2JxQ1hMMTN3RXd5N09KQlAKLS0tLS1FTkQgLS0tLS0KEhghb36GDEbCSDVu6pYMTWia3ekL/TB1eVISRjBEAiBEE1hOF1/uT8bj3t+IavMoZjvNdfLurIfECFX1DhQjlQIgDeEmId1ipETmWxOJFTSugBZdRhKt10QeV/Koz9HXc1s=",
"CgIIARLjBgqXBgr6BQoKT3JkZXJlck1TUBLrBS0tLS0tQkVHSU4gLS0tLS0KTUlJQ0REQ0NBYk9nQXdJQkFnSVJBSVIySUNuaVZPcUFtay92NGpyb3pGY3dDZ1lJS29aSXpqMEVBd0l3YVRFTApNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHCmNtRnVZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUmN3RlFZRFZRUURFdzVqWVM1bGVHRnQKY0d4bExtTnZiVEFlRncweE56RXdNRFl4TVRRNE1ERmFGdzB5TnpFd01EUXhNVFE0TURGYU1GZ3hDekFKQmdOVgpCQVlUQWxWVE1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFUWVc0Z1JuSmhibU5wCmMyTnZNUnd3R2dZRFZRUURFeE52Y21SbGNtVnlMbVY0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUkKS29aSXpqMERBUWNEUWdBRUZXMjZjOUZLTDhValcwMllwbEhyUlJ1UFdVZkNuekRIQVhFamY3aElKeGNXMDhNQwpXbzVyVFN6N0ZoWTd3aWVoSko5M2N2ZCtJZGt3WU5wY0d3b0JlcU5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBCk1Bd0dBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZzJacUxneU5KMU85Yy96VjcxYkFnU2ZHNzlqR3IKS0o4ZnJzY0MyYU03Q3Rrd0NnWUlLb1pJemowRUF3SURSd0F3UkFJaEFOaTRFMG0yakFsd2Rrc3ZYejBHRTFXQwp4Z0w4Tm8wbzVXbXZPU0xzMy9qREFoOHJJa0Z4cWVSSE5pdWxtVnpsSTlPRGd0WjdicUNYTDEzd0V3eTdPSkJQCi0tLS0tRU5EIC0tLS0tChIYFyMAeWvgr7I3XP/qWIwxOLLGtzwR1mW2EkcwRQIhAM+BJ+EazjsecqsNqsrggz5Wyqen51IpfsT37f/iPUI0AiAgo2NCfollJhv+aSdJLrX330Nb/a8ac/MkuRF1RTfATQ==",
"",
"CgIIAw=="
]
}
}

View File

@ -0,0 +1,96 @@
{
"data": {
"data": [
{
"payload": {
"data": {
"actions": [
{
"header": {
"creator": "CgdPcmcxTVNQEpYGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQUxSUENyNm5lYVdwdzhFUXdHcU42WGN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5sSXlmdTZEQ2hWalBwdTMvalhBQlZ3UTFmZGVNeDIKSkp5RDlXeGpGV3hQS1FTNmxSdjNCTWtRSUY2eUljQWJVWVV5L1R0dXhBd2tnMmVjR1lXTGNCaWpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSVA1OUNlV3k0dmV4Cnl3cVY0cWdRNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1AwdUsKTWE1UUxuTEtOS0JxYTh4VXFOTXhJcTVoazkxQzVNWVVETi9FUEFJZ1RtY25OQTNMRUlMNlhraExSV0xDMWhpbApSa0Q3Q1lxaE1UYmZtRGQ1K21jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"nonce": "x0JVEGFK4xL4ocxJrXy8or8QDJLuVp2n"
},
"payload": {
"action": {
"endorsements": [
{
"endorser": "CgdPcmcxTVNQEpIGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHRENDQWIrZ0F3SUJBZ0lRS21yZVhUS0w4cE5qSHRQVGFjM1lvREFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV3TURZeE1UUTRNREZhRncweU56RXdNRFF4TVRRNE1ERmEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFERXhad1pXVnlNQzV2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFV1VCWi96aDU5cDBvdHZaNjc3cUtkN2VHeXlWMXV1WHgKK1F0RUEyRzRPRzZrdkYxTUFVQzNoeG5DeWFQU1ZlSGtOd0xDdkpCRDdWWCtESEJYYU9IcDNxTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnL24wSjViTGk5N0hMCkNwWGlxQkRpaVEyMWI3azlzeWxhTUExMDMzYXA4M3N3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUloQUlWQnU5L0UKUFMwT2p0bW9iVWZlSzJrMys1eGM5OFR2SFJRWldQQVd6TDNaQWg5K2hROWJHM2MzWHAyV2FIcDZHZ0VONUhmZApxOUFVQUJoaEEzRWVOaUQ5Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K",
"signature": "MEQCIGvXzGGO4n8RCFFgyLLF9eg6YAR41+09EJVX+TeX6K1xAiBTsaO5tnhzO//Olt++OxNO3GQIReAMXbmN6B+Brp5RBA=="
}
],
"proposal_response_payload": {
"extension": {
"chaincode_id": {
"name": "mycc",
"path": "",
"version": "1.0"
},
"response": {
"message": "",
"status": 200
},
"results": "EhQKBGxzY2MSDAoKCgRteWNjEgIIAhItCgRteWNjEiUKBwoBYRICCAIKBwoBYhICCAIaBwoBYRoCOTAaCAoBYhoDMjEw"
},
"proposal_hash": "NVneekb/4UqU6JON8x0KWW90uTS99HqbsbEDOriwscw="
}
},
"chaincode_proposal_payload": {
"input": {
"chaincode_spec": {
"chaincode_id": {
"name": "mycc",
"path": "",
"version": ""
},
"input": {
"args": [
"aW52b2tl",
"YQ==",
"Yg==",
"MTA="
]
},
"timeout": 0,
"type": "GOLANG"
},
"id_generation_alg": ""
}
}
}
}
]
},
"header": {
"channel_header": {
"channel_id": "businesschannel",
"epoch": "0",
"extension": "EgYSBG15Y2M=",
"timestamp": "2017-10-08T01:55:41.048515327Z",
"tx_id": "9ceedae8879db93700d143229786fd2190a6ffef2eca718a85f787bae2e8aedb",
"type": 3,
"version": 0
},
"signature_header": {
"creator": "CgdPcmcxTVNQEpYGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQUxSUENyNm5lYVdwdzhFUXdHcU42WGN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TURBMk1URTBPREF4V2hjTk1qY3hNREEwTVRFME9EQXgKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk5sSXlmdTZEQ2hWalBwdTMvalhBQlZ3UTFmZGVNeDIKSkp5RDlXeGpGV3hQS1FTNmxSdjNCTWtRSUY2eUljQWJVWVV5L1R0dXhBd2tnMmVjR1lXTGNCaWpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSVA1OUNlV3k0dmV4Cnl3cVY0cWdRNG9rTnRXKzVQYk1wV2pBTmROOTJxZk43TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEd1AwdUsKTWE1UUxuTEtOS0JxYTh4VXFOTXhJcTVoazkxQzVNWVVETi9FUEFJZ1RtY25OQTNMRUlMNlhraExSV0xDMWhpbApSa0Q3Q1lxaE1UYmZtRGQ1K21jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"nonce": "x0JVEGFK4xL4ocxJrXy8or8QDJLuVp2n"
}
}
},
"signature": "MEUCIQDydVhU4sZiJQiuVSmvS5bhUTx3+4Pf4z4N71f437hc2QIgGm61a4oQcirPFQOTr8RT9P541rdmGVySqKnYUW8KMvc="
}
]
},
"header": {
"data_hash": "pVsIhHG/uE9MySGtEy/C1AE8DWYKz3k9JnqiMKpV8TE=",
"number": "3",
"previous_hash": "CPQlwmqyTWIZMJxj24/1a8Ef4Kg2tbwFBeJp13sc5k0="
},
"metadata": {
"metadata": [
"EuIGCpcGCvoFCgpPcmRlcmVyTVNQEusFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRERDQ0FiT2dBd0lCQWdJUkFJUjJJQ25pVk9xQW1rL3Y0anJvekZjd0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFd01EWXhNVFE0TURGYUZ3MHlOekV3TURReE1UUTRNREZhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFRlcyNmM5RktMOFVqVzAyWXBsSHJSUnVQV1VmQ256REhBWEVqZjdoSUp4Y1cwOE1DCldvNXJUU3o3RmhZN3dpZWhKSjkzY3ZkK0lka3dZTnBjR3dvQmVxTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnMlpxTGd5TkoxTzljL3pWNzFiQWdTZkc3OWpHcgpLSjhmcnNjQzJhTTdDdGt3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUloQU5pNEUwbTJqQWx3ZGtzdlh6MEdFMVdDCnhnTDhObzBvNVdtdk9TTHMzL2pEQWg4cklrRnhxZVJITml1bG1WemxJOU9EZ3RaN2JxQ1hMMTN3RXd5N09KQlAKLS0tLS1FTkQgLS0tLS0KEhh014qetDcUCpg3u4ul+kbO6teKIj3yJbQSRjBEAiBcTM/eO3fX968BL379TXZp12s92+dXJFfkFrzhOYB8RgIgJPyRuIqrgQQc612cDEDymlB+39Opia6ThOwIKXFqtMg=",
"CgIIARLiBgqXBgr6BQoKT3JkZXJlck1TUBLrBS0tLS0tQkVHSU4gLS0tLS0KTUlJQ0REQ0NBYk9nQXdJQkFnSVJBSVIySUNuaVZPcUFtay92NGpyb3pGY3dDZ1lJS29aSXpqMEVBd0l3YVRFTApNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHCmNtRnVZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUmN3RlFZRFZRUURFdzVqWVM1bGVHRnQKY0d4bExtTnZiVEFlRncweE56RXdNRFl4TVRRNE1ERmFGdzB5TnpFd01EUXhNVFE0TURGYU1GZ3hDekFKQmdOVgpCQVlUQWxWVE1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFUWVc0Z1JuSmhibU5wCmMyTnZNUnd3R2dZRFZRUURFeE52Y21SbGNtVnlMbVY0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUkKS29aSXpqMERBUWNEUWdBRUZXMjZjOUZLTDhValcwMllwbEhyUlJ1UFdVZkNuekRIQVhFamY3aElKeGNXMDhNQwpXbzVyVFN6N0ZoWTd3aWVoSko5M2N2ZCtJZGt3WU5wY0d3b0JlcU5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBCk1Bd0dBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZzJacUxneU5KMU85Yy96VjcxYkFnU2ZHNzlqR3IKS0o4ZnJzY0MyYU03Q3Rrd0NnWUlLb1pJemowRUF3SURSd0F3UkFJaEFOaTRFMG0yakFsd2Rrc3ZYejBHRTFXQwp4Z0w4Tm8wbzVXbXZPU0xzMy9qREFoOHJJa0Z4cWVSSE5pdWxtVnpsSTlPRGd0WjdicUNYTDEzd0V3eTdPSkJQCi0tLS0tRU5EIC0tLS0tChIYlUAAFyssOXzZZ8OXS0bOz3zjTVFPyOOtEkYwRAIgKcpH6D0m2/Kc0y6UuV4rXzWolmUVOvZ7igbhea9kq8QCIB3T289QEss36JnfjZpSCSXfoCd9pHpL5V87ZDEKxtcn",
"",
"CgIIBQ=="
]
}
}

View File

@ -4,10 +4,12 @@
CONFIGTXLATOR_IMG=yeasy/hyperledger-fabric:latest CONFIGTXLATOR_IMG=yeasy/hyperledger-fabric:latest
CONFIGTXLATOR_CONTAINER=configtxlator CONFIGTXLATOR_CONTAINER=configtxlator
ORDERER_GENESIS_BLOCK=channel-artifacts/orderer.genesis.block ARTIFACTS_DIR=channel-artifacts
ORDERER_GENESIS_UPDATED_BLOCK=channel-artifacts/orderer.genesis.updated.block
ORDERER_GENESIS_JSON=channel-artifacts/orderer.genesis.json ORDERER_GENESIS_BLOCK=${ARTIFACTS_DIR}/orderer.genesis.block
ORDERER_GENESIS_UPDATED_JSON=channel-artifacts/orderer.genesis.updated.json ORDERER_GENESIS_UPDATED_BLOCK=${ARTIFACTS_DIR}/orderer.genesis.updated.block
ORDERER_GENESIS_JSON=${ARTIFACTS_DIR}/orderer.genesis.json
ORDERER_GENESIS_UPDATED_JSON=${ARTIFACTS_DIR}/orderer.genesis.updated.json
MAXBATCHSIZEPATH=".data.data[0].payload.data.config.channel_group.groups.Orderer.values.BatchSize.value.max_message_count" MAXBATCHSIZEPATH=".data.data[0].payload.data.config.channel_group.groups.Orderer.values.BatchSize.value.max_message_count"
echo "Clean potential existing container $CONFIGTXLATOR_CONTAINER" echo "Clean potential existing container $CONFIGTXLATOR_CONTAINER"
@ -23,23 +25,36 @@ docker run \
sleep 1 sleep 1
echo "Decoding the orderer genesis block to json" if [ -f ${ORDERER_GENESIS_BLOCK} ]; then
curl -X POST \ echo "Decoding the orderer genesis block to json"
curl -X POST \
--data-binary @${ORDERER_GENESIS_BLOCK} \ --data-binary @${ORDERER_GENESIS_BLOCK} \
http://127.0.0.1:7059/protolator/decode/common.Block \ http://127.0.0.1:7059/protolator/decode/common.Block \
> ${ORDERER_GENESIS_JSON} > ${ORDERER_GENESIS_JSON}
echo "Checking existing Orderer.BatchSize.max_message_count in the genesis json" echo "Checking existing Orderer.BatchSize.max_message_count in the genesis json"
jq "$MAXBATCHSIZEPATH" channel-artifacts/orderer.genesis.json jq "$MAXBATCHSIZEPATH" channel-artifacts/orderer.genesis.json
echo "Creating new genesis json with updated Orderer.BatchSize.max_message_count" echo "Creating new genesis json with updated Orderer.BatchSize.max_message_count"
jq "$MAXBATCHSIZEPATH=20" ${ORDERER_GENESIS_JSON} > ${ORDERER_GENESIS_UPDATED_JSON} jq "$MAXBATCHSIZEPATH=20" ${ORDERER_GENESIS_JSON} > ${ORDERER_GENESIS_UPDATED_JSON}
echo "Re-Encoding the orderer genesis json to block" echo "Re-Encoding the orderer genesis json to block"
curl -X POST \ curl -X POST \
--data-binary @${ORDERER_GENESIS_UPDATED_JSON} \ --data-binary @${ORDERER_GENESIS_UPDATED_JSON} \
http://127.0.0.1:7059/protolator/encode/common.Block \ http://127.0.0.1:7059/protolator/encode/common.Block \
>${ORDERER_GENESIS_UPDATED_BLOCK} >${ORDERER_GENESIS_UPDATED_BLOCK}
fi
for i in {0..9}
do
BLOCK_FILE=${ARTIFACTS_DIR}/block_${i}.block
if [ -f ${BLOCK_FILE} ]; then
echo "Decoding block $i of app channel to json"
curl -X POST \
--data-binary @${BLOCK_FILE} \
http://127.0.0.1:7059/protolator/decode/common.Block \
> ${BLOCK_FILE}.json
fi
done
docker rm -f $CONFIGTXLATOR_CONTAINER docker rm -f $CONFIGTXLATOR_CONTAINER

View File

@ -254,3 +254,26 @@ chaincodeUpgrade () {
echo echo
} }
channelFetch () {
PEER=$1
BLOCK_NO=$2
setGlobals $PEER
# while 'peer chaincode' command can get the orderer endpoint from the peer (if join was successful),
# lets supply it directly as we know it using the "-o" option
if [ -z "${CORE_PEER_TLS_ENABLED}" -o "${CORE_PEER_TLS_ENABLED}" = "false" ]; then
peer channel fetch $BLOCK_NO \
-o orderer.example.com:7050 \
-c ${CHANNEL_NAME} >&log.txt
else
peer channel fetch $BLOCK_NO block_${BLOCK_NO}.block \
-o orderer.example.com:7050 \
-c $CHANNEL_NAME \
--tls \
--cafile $ORDERER_CA >&log.txt
fi
res=$?
cat log.txt
verifyResult $res "Fetch block on PEER$PEER failed "
echo_g "===================== Fetch block on PEER$PEER on channel '$CHANNEL_NAME' is successful ===================== "
echo
}

View File

@ -0,0 +1,28 @@
#!/usr/bin/env bash
# This script will fetch blocks for testing.
# Importing useful functions for cc testing
if [ -f ./func.sh ]; then
source ./func.sh
elif [ -f scripts/func.sh ]; then
source scripts/func.sh
fi
echo_b "Channel name: $CHANNEL_NAME"
echo_b "====================Fetching blocks================================"
echo_b "Fetch block 0"
channelFetch 0 0
echo_b "Fetch block 1"
channelFetch 0 1
echo_b "Fetch block 2"
channelFetch 0 2
echo_b "Fetch block 3"
channelFetch 0 3
echo_g "Block fetching done!"

View File

@ -1,59 +0,0 @@
#!/usr/bin/env bash
# This script will fetch blocks for testing.
# Detecting whether can import the header file to render colorful cli output
# Need add choice option
if [ -f ./header.sh ]; then
source ./header.sh
elif [ -f scripts/header.sh ]; then
source scripts/header.sh
else
alias echo_r="echo"
alias echo_g="echo"
alias echo_b="echo"
fi
ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
CHANNEL_NAME="$1"
: ${CHANNEL_NAME:="businesschannel"}
echo_b "LSCC testing"
# invoke required following params
#-o orderer.example.com:7050 \
#--tls "true" \
#--cafile ${ORDERER_CA} \
echo_b "Get id"
peer chaincode query \
-C "${CHANNEL_NAME}" \
-n lscc \
-c '{"Args":["getid","businesschannel", "mycc"]}'
echo_b "Get cc ChaincodeDeploymentSpec"
peer chaincode query \
-C "${CHANNEL_NAME}" \
-n lscc \
-c '{"Args":["getdepspec","businesschannel", "mycc"]}'
echo_b "Get cc bytes"
peer chaincode query \
-C "${CHANNEL_NAME}" \
-n lscc \
-c '{"Args":["getccdata","businesschannel", "mycc"]}'
echo_b "Get all chaincodes installed on the channel"
peer chaincode query \
-C "${CHANNEL_NAME}" \
-n lscc \
-c '{"Args":["getinstalledchaincodes"]}'
echo_b "Get all chaincodes instantiated on the channel"
peer chaincode query \
-C "${CHANNEL_NAME}" \
-n lscc \
-c '{"Args":["getchaincodes"]}'
echo_g "LSCC testing done!"