From 2a766316b5fb66b39052d530d0516eb03f333496 Mon Sep 17 00:00:00 2001 From: Baohua Yang Date: Sat, 2 Dec 2017 09:36:01 +0800 Subject: [PATCH] Use orderer org to fetch blocks --- hyperledger_fabric/1.0.4/scripts/func.sh | 10 +- .../1.0.4/scripts/test_fetch.sh | 4 +- hyperledger_fabric/1.0.4/scripts/variables.sh | 2 + .../orderer.genesis.updated.block | Bin 9093 -> 9093 bytes .../channel-artifacts/testchainid_0.block | Bin 0 -> 9093 bytes .../testchainid_0.block.json | 509 ++++++++++++++++++ .../testchainid_0.block_payload.json | 490 +++++++++++++++++ .../channel-artifacts/testchainid_1.block | Bin 0 -> 14645 bytes 8 files changed, 1012 insertions(+), 3 deletions(-) create mode 100644 hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_0.block create mode 100644 hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_0.block.json create mode 100644 hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_0.block_payload.json create mode 100644 hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_1.block diff --git a/hyperledger_fabric/1.0.4/scripts/func.sh b/hyperledger_fabric/1.0.4/scripts/func.sh index 8bf03f77..e92735e5 100644 --- a/hyperledger_fabric/1.0.4/scripts/func.sh +++ b/hyperledger_fabric/1.0.4/scripts/func.sh @@ -29,6 +29,13 @@ verifyResult () { fi } +setOrdererEnvs () { + CORE_PEER_LOCALMSPID="OrdererMSP" + CORE_PEER_MSPCONFIGPATH=${ORDERER_ADMIN_MSP} + CORE_PEER_TLS_ROOTCERT_FILE=${ORDERER_TLS_ROOTCERT} + #t="\${ORG${org}_PEER${peer}_URL}" && CORE_PEER_ADDRESS=`eval echo $t` +} + # Set global env variables for fabric usage # Usage: setEnvs org peer setEnvs () { @@ -393,7 +400,8 @@ channelFetch () { local num=$4 echo_b "=== Fetch block $num of channel $channel === " - setEnvs $org $peer + #setEnvs $org $peer + setOrdererEnvs # 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 diff --git a/hyperledger_fabric/1.0.4/scripts/test_fetch.sh b/hyperledger_fabric/1.0.4/scripts/test_fetch.sh index 53941401..96c705d4 100644 --- a/hyperledger_fabric/1.0.4/scripts/test_fetch.sh +++ b/hyperledger_fabric/1.0.4/scripts/test_fetch.sh @@ -22,11 +22,11 @@ done echo_g "Block fetching done!" -exit 0 -for i in {0..2} +for i in {0..1} do echo_b "Fetch block $i" channelFetch ${SYS_CHANNEL} $org $peer $i done +exit 0 diff --git a/hyperledger_fabric/1.0.4/scripts/variables.sh b/hyperledger_fabric/1.0.4/scripts/variables.sh index 058a9bd3..389169d9 100644 --- a/hyperledger_fabric/1.0.4/scripts/variables.sh +++ b/hyperledger_fabric/1.0.4/scripts/variables.sh @@ -18,11 +18,13 @@ PEERS=( 0 1 ) ORDERER_TLS_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem ORDERER_MSP=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp +ORDERER_TLS_ROOTCERT=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt ORG1_PEER0_TLS_ROOTCERT=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt ORG1_PEER1_TLS_ROOTCERT=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt ORG2_PEER0_TLS_ROOTCERT=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt ORG2_PEER1_TLS_ROOTCERT=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt +ORDERER_ADMIN_MSP=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/users/Admin@example.com/msp ORG1_ADMIN_MSP=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp ORG2_ADMIN_MSP=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.updated.block b/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.updated.block index 36b5d84388ac474473c6a724f098ed083d61e38f..fc638f9e0bb24c5c66c901a52a3119d2c3579c02 100644 GIT binary patch delta 87 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 B=Y{|P literal 0 HcmV?d00001 diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_0.block.json b/hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_0.block.json new file mode 100644 index 00000000..61091ac1 --- /dev/null +++ b/hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_0.block.json @@ -0,0 +1,509 @@ +{ + "data": { + "data": [ + { + "payload": { + "data": { + "config": { + "channel_group": { + "groups": { + "Consortiums": { + "groups": { + "SampleConsortium": { + "groups": { + "Org1MSP": { + "mod_policy": "Admins", + "policies": { + "Admins": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org1MSP", + "role": "ADMIN" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Readers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org1MSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Writers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org1MSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + } + }, + "values": { + "MSP": { + "mod_policy": "Admins", + "value": { + "config": { + "admins": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWNDZ0F3SUJBZ0lSQUoyZlZxR0MzMlhDNVFwZ1lzbXZZeEV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TWpBeE1UTTFOekU1V2hjTk1qY3hNVEk1TVRNMU56RTUKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdVdVJIcVF5d1FRUWl3QncvcHg1MU96RHFGeE9QczUKVG5abi9CbU1sU3h4MFRZMDhseW1ZTHJiZ0pUblpuUUVtMkZCaktJaFhuWWZpS3lJU2toR2ZBK2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUhvNDJlUHAwMThoCmQ4WXRiU2lOd3kvRmNwUi9yejVCQlRpNW9FVXVvYXY0TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUFLd3RFQkEKZmlWSk5oMUxaOUZRdkJYQWthSWZoWlJjbm05MlZJUERnN2NZQWlBVTd4TUpHOTBlRGoyQlNJaWIvUjdRTmtGeAp6ZWtMU1VMSTlHMlVVWUE3N0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQUl4RzNqcjl4MldqUnN6RDQ3dTJKQnN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TWpBeE1UTTFOekU1V2hjTk1qY3hNVEk1TVRNMU56RTUKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkc3bndKOE03c1NDZHlxWi9GWjRPWHBPeEIzNG9sek1kL2F6SUV6MmFIeGszVG5sNEo0cnNvMHFqckp6V1dtNQorL2NHeWgxZW93TUYzZm1MVkkxbE8xK2pYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUhvNDJlUHAwMThoZDhZdGJTaU4Kd3kvRmNwUi9yejVCQlRpNW9FVXVvYXY0TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDYjlzNFVpQnZ0cHdsOQpOdVFtRER5L00xZlV6UVY0R1lKYUNmSExGbXo1M2dJZ0xKVTYzaklHTjUvTUhlNnFWNWFFTjBjelBnRXNLNXBMCmxpUHBOeExTc0JVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQU9qQzBGN3phRnNJZnNlQXBmMjYxRWt3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1qQXhNVE0xTnpFNVdoY05NamN4TVRJNU1UTTEKTnpFNVdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCTElJWFdpRmJFRFJ4Q0RoTTkyUEFHUElES0lqUnMwS1NIVVhYbWR4YTlzWUQzK3VDQW1pelhoaQppL2UrKzJydGtYRUVHTDg1TEN2eVFOMHN2Q0hPMXhDalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJQ3BFMUI0czliNlAKZ0N3WDczeW4rUXB5QkhRS2dFeDNXVEhSUThSRWdmeHNNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURaVkwzVgo4SDdJNHZGamtkUkN1Tm5CeEs2WmtjOVVvK0NSb05ZUkNEcUJTUUlnUUxhOURmamtBVTk4ZHV0cXpRb3kwUFIyClhXSkM3d3hXVWRlL3RwWGg5ZWs9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "Org2MSP": { + "mod_policy": "Admins", + "policies": { + "Admins": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org2MSP", + "role": "ADMIN" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Readers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org2MSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Writers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org2MSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + } + }, + "values": { + "MSP": { + "mod_policy": "Admins", + "value": { + "config": { + "admins": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWIrZ0F3SUJBZ0lRSCsyZ2tIUVZTWUd3SE5tZGpWVzFyakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV5TURFeE16VTNNakJhRncweU56RXhNamt4TXpVM01qQmEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeUxtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFVC8rcVhDaS91YWN5Uk5VWHorTEZXaVdremZZYmljNFcKeW1FcEp6UE5BK213akpPRnVERjd1cVZrVGYrekdCZ2I2SWg4TDFrRWU1TGEzQitLdW4ySHNxTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnVEYxU1RnMU5lNitXCkc5NEV5ditRdEFFdTFtWTZSeGVsVGMzeHdhblR5dnd3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQU5WQUxIa2EKQlRENVJQU1lZNlpGQmxtblJ2TzZLeWp1S3FZNURmZzdUZ2ROQWlBNVJmekdrTGNyWE4vMDZ4ZzR1SEF2Z1NkYgpYazFYeTJDMmFWUWpPY3IrK3c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQVBNUHNnQzBCcWtybEk0cUp1VGNqYlV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TWpBeE1UTTFOekU1V2hjTk1qY3hNVEk1TVRNMU56RTUKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkdZdE5xZHVZQVRscm45MjZ2eVJ6MVJzc0lmREJBTHlUTU5lUG54WWVlVHZZcllsNXdQcVdXRTJUbFR4MmYzVwpSUytNSnRRaHFHVVBEY1h2b3AwN01OR2pYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUV4ZFVrNE5UWHV2bGh2ZUJNci8Ka0xRQkx0Wm1Pa2NYcFUzTjhjR3AwOHI4TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUNYZ3NEY2F5VUJFeDh2Ywo4R2MxQzdQVk9yWVM2bVVQaHhVQnh5NmU5NVJ5QWlBTDJxS0Q5aVlDRDczSXE5enJJT3ZFMWNCc0M0NWhlYnBxClZBN2ZGOE1mR0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWZDZ0F3SUJBZ0lSQUxSSVprcmlySndVdTc1MXBJcmVrOEV3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1qQXhNVE0xTnpJd1doY05NamN4TVRJNU1UTTEKTnpJd1dqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQnJvazMwQlkwcUdpSWg4S3FWOUM1Tk41anNsV1ZFY0tGTVY2dm9MaFAzTHJxZWxxQUVPeTVYYQpLMFlJbGxHRzl0d1pVbmUrbWpWSEpnemRLenUrMzVHalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJRFBmdzUrMzVjTWkKRGFmWVJnOUxUbkhDdXV3N3hYbVZRZnhOQ0pxaWpSeHVNQW9HQ0NxR1NNNDlCQU1DQTBjQU1FUUNJQUsvMHNJYgpuL3Z0K0ZwSnc2VjJCMXZoZGpreUs1WHhENXpodENneXhTZDBBaUJNRVdTWjhCc2l0QkltM0JXNVdiVEJwYmllCnJBLzZaa2RVOFRQWGIrT3NZZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "mod_policy": "/Channel/Orderer/Admins", + "values": { + "ChannelCreationPolicy": { + "mod_policy": "/Channel/Orderer/Admins", + "value": { + "type": 3, + "value": { + "sub_policy": "Admins" + } + } + } + } + } + }, + "mod_policy": "/Channel/Orderer/Admins", + "policies": { + "Admins": { + "mod_policy": "/Channel/Orderer/Admins", + "policy": { + "type": 1, + "value": { + "rule": { + "n_out_of": {} + } + } + } + } + } + }, + "Orderer": { + "groups": { + "OrdererOrg": { + "mod_policy": "Admins", + "policies": { + "Admins": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "OrdererMSP", + "role": "ADMIN" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Readers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "OrdererMSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Writers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "OrdererMSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + } + }, + "values": { + "MSP": { + "mod_policy": "Admins", + "value": { + "config": { + "admins": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJDZ0F3SUJBZ0lRQzUybXkzR1Fna21DbExDTFJhblFUakFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEl3TVRFek5UY3lNRm9YRFRJM01URXlPVEV6TlRjeU1Gb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRWg0VGlXUjAwQitXc1NzNmlEMlhnbFRRZnhjZDRjZ2x3aDZEM1NKc2pqcjBYRTZlaS9RT3oKRUp5dnhBVUxQK0NpenlLTGVlMmFYb2tLbmJZMnRaY3hWYU5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0ZNZ1h2clUyTlVwckxkN3pwYnNaM1dVamNmUlhLaFQ3CjMvUFpzYkI2YWg0d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFObWdVZWJrZmdmR3A2YmtSeE1vOTVTbFE3dk0KMHM4d04xN1d6ekxqNzVvK0FpQlFZSlpScVg3b203bktZMnlwa0lkVDJUTnBBM2xhWmlMRWdnNUd4SmNocUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMekNDQWRhZ0F3SUJBZ0lSQUplRnlNcVlxMWZCVDNreFd4L1YxTU13Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV5TURFeE16VTNNakJhRncweU56RXhNamt4TXpVM01qQmFNR2t4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJRd0VnWURWUVFLRXd0bGVHRnRjR3hsTG1OdmJURVhNQlVHQTFVRUF4TU9ZMkV1WlhoaGJYQnNaUzVqCmIyMHdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUnpLNEw4WGVSbDFxSW9GSGpoYjk2ZVhxUFIKaDlOQnZ5TWdwNGMxdWR6azBEbzVoMzZnV0U1c0ZlV3NvVndLTHpSWjJHMGtXN0xCRkVuUU95dXhBNzFDbzE4dwpYVEFPQmdOVkhROEJBZjhFQkFNQ0FhWXdEd1lEVlIwbEJBZ3dCZ1lFVlIwbEFEQVBCZ05WSFJNQkFmOEVCVEFECkFRSC9NQ2tHQTFVZERnUWlCQ0FVeUJlK3RUWTFTbXN0M3ZPbHV4bmRaU054OUZjcUZQdmY4OW14c0hwcUhqQUsKQmdncWhrak9QUVFEQWdOSEFEQkVBaUFVTjVualAzeHk5UGNwVzRKdk94eXd6ZFM3U0RiZFlwdUdia1Mvbk1UZgpGQUlnZkVYYW14dEtyT3MxazFCSWNrWkVYV1pyeHc1WU5peHdtR2pHMmd5elFxND0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR1Z0F3SUJBZ0lRQjRiNFl6cjVYMjJXZTQ1cTdvVjhuakFLQmdncWhrak9QUVFEQWpCc01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4R2pBWUJnTlZCQU1URVhSc2MyTmhMbVY0CllXMXdiR1V1WTI5dE1CNFhEVEUzTVRJd01URXpOVGN5TUZvWERUSTNNVEV5T1RFek5UY3lNRm93YkRFTE1Ba0cKQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHY21GdQpZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUm93R0FZRFZRUURFeEYwYkhOallTNWxlR0Z0CmNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkhBQTBBYWhyMTJyU0tYMUtUbTQKd3daQ2U2QmhXc1JNY1o2RlZLaDFOYlV3Zi9TWmJ4SWloWHBOVXNJUGpHTWhwMUZod0ZiSjZZVDZUV0dLUDJNTQptdUdqWHpCZE1BNEdBMVVkRHdFQi93UUVBd0lCcGpBUEJnTlZIU1VFQ0RBR0JnUlZIU1VBTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0tRWURWUjBPQkNJRUlBKzZTTDhiUTd0Qk9MSVpUcjJ3VWtZVVk4WVVYWkcvNlVheVNseHcKTG0vck1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQy9wRVZFQms4Zm9HWU04TEpZdFFmSTRobTlpQys0TFNPMQpVUUJudHpRUmpnSWdkdXFOaEl1SG5haVNsbS8rZWxyaSttQ2xXNFhtOTYzenlWS1RXL1dNd3BrPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "mod_policy": "Admins", + "policies": { + "Admins": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "rule": "MAJORITY", + "sub_policy": "Admins" + } + } + }, + "BlockValidation": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "sub_policy": "Writers" + } + } + }, + "Readers": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "sub_policy": "Readers" + } + } + }, + "Writers": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "sub_policy": "Writers" + } + } + } + }, + "values": { + "BatchSize": { + "mod_policy": "Admins", + "value": { + "absolute_max_bytes": 102760448, + "max_message_count": 10, + "preferred_max_bytes": 524288 + } + }, + "BatchTimeout": { + "mod_policy": "Admins", + "value": { + "timeout": "2s" + } + }, + "ChannelRestrictions": { + "mod_policy": "Admins" + }, + "ConsensusType": { + "mod_policy": "Admins", + "value": { + "type": "solo" + } + } + } + } + }, + "mod_policy": "Admins", + "policies": { + "Admins": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "rule": "MAJORITY", + "sub_policy": "Admins" + } + } + }, + "Readers": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "sub_policy": "Readers" + } + } + }, + "Writers": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "sub_policy": "Writers" + } + } + } + }, + "values": { + "BlockDataHashingStructure": { + "mod_policy": "Admins", + "value": { + "width": 4294967295 + } + }, + "HashingAlgorithm": { + "mod_policy": "Admins", + "value": { + "name": "SHA256" + } + }, + "OrdererAddresses": { + "mod_policy": "/Channel/Orderer/Admins", + "value": { + "addresses": [ + "orderer.example.com:7050" + ] + } + } + } + } + } + }, + "header": { + "channel_header": { + "channel_id": "testchainid", + "timestamp": "2017-12-01T14:02:20.000Z", + "tx_id": "d8a16e3a703f1e3b77880d94d15bdbb9db3899ac6817d959660f658bb9543aef", + "type": 1, + "version": 1 + }, + "signature_header": { + "nonce": "4r5WvGmFy5WxfmCTZ8xNzU4V1+FvNyC3" + } + } + } + } + ] + }, + "header": { + "data_hash": "gk4cjc4hyMu1KR7G2cGuP5gQJ0tNzPedFpplzN4zASk=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_0.block_payload.json b/hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_0.block_payload.json new file mode 100644 index 00000000..820a6b91 --- /dev/null +++ b/hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_0.block_payload.json @@ -0,0 +1,490 @@ +{ + "data": { + "config": { + "channel_group": { + "groups": { + "Consortiums": { + "groups": { + "SampleConsortium": { + "groups": { + "Org1MSP": { + "mod_policy": "Admins", + "policies": { + "Admins": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org1MSP", + "role": "ADMIN" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Readers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org1MSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Writers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org1MSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + } + }, + "values": { + "MSP": { + "mod_policy": "Admins", + "value": { + "config": { + "admins": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWNDZ0F3SUJBZ0lSQUoyZlZxR0MzMlhDNVFwZ1lzbXZZeEV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TWpBeE1UTTFOekU1V2hjTk1qY3hNVEk1TVRNMU56RTUKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdVdVJIcVF5d1FRUWl3QncvcHg1MU96RHFGeE9QczUKVG5abi9CbU1sU3h4MFRZMDhseW1ZTHJiZ0pUblpuUUVtMkZCaktJaFhuWWZpS3lJU2toR2ZBK2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUhvNDJlUHAwMThoCmQ4WXRiU2lOd3kvRmNwUi9yejVCQlRpNW9FVXVvYXY0TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUFLd3RFQkEKZmlWSk5oMUxaOUZRdkJYQWthSWZoWlJjbm05MlZJUERnN2NZQWlBVTd4TUpHOTBlRGoyQlNJaWIvUjdRTmtGeAp6ZWtMU1VMSTlHMlVVWUE3N0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQUl4RzNqcjl4MldqUnN6RDQ3dTJKQnN3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TWpBeE1UTTFOekU1V2hjTk1qY3hNVEk1TVRNMU56RTUKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkc3bndKOE03c1NDZHlxWi9GWjRPWHBPeEIzNG9sek1kL2F6SUV6MmFIeGszVG5sNEo0cnNvMHFqckp6V1dtNQorL2NHeWgxZW93TUYzZm1MVkkxbE8xK2pYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUhvNDJlUHAwMThoZDhZdGJTaU4Kd3kvRmNwUi9yejVCQlRpNW9FVXVvYXY0TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDYjlzNFVpQnZ0cHdsOQpOdVFtRER5L00xZlV6UVY0R1lKYUNmSExGbXo1M2dJZ0xKVTYzaklHTjUvTUhlNnFWNWFFTjBjelBnRXNLNXBMCmxpUHBOeExTc0JVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQU9qQzBGN3phRnNJZnNlQXBmMjYxRWt3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1qQXhNVE0xTnpFNVdoY05NamN4TVRJNU1UTTEKTnpFNVdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCTElJWFdpRmJFRFJ4Q0RoTTkyUEFHUElES0lqUnMwS1NIVVhYbWR4YTlzWUQzK3VDQW1pelhoaQppL2UrKzJydGtYRUVHTDg1TEN2eVFOMHN2Q0hPMXhDalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJQ3BFMUI0czliNlAKZ0N3WDczeW4rUXB5QkhRS2dFeDNXVEhSUThSRWdmeHNNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURaVkwzVgo4SDdJNHZGamtkUkN1Tm5CeEs2WmtjOVVvK0NSb05ZUkNEcUJTUUlnUUxhOURmamtBVTk4ZHV0cXpRb3kwUFIyClhXSkM3d3hXVWRlL3RwWGg5ZWs9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "Org2MSP": { + "mod_policy": "Admins", + "policies": { + "Admins": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org2MSP", + "role": "ADMIN" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Readers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org2MSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Writers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "Org2MSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + } + }, + "values": { + "MSP": { + "mod_policy": "Admins", + "value": { + "config": { + "admins": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWIrZ0F3SUJBZ0lRSCsyZ2tIUVZTWUd3SE5tZGpWVzFyakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV5TURFeE16VTNNakJhRncweU56RXhNamt4TXpVM01qQmEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeUxtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFVC8rcVhDaS91YWN5Uk5VWHorTEZXaVdremZZYmljNFcKeW1FcEp6UE5BK213akpPRnVERjd1cVZrVGYrekdCZ2I2SWg4TDFrRWU1TGEzQitLdW4ySHNxTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnVEYxU1RnMU5lNitXCkc5NEV5ditRdEFFdTFtWTZSeGVsVGMzeHdhblR5dnd3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQU5WQUxIa2EKQlRENVJQU1lZNlpGQmxtblJ2TzZLeWp1S3FZNURmZzdUZ2ROQWlBNVJmekdrTGNyWE4vMDZ4ZzR1SEF2Z1NkYgpYazFYeTJDMmFWUWpPY3IrK3c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQVBNUHNnQzBCcWtybEk0cUp1VGNqYlV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TWpBeE1UTTFOekU1V2hjTk1qY3hNVEk1TVRNMU56RTUKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkdZdE5xZHVZQVRscm45MjZ2eVJ6MVJzc0lmREJBTHlUTU5lUG54WWVlVHZZcllsNXdQcVdXRTJUbFR4MmYzVwpSUytNSnRRaHFHVVBEY1h2b3AwN01OR2pYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUV4ZFVrNE5UWHV2bGh2ZUJNci8Ka0xRQkx0Wm1Pa2NYcFUzTjhjR3AwOHI4TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUNYZ3NEY2F5VUJFeDh2Ywo4R2MxQzdQVk9yWVM2bVVQaHhVQnh5NmU5NVJ5QWlBTDJxS0Q5aVlDRDczSXE5enJJT3ZFMWNCc0M0NWhlYnBxClZBN2ZGOE1mR0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWZDZ0F3SUJBZ0lSQUxSSVprcmlySndVdTc1MXBJcmVrOEV3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1qQXhNVE0xTnpJd1doY05NamN4TVRJNU1UTTEKTnpJd1dqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQnJvazMwQlkwcUdpSWg4S3FWOUM1Tk41anNsV1ZFY0tGTVY2dm9MaFAzTHJxZWxxQUVPeTVYYQpLMFlJbGxHRzl0d1pVbmUrbWpWSEpnemRLenUrMzVHalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJRFBmdzUrMzVjTWkKRGFmWVJnOUxUbkhDdXV3N3hYbVZRZnhOQ0pxaWpSeHVNQW9HQ0NxR1NNNDlCQU1DQTBjQU1FUUNJQUsvMHNJYgpuL3Z0K0ZwSnc2VjJCMXZoZGpreUs1WHhENXpodENneXhTZDBBaUJNRVdTWjhCc2l0QkltM0JXNVdiVEJwYmllCnJBLzZaa2RVOFRQWGIrT3NZZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "mod_policy": "/Channel/Orderer/Admins", + "values": { + "ChannelCreationPolicy": { + "mod_policy": "/Channel/Orderer/Admins", + "value": { + "type": 3, + "value": { + "sub_policy": "Admins" + } + } + } + } + } + }, + "mod_policy": "/Channel/Orderer/Admins", + "policies": { + "Admins": { + "mod_policy": "/Channel/Orderer/Admins", + "policy": { + "type": 1, + "value": { + "rule": { + "n_out_of": {} + } + } + } + } + } + }, + "Orderer": { + "groups": { + "OrdererOrg": { + "mod_policy": "Admins", + "policies": { + "Admins": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "OrdererMSP", + "role": "ADMIN" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Readers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "OrdererMSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + }, + "Writers": { + "mod_policy": "Admins", + "policy": { + "type": 1, + "value": { + "identities": [ + { + "principal": { + "msp_identifier": "OrdererMSP" + } + } + ], + "rule": { + "n_out_of": { + "n": 1, + "rules": [ + { + "signed_by": 0 + } + ] + } + } + } + } + } + }, + "values": { + "MSP": { + "mod_policy": "Admins", + "value": { + "config": { + "admins": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJDZ0F3SUJBZ0lRQzUybXkzR1Fna21DbExDTFJhblFUakFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEl3TVRFek5UY3lNRm9YRFRJM01URXlPVEV6TlRjeU1Gb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRWg0VGlXUjAwQitXc1NzNmlEMlhnbFRRZnhjZDRjZ2x3aDZEM1NKc2pqcjBYRTZlaS9RT3oKRUp5dnhBVUxQK0NpenlLTGVlMmFYb2tLbmJZMnRaY3hWYU5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0ZNZ1h2clUyTlVwckxkN3pwYnNaM1dVamNmUlhLaFQ3CjMvUFpzYkI2YWg0d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFObWdVZWJrZmdmR3A2YmtSeE1vOTVTbFE3dk0KMHM4d04xN1d6ekxqNzVvK0FpQlFZSlpScVg3b203bktZMnlwa0lkVDJUTnBBM2xhWmlMRWdnNUd4SmNocUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMekNDQWRhZ0F3SUJBZ0lSQUplRnlNcVlxMWZCVDNreFd4L1YxTU13Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV5TURFeE16VTNNakJhRncweU56RXhNamt4TXpVM01qQmFNR2t4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJRd0VnWURWUVFLRXd0bGVHRnRjR3hsTG1OdmJURVhNQlVHQTFVRUF4TU9ZMkV1WlhoaGJYQnNaUzVqCmIyMHdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUnpLNEw4WGVSbDFxSW9GSGpoYjk2ZVhxUFIKaDlOQnZ5TWdwNGMxdWR6azBEbzVoMzZnV0U1c0ZlV3NvVndLTHpSWjJHMGtXN0xCRkVuUU95dXhBNzFDbzE4dwpYVEFPQmdOVkhROEJBZjhFQkFNQ0FhWXdEd1lEVlIwbEJBZ3dCZ1lFVlIwbEFEQVBCZ05WSFJNQkFmOEVCVEFECkFRSC9NQ2tHQTFVZERnUWlCQ0FVeUJlK3RUWTFTbXN0M3ZPbHV4bmRaU054OUZjcUZQdmY4OW14c0hwcUhqQUsKQmdncWhrak9QUVFEQWdOSEFEQkVBaUFVTjVualAzeHk5UGNwVzRKdk94eXd6ZFM3U0RiZFlwdUdia1Mvbk1UZgpGQUlnZkVYYW14dEtyT3MxazFCSWNrWkVYV1pyeHc1WU5peHdtR2pHMmd5elFxND0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR1Z0F3SUJBZ0lRQjRiNFl6cjVYMjJXZTQ1cTdvVjhuakFLQmdncWhrak9QUVFEQWpCc01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4R2pBWUJnTlZCQU1URVhSc2MyTmhMbVY0CllXMXdiR1V1WTI5dE1CNFhEVEUzTVRJd01URXpOVGN5TUZvWERUSTNNVEV5T1RFek5UY3lNRm93YkRFTE1Ba0cKQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHY21GdQpZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUm93R0FZRFZRUURFeEYwYkhOallTNWxlR0Z0CmNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkhBQTBBYWhyMTJyU0tYMUtUbTQKd3daQ2U2QmhXc1JNY1o2RlZLaDFOYlV3Zi9TWmJ4SWloWHBOVXNJUGpHTWhwMUZod0ZiSjZZVDZUV0dLUDJNTQptdUdqWHpCZE1BNEdBMVVkRHdFQi93UUVBd0lCcGpBUEJnTlZIU1VFQ0RBR0JnUlZIU1VBTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0tRWURWUjBPQkNJRUlBKzZTTDhiUTd0Qk9MSVpUcjJ3VWtZVVk4WVVYWkcvNlVheVNseHcKTG0vck1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQy9wRVZFQms4Zm9HWU04TEpZdFFmSTRobTlpQys0TFNPMQpVUUJudHpRUmpnSWdkdXFOaEl1SG5haVNsbS8rZWxyaSttQ2xXNFhtOTYzenlWS1RXL1dNd3BrPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "mod_policy": "Admins", + "policies": { + "Admins": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "rule": "MAJORITY", + "sub_policy": "Admins" + } + } + }, + "BlockValidation": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "sub_policy": "Writers" + } + } + }, + "Readers": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "sub_policy": "Readers" + } + } + }, + "Writers": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "sub_policy": "Writers" + } + } + } + }, + "values": { + "BatchSize": { + "mod_policy": "Admins", + "value": { + "absolute_max_bytes": 102760448, + "max_message_count": 10, + "preferred_max_bytes": 524288 + } + }, + "BatchTimeout": { + "mod_policy": "Admins", + "value": { + "timeout": "2s" + } + }, + "ChannelRestrictions": { + "mod_policy": "Admins" + }, + "ConsensusType": { + "mod_policy": "Admins", + "value": { + "type": "solo" + } + } + } + } + }, + "mod_policy": "Admins", + "policies": { + "Admins": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "rule": "MAJORITY", + "sub_policy": "Admins" + } + } + }, + "Readers": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "sub_policy": "Readers" + } + } + }, + "Writers": { + "mod_policy": "Admins", + "policy": { + "type": 3, + "value": { + "sub_policy": "Writers" + } + } + } + }, + "values": { + "BlockDataHashingStructure": { + "mod_policy": "Admins", + "value": { + "width": 4294967295 + } + }, + "HashingAlgorithm": { + "mod_policy": "Admins", + "value": { + "name": "SHA256" + } + }, + "OrdererAddresses": { + "mod_policy": "/Channel/Orderer/Admins", + "value": { + "addresses": [ + "orderer.example.com:7050" + ] + } + } + } + } + } + }, + "header": { + "channel_header": { + "channel_id": "testchainid", + "timestamp": "2017-12-01T14:02:20.000Z", + "tx_id": "d8a16e3a703f1e3b77880d94d15bdbb9db3899ac6817d959660f658bb9543aef", + "type": 1, + "version": 1 + }, + "signature_header": { + "nonce": "4r5WvGmFy5WxfmCTZ8xNzU4V1+FvNyC3" + } + } +} diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_1.block b/hyperledger_fabric/1.0.4/solo/channel-artifacts/testchainid_1.block new file mode 100644 index 0000000000000000000000000000000000000000..ec5768298e018b13569467a5a826285c71271498 GIT binary patch literal 14645 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