diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 9fb5e30f..ab74e36f 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,3 +1,5 @@ +## Basic Description + ## Environment Any environment information, e.g., os, tool versions, image version. @@ -5,7 +7,7 @@ Any environment information, e.g., os, tool versions, image version. Detailed steps to repeat the problem. ## What solutions have u tried? -Potential solutions you have tried, e.g., search Google or restart the computer. +Potential solutions you have tried, e.g., search Google or restart the server. ## Other Information -Other information u think can help to fix the problem. +Other information, e.g., how u think may help to fix the problem. diff --git a/hyperledger_fabric/1.0.4/Makefile b/hyperledger_fabric/1.0.4/Makefile index 736696df..8a370b60 100644 --- a/hyperledger_fabric/1.0.4/Makefile +++ b/hyperledger_fabric/1.0.4/Makefile @@ -185,7 +185,8 @@ gen_kafka: # generate kafka artifacts cd kafka && bash gen_artifacts.sh test_configtxlator: # Test change config using configtxlator - cd kafka && bash run_configtxlator.sh + bash scripts/test_configtxlator.sh solo + bash scripts/test_configtxlator.sh kafka download: # download required images @echo "Download Docker images" diff --git a/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_0.block.json b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_0.block.json new file mode 100644 index 00000000..1b4ee7fd --- /dev/null +++ b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_0.block.json @@ -0,0 +1,623 @@ +{ + "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" + } + } + ], + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU1RcVRMaG1XdjlxWTkrRUFvYmdmM1F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdMT3l4T083SUY4a0Z5YWl0TWZMeURSZFBlK3c4REsKU3lsakZqWDRNMlhWQjdCMGxTVEtUaHkxcFNJV21VSTFCTFVjdmlEZU1EdU5CdU1DTWRoTFFMU2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUtsV1JGc29rN0FECjRjbkxBNThPTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFETUJjQ3AKZGU5U09kOUxXOGRWNmcvVFZ0VlV5Ynlva1pUSGN0VVdRTW9tMVFJZ0lnODI0RGV4c1pUYTZnV05oTUwySXNCTgpGVTZZTjhkVThSRVRLbU1sbW9NPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQVBZWThyNVFsL1BaNWh1K2N0VzBzODh3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQlBHVzZPdTl6cmxESUl1M1pkdzNiRC9aVW44cXZ5TG1MVzErOEh2NG1lRWVXbW1QbTAzcit0cm92SVNrNkY1Ugp1SXlhNCtwL0VycWthM01RNlB1SktycWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUtsV1JGc29rN0FENGNuTEE1OE8KTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUNPWlBMVk93YVU3bS9qTApjM2VlN1Vmd0thNHdxdjBneTFRV1Fzem5BQ0FIQWlCNVZKSVYwY1VUQmhMNk9RZUZZR2RnNmdsS2VKWUZsck9CCmZQZlp5VTlTTWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRVWRhTkZKS01ob0tOZlFyYVBSeFRDakFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTUKTURSYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN4TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN4TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVUWTZ0c3dKYnVoaHAyMGs3Q2gvM3pFbHUzRkdHUGdYb2g3eEx3UkZoTzhnZi92ZXNwZXZMdmNvNQpTMXZFS0w3ckttSHJJWnd6VGN3M2tGUFB1b0JPcTZOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWdKMkQvZUNjSUZPYjYKR201eGViemZKNHdxUlNCamNoWjFibTBKZXMwNHBtY3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBT0hGcC80aQorbmhUdklzR3R6TjJkWHNDUVAxL0xxdEJkNjBZbU9UcEZxNHJBaUFSbTdVWStnRTlLMk85VGV3MVN0Z1hoQ0lpCjNCYUt5MmZweVhPeU5zcVRxdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWNDZ0F3SUJBZ0lSQU94bG1GZ2FDdlZPdnRPdjdsNmxYVll3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkhKTE5BckorcnM5TXp3ZVltTWRpbEF2Wm1mbFhlcXAKQTZ1WVZHTVNEcjMzQ3ZjUGVxT21rWmNsMEVGYlVwbFUyR01MbzBlNDl0V3pKRk5kNHNqVDZTMmpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUpsVjdiZ3h6NXVxClNUZ1JCQ0tQSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUZQWmlwNlgKMlUrak82ejRUekFvczd2V2pCdFZ3MVY4UVgwb2FXOEtrZnpNQWlCWExlbEVpMmNuS0JQWVZHK2pleHhkOEFrSQpaTzJ5dWpuOVM0NTBrUkRSOFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQU8wNFdDRzRBU0JaSGNaRWVkZGpueUV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQk14eVpvRkgrY01jTHNGYk42YWJ4V3Fpc1FaOFFFU3EvdFNtdC82UlJJQzJTKzE5TFhHRDNWUWt2ZHNUQ3k5SgpKbllsdmQra0VGd3hjVUd1UkRRcWkwYWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUpsVjdiZ3h6NXVxU1RnUkJDS1AKSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDQ0szekJZRFZlem5iWQo5NURMRzBPaE42blFldVFSOWVNdVBnTXpCL0duZ2dJZ1FHN2t6aDdlWnhoOGFSS1BDaG1JN2R2VnRTYVZsMmJICnBLL0tVbzJtSk5nPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUxpbnltYmE2VmQ4VS9JTVZiRUtxUW93Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXcKT1RBMFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQ3kwbEJ0NjAzTGV1ejRZV0Zyd205eU5IeWllYjlraUtXRjFxREZxRlFRYVg3bnJpc3I3M2p2NwpNVmJIdnZpK1dHdFczVThTeHRSWEpnVmJOb092Mi9xalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJQUZVZlZRZTh1WVoKeDhoRk51UWtKOUFMZWlkbkNGTHZ4dmk0bWIvV3IxNHBNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURHZ2cxTgozdEhYcWtqL1FXV0VqbTF6WS92THpsNDd6QnNSTTFMNTBneFp3Z0lnWlBWZXNNdzAzZ1g1Q0FIdmp2c1Bxc2E0Ci9SdUg5T0lleUI4WjhWTVlsdzg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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" + } + } + } + }, + "version": "1" + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJDZ0F3SUJBZ0lRWkpFdisvdmVzNGpWN3gzSUZjcWJZREFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRVdEV1FQbXhXcWw5RUNISG9pa0syMmZmS0h4Z2txRDBobUE4bU1URlNxUTQxV3djTU9mQlEKcTdlaXdDSU1kamdFVXhpdU5zVnh0VGI5MXNpVDBONzJxNk5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0pVdVh2WUlFS1ZPZHZid3Rvak4vOGxIZk9qWmt6bXBzCkpDTzlIaUtVMHM4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJYXlIYUZ1bnhVSUc1U1hueHFING8yRkRLMGMKZHhaeG5hOXI4eUxHVjIxUEFpQWZwRjBvZnpEdnpJYzFWNElIZGhwUExTWVlkZFBTNFp1bVRJbndnM0ZBd1E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMekNDQWRXZ0F3SUJBZ0lRUWx0Q09oWFhxQXlRUGFlczd4RmVEVEFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJEbjZ2TFF5QzB3SVFQcjQ1OC9BUjlrOVhDbWUKbUQyS1llR216dWkzR0MrREgvaHVVbk9QaGJ1M3BmR1FDTXh4U3BaWFZneVhiUFlWNlViaHFrbVR6ZHVqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJQ1ZMbDcyQ0JDbFRuYjI4TGFJemYvSlIzem8yWk01cWJDUWp2UjRpbE5MUE1Bb0cKQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUNVZlpRV0Rvb3BJTlFGRC96R0c2aFgrZWV3ZU9nTHRRWG80cHFzQ3BhTApqUUlnTEtyckJuL3VhaExER0ljRlkzN3QwWjhVZEVLQ2w1ZE9jcU5mbUlKalZ4MD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR1Z0F3SUJBZ0lRUGppdVJVVFNZSmo2RytycFZBb3lXekFLQmdncWhrak9QUVFEQWpCc01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4R2pBWUJnTlZCQU1URVhSc2MyTmhMbVY0CllXMXdiR1V1WTI5dE1CNFhEVEUzTVRFd01qQXlNRGt3TkZvWERUSTNNVEF6TVRBeU1Ea3dORm93YkRFTE1Ba0cKQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHY21GdQpZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUm93R0FZRFZRUURFeEYwYkhOallTNWxlR0Z0CmNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdhQWw5UDFqWWV0S2xjQ0xtSVMKVzdCQTI2SS81WXFqTTdMK3R3YmJrM05jaUQwWDlWMVJtd3orbWhXaGpZQ1FEZUkzNEUxUTJUeTdiMTlTbEtjYQpMMUdqWHpCZE1BNEdBMVVkRHdFQi93UUVBd0lCcGpBUEJnTlZIU1VFQ0RBR0JnUlZIU1VBTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0tRWURWUjBPQkNJRUlCbzJRNk1FMHVYYjZ1ZUVEWkErdDRHSHVKOUx1TzRkYStER2dCUjkKY2dEbE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRFI4bllRd09UWjF5Wkp6U1BFRVlUNXlUdkdEQ3BoVUhaawo5VnVCZ3lQNjJnSWdXKy9qQ0w0eXkxUGZMZmY0c1JzTWRZMGgwakR2ZUpnbWpjYW5zeGVuVXZRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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": "kafka" + } + }, + "KafkaBrokers": { + "mod_policy": "Admins", + "value": { + "brokers": [ + "kafka0:9092", + "kafka1:9092", + "kafka2:9092", + "kafka3:9092" + ] + } + } + } + } + }, + "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 + } + }, + "Consortium": { + "value": { + "name": "SampleConsortium" + } + }, + "HashingAlgorithm": { + "mod_policy": "Admins", + "value": { + "name": "SHA256" + } + }, + "OrdererAddresses": { + "mod_policy": "/Channel/Orderer/Admins", + "value": { + "addresses": [ + "orderer.example.com:7050" + ] + } + } + } + }, + "sequence": "1" + }, + "last_update": { + "payload": { + "data": { + "config_update": { + "channel_id": "businesschannel", + "read_set": { + "groups": { + "Application": { + "groups": { + "Org1MSP": {}, + "Org2MSP": {} + } + } + }, + "values": { + "Consortium": { + "value": { + "name": "SampleConsortium" + } + } + } + }, + "write_set": { + "groups": { + "Application": { + "groups": { + "Org1MSP": {}, + "Org2MSP": {} + }, + "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" + } + } + } + }, + "version": "1" + } + }, + "values": { + "Consortium": { + "value": { + "name": "SampleConsortium" + } + } + } + } + }, + "signatures": [ + { + "signature": "MEUCIQC7xQ/90J6FOs6x04bnkldMLAJWqnfxizqYh/mIlsvWogIgGX7Mxrxsr8gCfOgBclBNuRYaIPSryM2ECdBz4xsQAZg=", + "signature_header": { + "creator": "CgdPcmcxTVNQEoAGLS0tLS1CRUdJTiAtLS0tLQpNSUlDR2pDQ0FjQ2dBd0lCQWdJUkFNUXFUTGhtV3Y5cVk5K0VBb2JnZjNRd0NnWUlLb1pJemowRUF3SXdjekVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4R1RBWEJnTlZCQW9URUc5eVp6RXVaWGhoYlhCc1pTNWpiMjB4SERBYUJnTlZCQU1URTJOaApMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXdPVEEwCldqQmJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU4KVTJGdUlFWnlZVzVqYVhOamJ6RWZNQjBHQTFVRUF3d1dRV1J0YVc1QWIzSm5NUzVsZUdGdGNHeGxMbU52YlRCWgpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJHTE95eE9PN0lGOGtGeWFpdE1mTHlEUmRQZSt3OERLClN5bGpGalg0TTJYVkI3QjBsU1RLVGh5MXBTSVdtVUkxQkxVY3ZpRGVNRHVOQnVNQ01kaExRTFNqVFRCTE1BNEcKQTFVZER3RUIvd1FFQXdJSGdEQU1CZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlLbFdSRnNvazdBRAo0Y25MQTU4T01wZmx2azJ4T1lVYk5KT1g1ZklXSURENE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRE1CY0NwCmRlOVNPZDlMVzhkVjZnL1RWdFZVeWJ5b2taVEhjdFVXUU1vbTFRSWdJZzgyNERleHNaVGE2Z1dOaE1MMklzQk4KRlU2WU44ZFU4UkVUS21NbG1vTT0KLS0tLS1FTkQgLS0tLS0K", + "nonce": "WZPprx9dG+u/PUvYydc63guYTlQc3EqR" + } + } + ] + }, + "header": { + "channel_header": { + "channel_id": "businesschannel", + "timestamp": "2017-11-02T02:15:07.000Z", + "type": 2 + }, + "signature_header": { + "creator": "CgdPcmcxTVNQEoAGLS0tLS1CRUdJTiAtLS0tLQpNSUlDR2pDQ0FjQ2dBd0lCQWdJUkFNUXFUTGhtV3Y5cVk5K0VBb2JnZjNRd0NnWUlLb1pJemowRUF3SXdjekVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4R1RBWEJnTlZCQW9URUc5eVp6RXVaWGhoYlhCc1pTNWpiMjB4SERBYUJnTlZCQU1URTJOaApMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXdPVEEwCldqQmJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU4KVTJGdUlFWnlZVzVqYVhOamJ6RWZNQjBHQTFVRUF3d1dRV1J0YVc1QWIzSm5NUzVsZUdGdGNHeGxMbU52YlRCWgpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJHTE95eE9PN0lGOGtGeWFpdE1mTHlEUmRQZSt3OERLClN5bGpGalg0TTJYVkI3QjBsU1RLVGh5MXBTSVdtVUkxQkxVY3ZpRGVNRHVOQnVNQ01kaExRTFNqVFRCTE1BNEcKQTFVZER3RUIvd1FFQXdJSGdEQU1CZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlLbFdSRnNvazdBRAo0Y25MQTU4T01wZmx2azJ4T1lVYk5KT1g1ZklXSURENE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRE1CY0NwCmRlOVNPZDlMVzhkVjZnL1RWdFZVeWJ5b2taVEhjdFVXUU1vbTFRSWdJZzgyNERleHNaVGE2Z1dOaE1MMklzQk4KRlU2WU44ZFU4UkVUS21NbG1vTT0KLS0tLS1FTkQgLS0tLS0K", + "nonce": "zd2/ugSMlASaMkVllXeNkNa+uM/AbEe2" + } + } + }, + "signature": "MEQCIB62nKpuTyIngwtXCMmHCgMGj3PceA4Zcf3GdHhzMNxBAiBu6TlT1MXkDfRdR+OSptDGKi8s4GmgHV+w87D+wZSIUA==" + } + }, + "header": { + "channel_header": { + "channel_id": "businesschannel", + "timestamp": "2017-11-02T02:15:07.000Z", + "type": 1 + }, + "signature_header": { + "creator": "CgpPcmRlcmVyTVNQEvAFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRFRDQ0FiT2dBd0lCQWdJUkFMelBUVXhrTElRYWFua2JJVjlSWEZ3d0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTVNRFJhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFVXBia0grT3ZULzNKY3hlQzN2dXg0UVNEWklsTC9oeVBRS1ZiTWZQc1pScC9EUDRGCjc0RkZrQ3hYQlpjWFhBYzY4eTMwNTVuUmtVWUZ3bGxQU09pVjlLTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnSlV1WHZZSUVLVk9kdmJ3dG9qTi84bEhmT2paawp6bXBzSkNPOUhpS1Uwczh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQVB2cnpaSVdhdldwOGtPaU1ySjF3Rmk3CjAzUCtNNGRKMzhReDRVUjFhOS9MQWlCKy82RU5mUi9yS0ZReC9DMUVnMVVSNlVoSGM4UkVLNlRwajhuOFZ5MmQKOHc9PQotLS0tLUVORCAtLS0tLQo=", + "nonce": "aptNIt+PiYs7003PjOOkVx++48DzQezR" + } + } + }, + "signature": "MEQCIGz6UyNZVT3B7vx1/jBrQraq8BizpWTYNDoOWpTew9M/AiBNR0fyAW6aLXcgvxZ89yignlEhLTCoX81Aua+zP6rVsA==" + } + ] + }, + "header": { + "data_hash": "G7sQLOWiO7FE2CzjgVz41/VukApswMnIwklPXm+f/Jg=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_1.block.json b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_1.block.json new file mode 100644 index 00000000..c6d4a087 --- /dev/null +++ b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_1.block.json @@ -0,0 +1,624 @@ +{ + "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" + } + } + ], + "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": { + "AnchorPeers": { + "mod_policy": "Admins", + "value": { + "anchor_peers": [ + { + "host": "peer0.org1.example.com", + "port": 7051 + } + ] + } + }, + "MSP": { + "mod_policy": "Admins", + "value": { + "config": { + "admins": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU1RcVRMaG1XdjlxWTkrRUFvYmdmM1F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdMT3l4T083SUY4a0Z5YWl0TWZMeURSZFBlK3c4REsKU3lsakZqWDRNMlhWQjdCMGxTVEtUaHkxcFNJV21VSTFCTFVjdmlEZU1EdU5CdU1DTWRoTFFMU2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUtsV1JGc29rN0FECjRjbkxBNThPTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFETUJjQ3AKZGU5U09kOUxXOGRWNmcvVFZ0VlV5Ynlva1pUSGN0VVdRTW9tMVFJZ0lnODI0RGV4c1pUYTZnV05oTUwySXNCTgpGVTZZTjhkVThSRVRLbU1sbW9NPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQVBZWThyNVFsL1BaNWh1K2N0VzBzODh3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQlBHVzZPdTl6cmxESUl1M1pkdzNiRC9aVW44cXZ5TG1MVzErOEh2NG1lRWVXbW1QbTAzcit0cm92SVNrNkY1Ugp1SXlhNCtwL0VycWthM01RNlB1SktycWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUtsV1JGc29rN0FENGNuTEE1OE8KTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUNPWlBMVk93YVU3bS9qTApjM2VlN1Vmd0thNHdxdjBneTFRV1Fzem5BQ0FIQWlCNVZKSVYwY1VUQmhMNk9RZUZZR2RnNmdsS2VKWUZsck9CCmZQZlp5VTlTTWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRVWRhTkZKS01ob0tOZlFyYVBSeFRDakFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTUKTURSYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN4TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN4TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVUWTZ0c3dKYnVoaHAyMGs3Q2gvM3pFbHUzRkdHUGdYb2g3eEx3UkZoTzhnZi92ZXNwZXZMdmNvNQpTMXZFS0w3ckttSHJJWnd6VGN3M2tGUFB1b0JPcTZOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWdKMkQvZUNjSUZPYjYKR201eGViemZKNHdxUlNCamNoWjFibTBKZXMwNHBtY3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBT0hGcC80aQorbmhUdklzR3R6TjJkWHNDUVAxL0xxdEJkNjBZbU9UcEZxNHJBaUFSbTdVWStnRTlLMk85VGV3MVN0Z1hoQ0lpCjNCYUt5MmZweVhPeU5zcVRxdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + }, + "version": "1" + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWNDZ0F3SUJBZ0lSQU94bG1GZ2FDdlZPdnRPdjdsNmxYVll3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkhKTE5BckorcnM5TXp3ZVltTWRpbEF2Wm1mbFhlcXAKQTZ1WVZHTVNEcjMzQ3ZjUGVxT21rWmNsMEVGYlVwbFUyR01MbzBlNDl0V3pKRk5kNHNqVDZTMmpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUpsVjdiZ3h6NXVxClNUZ1JCQ0tQSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUZQWmlwNlgKMlUrak82ejRUekFvczd2V2pCdFZ3MVY4UVgwb2FXOEtrZnpNQWlCWExlbEVpMmNuS0JQWVZHK2pleHhkOEFrSQpaTzJ5dWpuOVM0NTBrUkRSOFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQU8wNFdDRzRBU0JaSGNaRWVkZGpueUV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQk14eVpvRkgrY01jTHNGYk42YWJ4V3Fpc1FaOFFFU3EvdFNtdC82UlJJQzJTKzE5TFhHRDNWUWt2ZHNUQ3k5SgpKbllsdmQra0VGd3hjVUd1UkRRcWkwYWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUpsVjdiZ3h6NXVxU1RnUkJDS1AKSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDQ0szekJZRFZlem5iWQo5NURMRzBPaE42blFldVFSOWVNdVBnTXpCL0duZ2dJZ1FHN2t6aDdlWnhoOGFSS1BDaG1JN2R2VnRTYVZsMmJICnBLL0tVbzJtSk5nPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUxpbnltYmE2VmQ4VS9JTVZiRUtxUW93Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXcKT1RBMFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQ3kwbEJ0NjAzTGV1ejRZV0Zyd205eU5IeWllYjlraUtXRjFxREZxRlFRYVg3bnJpc3I3M2p2NwpNVmJIdnZpK1dHdFczVThTeHRSWEpnVmJOb092Mi9xalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJQUZVZlZRZTh1WVoKeDhoRk51UWtKOUFMZWlkbkNGTHZ4dmk0bWIvV3IxNHBNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURHZ2cxTgozdEhYcWtqL1FXV0VqbTF6WS92THpsNDd6QnNSTTFMNTBneFp3Z0lnWlBWZXNNdzAzZ1g1Q0FIdmp2c1Bxc2E0Ci9SdUg5T0lleUI4WjhWTVlsdzg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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" + } + } + } + }, + "version": "1" + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJDZ0F3SUJBZ0lRWkpFdisvdmVzNGpWN3gzSUZjcWJZREFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRVdEV1FQbXhXcWw5RUNISG9pa0syMmZmS0h4Z2txRDBobUE4bU1URlNxUTQxV3djTU9mQlEKcTdlaXdDSU1kamdFVXhpdU5zVnh0VGI5MXNpVDBONzJxNk5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0pVdVh2WUlFS1ZPZHZid3Rvak4vOGxIZk9qWmt6bXBzCkpDTzlIaUtVMHM4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJYXlIYUZ1bnhVSUc1U1hueHFING8yRkRLMGMKZHhaeG5hOXI4eUxHVjIxUEFpQWZwRjBvZnpEdnpJYzFWNElIZGhwUExTWVlkZFBTNFp1bVRJbndnM0ZBd1E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMekNDQWRXZ0F3SUJBZ0lRUWx0Q09oWFhxQXlRUGFlczd4RmVEVEFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJEbjZ2TFF5QzB3SVFQcjQ1OC9BUjlrOVhDbWUKbUQyS1llR216dWkzR0MrREgvaHVVbk9QaGJ1M3BmR1FDTXh4U3BaWFZneVhiUFlWNlViaHFrbVR6ZHVqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJQ1ZMbDcyQ0JDbFRuYjI4TGFJemYvSlIzem8yWk01cWJDUWp2UjRpbE5MUE1Bb0cKQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUNVZlpRV0Rvb3BJTlFGRC96R0c2aFgrZWV3ZU9nTHRRWG80cHFzQ3BhTApqUUlnTEtyckJuL3VhaExER0ljRlkzN3QwWjhVZEVLQ2w1ZE9jcU5mbUlKalZ4MD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR1Z0F3SUJBZ0lRUGppdVJVVFNZSmo2RytycFZBb3lXekFLQmdncWhrak9QUVFEQWpCc01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4R2pBWUJnTlZCQU1URVhSc2MyTmhMbVY0CllXMXdiR1V1WTI5dE1CNFhEVEUzTVRFd01qQXlNRGt3TkZvWERUSTNNVEF6TVRBeU1Ea3dORm93YkRFTE1Ba0cKQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHY21GdQpZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUm93R0FZRFZRUURFeEYwYkhOallTNWxlR0Z0CmNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdhQWw5UDFqWWV0S2xjQ0xtSVMKVzdCQTI2SS81WXFqTTdMK3R3YmJrM05jaUQwWDlWMVJtd3orbWhXaGpZQ1FEZUkzNEUxUTJUeTdiMTlTbEtjYQpMMUdqWHpCZE1BNEdBMVVkRHdFQi93UUVBd0lCcGpBUEJnTlZIU1VFQ0RBR0JnUlZIU1VBTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0tRWURWUjBPQkNJRUlCbzJRNk1FMHVYYjZ1ZUVEWkErdDRHSHVKOUx1TzRkYStER2dCUjkKY2dEbE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRFI4bllRd09UWjF5Wkp6U1BFRVlUNXlUdkdEQ3BoVUhaawo5VnVCZ3lQNjJnSWdXKy9qQ0w0eXkxUGZMZmY0c1JzTWRZMGgwakR2ZUpnbWpjYW5zeGVuVXZRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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": "kafka" + } + }, + "KafkaBrokers": { + "mod_policy": "Admins", + "value": { + "brokers": [ + "kafka0:9092", + "kafka1:9092", + "kafka2:9092", + "kafka3:9092" + ] + } + } + } + } + }, + "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 + } + }, + "Consortium": { + "value": { + "name": "SampleConsortium" + } + }, + "HashingAlgorithm": { + "mod_policy": "Admins", + "value": { + "name": "SHA256" + } + }, + "OrdererAddresses": { + "mod_policy": "/Channel/Orderer/Admins", + "value": { + "addresses": [ + "orderer.example.com:7050" + ] + } + } + } + }, + "sequence": "2" + }, + "last_update": { + "payload": { + "data": { + "config_update": { + "channel_id": "businesschannel", + "read_set": { + "groups": { + "Application": { + "groups": { + "Org1MSP": { + "policies": { + "Admins": {}, + "Readers": {}, + "Writers": {} + }, + "values": { + "MSP": {} + } + } + }, + "mod_policy": "Admins", + "version": "1" + } + } + }, + "write_set": { + "groups": { + "Application": { + "groups": { + "Org1MSP": { + "mod_policy": "Admins", + "policies": { + "Admins": {}, + "Readers": {}, + "Writers": {} + }, + "values": { + "AnchorPeers": { + "mod_policy": "Admins", + "value": { + "anchor_peers": [ + { + "host": "peer0.org1.example.com", + "port": 7051 + } + ] + } + }, + "MSP": {} + }, + "version": "1" + } + }, + "mod_policy": "Admins", + "version": "1" + } + } + } + }, + "signatures": [ + { + "signature": "MEQCIGlLepJRWaZmKfPVr/JbXLw/aDF5S6PL82JvKVLEBJOkAiA1l+fHXS/07vKcsqkkEdCpXzblR97YmZXapuJXDXPIVw==", + "signature_header": { + "creator": "CgdPcmcxTVNQEoAGLS0tLS1CRUdJTiAtLS0tLQpNSUlDR2pDQ0FjQ2dBd0lCQWdJUkFNUXFUTGhtV3Y5cVk5K0VBb2JnZjNRd0NnWUlLb1pJemowRUF3SXdjekVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4R1RBWEJnTlZCQW9URUc5eVp6RXVaWGhoYlhCc1pTNWpiMjB4SERBYUJnTlZCQU1URTJOaApMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXdPVEEwCldqQmJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU4KVTJGdUlFWnlZVzVqYVhOamJ6RWZNQjBHQTFVRUF3d1dRV1J0YVc1QWIzSm5NUzVsZUdGdGNHeGxMbU52YlRCWgpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJHTE95eE9PN0lGOGtGeWFpdE1mTHlEUmRQZSt3OERLClN5bGpGalg0TTJYVkI3QjBsU1RLVGh5MXBTSVdtVUkxQkxVY3ZpRGVNRHVOQnVNQ01kaExRTFNqVFRCTE1BNEcKQTFVZER3RUIvd1FFQXdJSGdEQU1CZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlLbFdSRnNvazdBRAo0Y25MQTU4T01wZmx2azJ4T1lVYk5KT1g1ZklXSURENE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRE1CY0NwCmRlOVNPZDlMVzhkVjZnL1RWdFZVeWJ5b2taVEhjdFVXUU1vbTFRSWdJZzgyNERleHNaVGE2Z1dOaE1MMklzQk4KRlU2WU44ZFU4UkVUS21NbG1vTT0KLS0tLS1FTkQgLS0tLS0K", + "nonce": "sfJIqcCba4IK2MiJY4LvUzPKhoQdHWeN" + } + } + ] + }, + "header": { + "channel_header": { + "channel_id": "businesschannel", + "timestamp": "2017-11-02T02:15:20.000Z", + "type": 2 + }, + "signature_header": { + "creator": "CgdPcmcxTVNQEoAGLS0tLS1CRUdJTiAtLS0tLQpNSUlDR2pDQ0FjQ2dBd0lCQWdJUkFNUXFUTGhtV3Y5cVk5K0VBb2JnZjNRd0NnWUlLb1pJemowRUF3SXdjekVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4R1RBWEJnTlZCQW9URUc5eVp6RXVaWGhoYlhCc1pTNWpiMjB4SERBYUJnTlZCQU1URTJOaApMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXdPVEEwCldqQmJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU4KVTJGdUlFWnlZVzVqYVhOamJ6RWZNQjBHQTFVRUF3d1dRV1J0YVc1QWIzSm5NUzVsZUdGdGNHeGxMbU52YlRCWgpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJHTE95eE9PN0lGOGtGeWFpdE1mTHlEUmRQZSt3OERLClN5bGpGalg0TTJYVkI3QjBsU1RLVGh5MXBTSVdtVUkxQkxVY3ZpRGVNRHVOQnVNQ01kaExRTFNqVFRCTE1BNEcKQTFVZER3RUIvd1FFQXdJSGdEQU1CZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlLbFdSRnNvazdBRAo0Y25MQTU4T01wZmx2azJ4T1lVYk5KT1g1ZklXSURENE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRE1CY0NwCmRlOVNPZDlMVzhkVjZnL1RWdFZVeWJ5b2taVEhjdFVXUU1vbTFRSWdJZzgyNERleHNaVGE2Z1dOaE1MMklzQk4KRlU2WU44ZFU4UkVUS21NbG1vTT0KLS0tLS1FTkQgLS0tLS0K", + "nonce": "qF+ao7tESwqtmOuNzR0ldseUtX79m3np" + } + } + }, + "signature": "MEQCIArCpu5lU1/SOgijQ0yoxIPDOZ9SFAsiXL5BQY4v8nJvAiBM9ooCG+9LZxWByXqOYF9CXYiaJ4571jqBw14Tt4O4Sg==" + } + }, + "header": { + "channel_header": { + "channel_id": "businesschannel", + "timestamp": "2017-11-02T02:15:20.000Z", + "type": 1 + }, + "signature_header": { + "creator": "CgpPcmRlcmVyTVNQEvAFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRFRDQ0FiT2dBd0lCQWdJUkFMelBUVXhrTElRYWFua2JJVjlSWEZ3d0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTVNRFJhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFVXBia0grT3ZULzNKY3hlQzN2dXg0UVNEWklsTC9oeVBRS1ZiTWZQc1pScC9EUDRGCjc0RkZrQ3hYQlpjWFhBYzY4eTMwNTVuUmtVWUZ3bGxQU09pVjlLTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnSlV1WHZZSUVLVk9kdmJ3dG9qTi84bEhmT2paawp6bXBzSkNPOUhpS1Uwczh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQVB2cnpaSVdhdldwOGtPaU1ySjF3Rmk3CjAzUCtNNGRKMzhReDRVUjFhOS9MQWlCKy82RU5mUi9yS0ZReC9DMUVnMVVSNlVoSGM4UkVLNlRwajhuOFZ5MmQKOHc9PQotLS0tLUVORCAtLS0tLQo=", + "nonce": "7hsm0r2VHWQTQQuNWLJDOgfSbpoCnTC7" + } + } + }, + "signature": "MEQCIDUDaqc/stWUjGegsxqrz8WcqqENp9EShkO5TxrnkVGgAiAzSGEcax1vRUYQEtCmjC/1z+k0tIUytfFCra1X+NXbjw==" + } + ] + }, + "header": { + "data_hash": "FUmHJz7u01n3kXLfOAhztPJtNzeYM6Gcd+jATFC/1Z4=", + "number": "1", + "previous_hash": "OcqbSKgIdE3DXjivo/0iCljqeAslcgnBYSnG1wtvLIg=" + }, + "metadata": { + "metadata": [ + "EucGCpwGCv8FCgpPcmRlcmVyTVNQEvAFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRFRDQ0FiT2dBd0lCQWdJUkFMelBUVXhrTElRYWFua2JJVjlSWEZ3d0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTVNRFJhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFVXBia0grT3ZULzNKY3hlQzN2dXg0UVNEWklsTC9oeVBRS1ZiTWZQc1pScC9EUDRGCjc0RkZrQ3hYQlpjWFhBYzY4eTMwNTVuUmtVWUZ3bGxQU09pVjlLTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnSlV1WHZZSUVLVk9kdmJ3dG9qTi84bEhmT2paawp6bXBzSkNPOUhpS1Uwczh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQVB2cnpaSVdhdldwOGtPaU1ySjF3Rmk3CjAzUCtNNGRKMzhReDRVUjFhOS9MQWlCKy82RU5mUi9yS0ZReC9DMUVnMVVSNlVoSGM4UkVLNlRwajhuOFZ5MmQKOHc9PQotLS0tLUVORCAtLS0tLQoSGIC3kFYCn5Gk7pNaVg7lcrogsr0nMLBQsBJGMEQCIG1Pa3r1aDvdogoVu8nl43zrOdJW95s8hDfk1ggY4Kv6AiA147gI6M8z0XUjciP67OSFgdVzyKXV1rdtM7rCY37hPg==", + "CgIIARLnBgqcBgr/BQoKT3JkZXJlck1TUBLwBS0tLS0tQkVHSU4gLS0tLS0KTUlJQ0RUQ0NBYk9nQXdJQkFnSVJBTHpQVFV4a0xJUWFhbmtiSVY5UlhGd3dDZ1lJS29aSXpqMEVBd0l3YVRFTApNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHCmNtRnVZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUmN3RlFZRFZRUURFdzVqWVM1bGVHRnQKY0d4bExtTnZiVEFlRncweE56RXhNREl3TWpBNU1EUmFGdzB5TnpFd016RXdNakE1TURSYU1GZ3hDekFKQmdOVgpCQVlUQWxWVE1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFUWVc0Z1JuSmhibU5wCmMyTnZNUnd3R2dZRFZRUURFeE52Y21SbGNtVnlMbVY0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUkKS29aSXpqMERBUWNEUWdBRVVwYmtIK092VC8zSmN4ZUMzdnV4NFFTRFpJbEwvaHlQUUtWYk1mUHNaUnAvRFA0Rgo3NEZGa0N4WEJaY1hYQWM2OHkzMDU1blJrVVlGd2xsUFNPaVY5S05OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBCk1Bd0dBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0pVdVh2WUlFS1ZPZHZid3Rvak4vOGxIZk9qWmsKem1wc0pDTzlIaUtVMHM4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFQdnJ6WklXYXZXcDhrT2lNckoxd0ZpNwowM1ArTTRkSjM4UXg0VVIxYTkvTEFpQisvNkVOZlIvcktGUXgvQzFFZzFVUjZVaEhjOFJFSzZUcGo4bjhWeTJkCjh3PT0KLS0tLS1FTkQgLS0tLS0KEhhp+l7U471hZSofGbZxme+iqvd40uQtjAASRjBEAiBANFVe9HG8ziPcLllRFjjSpOjiFyEsIY3/5pDndqDCqwIgSyKALx+zlklgRhsIYeNLgJyO0eumvVzfiNzjCBPmnxQ=", + "", + "CgIIAQ==" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_2.block.json b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_2.block.json new file mode 100644 index 00000000..f4d0f8e2 --- /dev/null +++ b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_2.block.json @@ -0,0 +1,636 @@ +{ + "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" + } + } + ], + "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": { + "AnchorPeers": { + "mod_policy": "Admins", + "value": { + "anchor_peers": [ + { + "host": "peer0.org1.example.com", + "port": 7051 + } + ] + } + }, + "MSP": { + "mod_policy": "Admins", + "value": { + "config": { + "admins": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU1RcVRMaG1XdjlxWTkrRUFvYmdmM1F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdMT3l4T083SUY4a0Z5YWl0TWZMeURSZFBlK3c4REsKU3lsakZqWDRNMlhWQjdCMGxTVEtUaHkxcFNJV21VSTFCTFVjdmlEZU1EdU5CdU1DTWRoTFFMU2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUtsV1JGc29rN0FECjRjbkxBNThPTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFETUJjQ3AKZGU5U09kOUxXOGRWNmcvVFZ0VlV5Ynlva1pUSGN0VVdRTW9tMVFJZ0lnODI0RGV4c1pUYTZnV05oTUwySXNCTgpGVTZZTjhkVThSRVRLbU1sbW9NPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQVBZWThyNVFsL1BaNWh1K2N0VzBzODh3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQlBHVzZPdTl6cmxESUl1M1pkdzNiRC9aVW44cXZ5TG1MVzErOEh2NG1lRWVXbW1QbTAzcit0cm92SVNrNkY1Ugp1SXlhNCtwL0VycWthM01RNlB1SktycWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUtsV1JGc29rN0FENGNuTEE1OE8KTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUNPWlBMVk93YVU3bS9qTApjM2VlN1Vmd0thNHdxdjBneTFRV1Fzem5BQ0FIQWlCNVZKSVYwY1VUQmhMNk9RZUZZR2RnNmdsS2VKWUZsck9CCmZQZlp5VTlTTWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRVWRhTkZKS01ob0tOZlFyYVBSeFRDakFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTUKTURSYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN4TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN4TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVUWTZ0c3dKYnVoaHAyMGs3Q2gvM3pFbHUzRkdHUGdYb2g3eEx3UkZoTzhnZi92ZXNwZXZMdmNvNQpTMXZFS0w3ckttSHJJWnd6VGN3M2tGUFB1b0JPcTZOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWdKMkQvZUNjSUZPYjYKR201eGViemZKNHdxUlNCamNoWjFibTBKZXMwNHBtY3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBT0hGcC80aQorbmhUdklzR3R6TjJkWHNDUVAxL0xxdEJkNjBZbU9UcEZxNHJBaUFSbTdVWStnRTlLMk85VGV3MVN0Z1hoQ0lpCjNCYUt5MmZweVhPeU5zcVRxdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + }, + "version": "1" + }, + "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": { + "AnchorPeers": { + "mod_policy": "Admins", + "value": { + "anchor_peers": [ + { + "host": "peer0.org2.example.com", + "port": 7051 + } + ] + } + }, + "MSP": { + "mod_policy": "Admins", + "value": { + "config": { + "admins": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWNDZ0F3SUJBZ0lSQU94bG1GZ2FDdlZPdnRPdjdsNmxYVll3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkhKTE5BckorcnM5TXp3ZVltTWRpbEF2Wm1mbFhlcXAKQTZ1WVZHTVNEcjMzQ3ZjUGVxT21rWmNsMEVGYlVwbFUyR01MbzBlNDl0V3pKRk5kNHNqVDZTMmpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUpsVjdiZ3h6NXVxClNUZ1JCQ0tQSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUZQWmlwNlgKMlUrak82ejRUekFvczd2V2pCdFZ3MVY4UVgwb2FXOEtrZnpNQWlCWExlbEVpMmNuS0JQWVZHK2pleHhkOEFrSQpaTzJ5dWpuOVM0NTBrUkRSOFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQU8wNFdDRzRBU0JaSGNaRWVkZGpueUV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQk14eVpvRkgrY01jTHNGYk42YWJ4V3Fpc1FaOFFFU3EvdFNtdC82UlJJQzJTKzE5TFhHRDNWUWt2ZHNUQ3k5SgpKbllsdmQra0VGd3hjVUd1UkRRcWkwYWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUpsVjdiZ3h6NXVxU1RnUkJDS1AKSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDQ0szekJZRFZlem5iWQo5NURMRzBPaE42blFldVFSOWVNdVBnTXpCL0duZ2dJZ1FHN2t6aDdlWnhoOGFSS1BDaG1JN2R2VnRTYVZsMmJICnBLL0tVbzJtSk5nPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUxpbnltYmE2VmQ4VS9JTVZiRUtxUW93Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXcKT1RBMFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQ3kwbEJ0NjAzTGV1ejRZV0Zyd205eU5IeWllYjlraUtXRjFxREZxRlFRYVg3bnJpc3I3M2p2NwpNVmJIdnZpK1dHdFczVThTeHRSWEpnVmJOb092Mi9xalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJQUZVZlZRZTh1WVoKeDhoRk51UWtKOUFMZWlkbkNGTHZ4dmk0bWIvV3IxNHBNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURHZ2cxTgozdEhYcWtqL1FXV0VqbTF6WS92THpsNDd6QnNSTTFMNTBneFp3Z0lnWlBWZXNNdzAzZ1g1Q0FIdmp2c1Bxc2E0Ci9SdUg5T0lleUI4WjhWTVlsdzg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + }, + "version": "1" + } + }, + "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" + } + } + } + }, + "version": "1" + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJDZ0F3SUJBZ0lRWkpFdisvdmVzNGpWN3gzSUZjcWJZREFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRVdEV1FQbXhXcWw5RUNISG9pa0syMmZmS0h4Z2txRDBobUE4bU1URlNxUTQxV3djTU9mQlEKcTdlaXdDSU1kamdFVXhpdU5zVnh0VGI5MXNpVDBONzJxNk5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0pVdVh2WUlFS1ZPZHZid3Rvak4vOGxIZk9qWmt6bXBzCkpDTzlIaUtVMHM4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJYXlIYUZ1bnhVSUc1U1hueHFING8yRkRLMGMKZHhaeG5hOXI4eUxHVjIxUEFpQWZwRjBvZnpEdnpJYzFWNElIZGhwUExTWVlkZFBTNFp1bVRJbndnM0ZBd1E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMekNDQWRXZ0F3SUJBZ0lRUWx0Q09oWFhxQXlRUGFlczd4RmVEVEFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJEbjZ2TFF5QzB3SVFQcjQ1OC9BUjlrOVhDbWUKbUQyS1llR216dWkzR0MrREgvaHVVbk9QaGJ1M3BmR1FDTXh4U3BaWFZneVhiUFlWNlViaHFrbVR6ZHVqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJQ1ZMbDcyQ0JDbFRuYjI4TGFJemYvSlIzem8yWk01cWJDUWp2UjRpbE5MUE1Bb0cKQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUNVZlpRV0Rvb3BJTlFGRC96R0c2aFgrZWV3ZU9nTHRRWG80cHFzQ3BhTApqUUlnTEtyckJuL3VhaExER0ljRlkzN3QwWjhVZEVLQ2w1ZE9jcU5mbUlKalZ4MD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR1Z0F3SUJBZ0lRUGppdVJVVFNZSmo2RytycFZBb3lXekFLQmdncWhrak9QUVFEQWpCc01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4R2pBWUJnTlZCQU1URVhSc2MyTmhMbVY0CllXMXdiR1V1WTI5dE1CNFhEVEUzTVRFd01qQXlNRGt3TkZvWERUSTNNVEF6TVRBeU1Ea3dORm93YkRFTE1Ba0cKQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHY21GdQpZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUm93R0FZRFZRUURFeEYwYkhOallTNWxlR0Z0CmNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdhQWw5UDFqWWV0S2xjQ0xtSVMKVzdCQTI2SS81WXFqTTdMK3R3YmJrM05jaUQwWDlWMVJtd3orbWhXaGpZQ1FEZUkzNEUxUTJUeTdiMTlTbEtjYQpMMUdqWHpCZE1BNEdBMVVkRHdFQi93UUVBd0lCcGpBUEJnTlZIU1VFQ0RBR0JnUlZIU1VBTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0tRWURWUjBPQkNJRUlCbzJRNk1FMHVYYjZ1ZUVEWkErdDRHSHVKOUx1TzRkYStER2dCUjkKY2dEbE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRFI4bllRd09UWjF5Wkp6U1BFRVlUNXlUdkdEQ3BoVUhaawo5VnVCZ3lQNjJnSWdXKy9qQ0w0eXkxUGZMZmY0c1JzTWRZMGgwakR2ZUpnbWpjYW5zeGVuVXZRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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": "kafka" + } + }, + "KafkaBrokers": { + "mod_policy": "Admins", + "value": { + "brokers": [ + "kafka0:9092", + "kafka1:9092", + "kafka2:9092", + "kafka3:9092" + ] + } + } + } + } + }, + "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 + } + }, + "Consortium": { + "value": { + "name": "SampleConsortium" + } + }, + "HashingAlgorithm": { + "mod_policy": "Admins", + "value": { + "name": "SHA256" + } + }, + "OrdererAddresses": { + "mod_policy": "/Channel/Orderer/Admins", + "value": { + "addresses": [ + "orderer.example.com:7050" + ] + } + } + } + }, + "sequence": "3" + }, + "last_update": { + "payload": { + "data": { + "config_update": { + "channel_id": "businesschannel", + "read_set": { + "groups": { + "Application": { + "groups": { + "Org2MSP": { + "policies": { + "Admins": {}, + "Readers": {}, + "Writers": {} + }, + "values": { + "MSP": {} + } + } + }, + "mod_policy": "Admins", + "version": "1" + } + } + }, + "write_set": { + "groups": { + "Application": { + "groups": { + "Org2MSP": { + "mod_policy": "Admins", + "policies": { + "Admins": {}, + "Readers": {}, + "Writers": {} + }, + "values": { + "AnchorPeers": { + "mod_policy": "Admins", + "value": { + "anchor_peers": [ + { + "host": "peer0.org2.example.com", + "port": 7051 + } + ] + } + }, + "MSP": {} + }, + "version": "1" + } + }, + "mod_policy": "Admins", + "version": "1" + } + } + } + }, + "signatures": [ + { + "signature": "MEQCICY8AcLgp/HiJdjROt28ZqWjUZbvPx5lVN2NJrlE51rPAiAevDam4iUDvjmnV70NupJzJwsyPmbHV1Mk2L68LFLPXQ==", + "signature_header": { + "creator": "CgdPcmcyTVNQEoAGLS0tLS1CRUdJTiAtLS0tLQpNSUlDR1RDQ0FjQ2dBd0lCQWdJUkFPeGxtRmdhQ3ZWT3Z0T3Y3bDZsWFZZd0NnWUlLb1pJemowRUF3SXdjekVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4R1RBWEJnTlZCQW9URUc5eVp6SXVaWGhoYlhCc1pTNWpiMjB4SERBYUJnTlZCQU1URTJOaApMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXdPVEEwCldqQmJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU4KVTJGdUlFWnlZVzVqYVhOamJ6RWZNQjBHQTFVRUF3d1dRV1J0YVc1QWIzSm5NaTVsZUdGdGNHeGxMbU52YlRCWgpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJISkxOQXJKK3JzOU16d2VZbU1kaWxBdlptZmxYZXFwCkE2dVlWR01TRHIzM0N2Y1BlcU9ta1pjbDBFRmJVcGxVMkdNTG8wZTQ5dFd6SkZOZDRzalQ2UzJqVFRCTE1BNEcKQTFVZER3RUIvd1FFQXdJSGdEQU1CZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlKbFY3Ymd4ejV1cQpTVGdSQkNLUEhlNlNVVjdwOERrenkzQ2N1ZCttSy9nUk1Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lGUFppcDZYCjJVK2pPNno0VHpBb3M3dldqQnRWdzFWOFFYMG9hVzhLa2Z6TUFpQlhMZWxFaTJjbktCUFlWRytqZXh4ZDhBa0kKWk8yeXVqbjlTNDUwa1JEUjhRPT0KLS0tLS1FTkQgLS0tLS0K", + "nonce": "+gSgHD/krRG/KaBmdjysNk8q85RElUkS" + } + } + ] + }, + "header": { + "channel_header": { + "channel_id": "businesschannel", + "timestamp": "2017-11-02T02:15:25.000Z", + "type": 2 + }, + "signature_header": { + "creator": "CgdPcmcyTVNQEoAGLS0tLS1CRUdJTiAtLS0tLQpNSUlDR1RDQ0FjQ2dBd0lCQWdJUkFPeGxtRmdhQ3ZWT3Z0T3Y3bDZsWFZZd0NnWUlLb1pJemowRUF3SXdjekVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4R1RBWEJnTlZCQW9URUc5eVp6SXVaWGhoYlhCc1pTNWpiMjB4SERBYUJnTlZCQU1URTJOaApMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXdPVEEwCldqQmJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU4KVTJGdUlFWnlZVzVqYVhOamJ6RWZNQjBHQTFVRUF3d1dRV1J0YVc1QWIzSm5NaTVsZUdGdGNHeGxMbU52YlRCWgpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJISkxOQXJKK3JzOU16d2VZbU1kaWxBdlptZmxYZXFwCkE2dVlWR01TRHIzM0N2Y1BlcU9ta1pjbDBFRmJVcGxVMkdNTG8wZTQ5dFd6SkZOZDRzalQ2UzJqVFRCTE1BNEcKQTFVZER3RUIvd1FFQXdJSGdEQU1CZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlKbFY3Ymd4ejV1cQpTVGdSQkNLUEhlNlNVVjdwOERrenkzQ2N1ZCttSy9nUk1Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lGUFppcDZYCjJVK2pPNno0VHpBb3M3dldqQnRWdzFWOFFYMG9hVzhLa2Z6TUFpQlhMZWxFaTJjbktCUFlWRytqZXh4ZDhBa0kKWk8yeXVqbjlTNDUwa1JEUjhRPT0KLS0tLS1FTkQgLS0tLS0K", + "nonce": "RL4QVT3I28AsePW+2LuQd4PCayJASOXn" + } + } + }, + "signature": "MEQCIADbHDx10gPOvmfIZeiwKaBIVxkFLDKxIYaDmHYDV4KWAiAcxiY0BHzA+K+pxLXv6iGs7BwBJOhlfj0nTluSiKj09Q==" + } + }, + "header": { + "channel_header": { + "channel_id": "businesschannel", + "timestamp": "2017-11-02T02:15:25.000Z", + "type": 1 + }, + "signature_header": { + "creator": "CgpPcmRlcmVyTVNQEvAFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRFRDQ0FiT2dBd0lCQWdJUkFMelBUVXhrTElRYWFua2JJVjlSWEZ3d0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTVNRFJhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFVXBia0grT3ZULzNKY3hlQzN2dXg0UVNEWklsTC9oeVBRS1ZiTWZQc1pScC9EUDRGCjc0RkZrQ3hYQlpjWFhBYzY4eTMwNTVuUmtVWUZ3bGxQU09pVjlLTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnSlV1WHZZSUVLVk9kdmJ3dG9qTi84bEhmT2paawp6bXBzSkNPOUhpS1Uwczh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQVB2cnpaSVdhdldwOGtPaU1ySjF3Rmk3CjAzUCtNNGRKMzhReDRVUjFhOS9MQWlCKy82RU5mUi9yS0ZReC9DMUVnMVVSNlVoSGM4UkVLNlRwajhuOFZ5MmQKOHc9PQotLS0tLUVORCAtLS0tLQo=", + "nonce": "pbWiP0PfNnM/N4ID9266V7sUKIH5Oskq" + } + } + }, + "signature": "MEQCIExMRJmpHvZX9nQh2FhuMR2laiWNL7RxXPxxlyp8MoweAiBlv3X20Hu4wV47jqno4vM92NKBmO/2tZnKBOo43sdeyA==" + } + ] + }, + "header": { + "data_hash": "eY24hcoJTlJK4ar3ck1QW8CEk54CqAbxrwfsJTfwIXQ=", + "number": "2", + "previous_hash": "YiqzoGqQMb0Yk6+sdxeH++B+zxefUlcstkHKH9YB72E=" + }, + "metadata": { + "metadata": [ + "EugGCpwGCv8FCgpPcmRlcmVyTVNQEvAFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRFRDQ0FiT2dBd0lCQWdJUkFMelBUVXhrTElRYWFua2JJVjlSWEZ3d0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTVNRFJhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFVXBia0grT3ZULzNKY3hlQzN2dXg0UVNEWklsTC9oeVBRS1ZiTWZQc1pScC9EUDRGCjc0RkZrQ3hYQlpjWFhBYzY4eTMwNTVuUmtVWUZ3bGxQU09pVjlLTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnSlV1WHZZSUVLVk9kdmJ3dG9qTi84bEhmT2paawp6bXBzSkNPOUhpS1Uwczh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQVB2cnpaSVdhdldwOGtPaU1ySjF3Rmk3CjAzUCtNNGRKMzhReDRVUjFhOS9MQWlCKy82RU5mUi9yS0ZReC9DMUVnMVVSNlVoSGM4UkVLNlRwajhuOFZ5MmQKOHc9PQotLS0tLUVORCAtLS0tLQoSGKmtA86PTZ8wZGH0QfoQbgW/9/kXjRRXYxJHMEUCIQC7XIa0kd72MEP6xnaZn+HOiia+4xHtJNlaZ+sS+IESegIgBXaYlKK2nl4b5cJZWUrffgwVIGGYAWj/Dl5MD4n40UU=", + "CgIIAhLnBgqcBgr/BQoKT3JkZXJlck1TUBLwBS0tLS0tQkVHSU4gLS0tLS0KTUlJQ0RUQ0NBYk9nQXdJQkFnSVJBTHpQVFV4a0xJUWFhbmtiSVY5UlhGd3dDZ1lJS29aSXpqMEVBd0l3YVRFTApNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHCmNtRnVZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUmN3RlFZRFZRUURFdzVqWVM1bGVHRnQKY0d4bExtTnZiVEFlRncweE56RXhNREl3TWpBNU1EUmFGdzB5TnpFd016RXdNakE1TURSYU1GZ3hDekFKQmdOVgpCQVlUQWxWVE1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFUWVc0Z1JuSmhibU5wCmMyTnZNUnd3R2dZRFZRUURFeE52Y21SbGNtVnlMbVY0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUkKS29aSXpqMERBUWNEUWdBRVVwYmtIK092VC8zSmN4ZUMzdnV4NFFTRFpJbEwvaHlQUUtWYk1mUHNaUnAvRFA0Rgo3NEZGa0N4WEJaY1hYQWM2OHkzMDU1blJrVVlGd2xsUFNPaVY5S05OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBCk1Bd0dBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0pVdVh2WUlFS1ZPZHZid3Rvak4vOGxIZk9qWmsKem1wc0pDTzlIaUtVMHM4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFQdnJ6WklXYXZXcDhrT2lNckoxd0ZpNwowM1ArTTRkSjM4UXg0VVIxYTkvTEFpQisvNkVOZlIvcktGUXgvQzFFZzFVUjZVaEhjOFJFSzZUcGo4bjhWeTJkCjh3PT0KLS0tLS1FTkQgLS0tLS0KEhhrQHcOm73cbnnuWkDTWyym356ahJarLhASRjBEAiBUUSCda0pQCvZljgJHZElL1RR6zSDZGTVhu+TQNCZYsgIgVBTgGyIBCdOCRiYk0QZdH1z52tbXjobG2X0jShS871c=", + "", + "CgIIAg==" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_3.block.json b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_3.block.json new file mode 100644 index 00000000..fd3e5db2 --- /dev/null +++ b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/block_3.block.json @@ -0,0 +1 @@ +*common.Block: error in PopulateTo for field data for message *common.Block: *common.BlockData: error in PopulateTo for slice field data at index 0 for message *common.BlockData: *common.Envelope: error in PopulateTo for field payload for message *common.Envelope: *common.Payload: error in PopulateTo for field data for message *common.Payload: decoding type 3 is unimplemented diff --git a/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.block.json b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.block.json new file mode 100644 index 00000000..86c5bf82 --- /dev/null +++ b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.block.json @@ -0,0 +1,520 @@ +{ + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU1RcVRMaG1XdjlxWTkrRUFvYmdmM1F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdMT3l4T083SUY4a0Z5YWl0TWZMeURSZFBlK3c4REsKU3lsakZqWDRNMlhWQjdCMGxTVEtUaHkxcFNJV21VSTFCTFVjdmlEZU1EdU5CdU1DTWRoTFFMU2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUtsV1JGc29rN0FECjRjbkxBNThPTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFETUJjQ3AKZGU5U09kOUxXOGRWNmcvVFZ0VlV5Ynlva1pUSGN0VVdRTW9tMVFJZ0lnODI0RGV4c1pUYTZnV05oTUwySXNCTgpGVTZZTjhkVThSRVRLbU1sbW9NPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQVBZWThyNVFsL1BaNWh1K2N0VzBzODh3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQlBHVzZPdTl6cmxESUl1M1pkdzNiRC9aVW44cXZ5TG1MVzErOEh2NG1lRWVXbW1QbTAzcit0cm92SVNrNkY1Ugp1SXlhNCtwL0VycWthM01RNlB1SktycWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUtsV1JGc29rN0FENGNuTEE1OE8KTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUNPWlBMVk93YVU3bS9qTApjM2VlN1Vmd0thNHdxdjBneTFRV1Fzem5BQ0FIQWlCNVZKSVYwY1VUQmhMNk9RZUZZR2RnNmdsS2VKWUZsck9CCmZQZlp5VTlTTWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRVWRhTkZKS01ob0tOZlFyYVBSeFRDakFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTUKTURSYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN4TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN4TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVUWTZ0c3dKYnVoaHAyMGs3Q2gvM3pFbHUzRkdHUGdYb2g3eEx3UkZoTzhnZi92ZXNwZXZMdmNvNQpTMXZFS0w3ckttSHJJWnd6VGN3M2tGUFB1b0JPcTZOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWdKMkQvZUNjSUZPYjYKR201eGViemZKNHdxUlNCamNoWjFibTBKZXMwNHBtY3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBT0hGcC80aQorbmhUdklzR3R6TjJkWHNDUVAxL0xxdEJkNjBZbU9UcEZxNHJBaUFSbTdVWStnRTlLMk85VGV3MVN0Z1hoQ0lpCjNCYUt5MmZweVhPeU5zcVRxdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWNDZ0F3SUJBZ0lSQU94bG1GZ2FDdlZPdnRPdjdsNmxYVll3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkhKTE5BckorcnM5TXp3ZVltTWRpbEF2Wm1mbFhlcXAKQTZ1WVZHTVNEcjMzQ3ZjUGVxT21rWmNsMEVGYlVwbFUyR01MbzBlNDl0V3pKRk5kNHNqVDZTMmpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUpsVjdiZ3h6NXVxClNUZ1JCQ0tQSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUZQWmlwNlgKMlUrak82ejRUekFvczd2V2pCdFZ3MVY4UVgwb2FXOEtrZnpNQWlCWExlbEVpMmNuS0JQWVZHK2pleHhkOEFrSQpaTzJ5dWpuOVM0NTBrUkRSOFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQU8wNFdDRzRBU0JaSGNaRWVkZGpueUV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQk14eVpvRkgrY01jTHNGYk42YWJ4V3Fpc1FaOFFFU3EvdFNtdC82UlJJQzJTKzE5TFhHRDNWUWt2ZHNUQ3k5SgpKbllsdmQra0VGd3hjVUd1UkRRcWkwYWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUpsVjdiZ3h6NXVxU1RnUkJDS1AKSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDQ0szekJZRFZlem5iWQo5NURMRzBPaE42blFldVFSOWVNdVBnTXpCL0duZ2dJZ1FHN2t6aDdlWnhoOGFSS1BDaG1JN2R2VnRTYVZsMmJICnBLL0tVbzJtSk5nPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUxpbnltYmE2VmQ4VS9JTVZiRUtxUW93Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXcKT1RBMFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQ3kwbEJ0NjAzTGV1ejRZV0Zyd205eU5IeWllYjlraUtXRjFxREZxRlFRYVg3bnJpc3I3M2p2NwpNVmJIdnZpK1dHdFczVThTeHRSWEpnVmJOb092Mi9xalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJQUZVZlZRZTh1WVoKeDhoRk51UWtKOUFMZWlkbkNGTHZ4dmk0bWIvV3IxNHBNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURHZ2cxTgozdEhYcWtqL1FXV0VqbTF6WS92THpsNDd6QnNSTTFMNTBneFp3Z0lnWlBWZXNNdzAzZ1g1Q0FIdmp2c1Bxc2E0Ci9SdUg5T0lleUI4WjhWTVlsdzg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJDZ0F3SUJBZ0lRWkpFdisvdmVzNGpWN3gzSUZjcWJZREFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRVdEV1FQbXhXcWw5RUNISG9pa0syMmZmS0h4Z2txRDBobUE4bU1URlNxUTQxV3djTU9mQlEKcTdlaXdDSU1kamdFVXhpdU5zVnh0VGI5MXNpVDBONzJxNk5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0pVdVh2WUlFS1ZPZHZid3Rvak4vOGxIZk9qWmt6bXBzCkpDTzlIaUtVMHM4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJYXlIYUZ1bnhVSUc1U1hueHFING8yRkRLMGMKZHhaeG5hOXI4eUxHVjIxUEFpQWZwRjBvZnpEdnpJYzFWNElIZGhwUExTWVlkZFBTNFp1bVRJbndnM0ZBd1E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMekNDQWRXZ0F3SUJBZ0lRUWx0Q09oWFhxQXlRUGFlczd4RmVEVEFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJEbjZ2TFF5QzB3SVFQcjQ1OC9BUjlrOVhDbWUKbUQyS1llR216dWkzR0MrREgvaHVVbk9QaGJ1M3BmR1FDTXh4U3BaWFZneVhiUFlWNlViaHFrbVR6ZHVqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJQ1ZMbDcyQ0JDbFRuYjI4TGFJemYvSlIzem8yWk01cWJDUWp2UjRpbE5MUE1Bb0cKQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUNVZlpRV0Rvb3BJTlFGRC96R0c2aFgrZWV3ZU9nTHRRWG80cHFzQ3BhTApqUUlnTEtyckJuL3VhaExER0ljRlkzN3QwWjhVZEVLQ2w1ZE9jcU5mbUlKalZ4MD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR1Z0F3SUJBZ0lRUGppdVJVVFNZSmo2RytycFZBb3lXekFLQmdncWhrak9QUVFEQWpCc01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4R2pBWUJnTlZCQU1URVhSc2MyTmhMbVY0CllXMXdiR1V1WTI5dE1CNFhEVEUzTVRFd01qQXlNRGt3TkZvWERUSTNNVEF6TVRBeU1Ea3dORm93YkRFTE1Ba0cKQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHY21GdQpZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUm93R0FZRFZRUURFeEYwYkhOallTNWxlR0Z0CmNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdhQWw5UDFqWWV0S2xjQ0xtSVMKVzdCQTI2SS81WXFqTTdMK3R3YmJrM05jaUQwWDlWMVJtd3orbWhXaGpZQ1FEZUkzNEUxUTJUeTdiMTlTbEtjYQpMMUdqWHpCZE1BNEdBMVVkRHdFQi93UUVBd0lCcGpBUEJnTlZIU1VFQ0RBR0JnUlZIU1VBTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0tRWURWUjBPQkNJRUlCbzJRNk1FMHVYYjZ1ZUVEWkErdDRHSHVKOUx1TzRkYStER2dCUjkKY2dEbE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRFI4bllRd09UWjF5Wkp6U1BFRVlUNXlUdkdEQ3BoVUhaawo5VnVCZ3lQNjJnSWdXKy9qQ0w0eXkxUGZMZmY0c1JzTWRZMGgwakR2ZUpnbWpjYW5zeGVuVXZRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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": "kafka" + } + }, + "KafkaBrokers": { + "mod_policy": "Admins", + "value": { + "brokers": [ + "kafka0:9092", + "kafka1:9092", + "kafka2:9092", + "kafka3:9092" + ] + } + } + } + } + }, + "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-11-02T02:14:04.000Z", + "tx_id": "a577a07e248785ed29f8dcb61b9c224ba1e2d7e0be9e45137277ed4c3291092b", + "type": 1, + "version": 1 + }, + "signature_header": { + "nonce": "6q+dc13iCN+OjzZFIYhVqZW8B+NyBOXy" + } + } + } + } + ] + }, + "header": { + "data_hash": "oVkfNdi1qv0v1lXiAWDvGftCutSlyXZfAOBbgQuYfXU=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.json b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.json new file mode 100644 index 00000000..86c5bf82 --- /dev/null +++ b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.json @@ -0,0 +1,520 @@ +{ + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU1RcVRMaG1XdjlxWTkrRUFvYmdmM1F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdMT3l4T083SUY4a0Z5YWl0TWZMeURSZFBlK3c4REsKU3lsakZqWDRNMlhWQjdCMGxTVEtUaHkxcFNJV21VSTFCTFVjdmlEZU1EdU5CdU1DTWRoTFFMU2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUtsV1JGc29rN0FECjRjbkxBNThPTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFETUJjQ3AKZGU5U09kOUxXOGRWNmcvVFZ0VlV5Ynlva1pUSGN0VVdRTW9tMVFJZ0lnODI0RGV4c1pUYTZnV05oTUwySXNCTgpGVTZZTjhkVThSRVRLbU1sbW9NPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQVBZWThyNVFsL1BaNWh1K2N0VzBzODh3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQlBHVzZPdTl6cmxESUl1M1pkdzNiRC9aVW44cXZ5TG1MVzErOEh2NG1lRWVXbW1QbTAzcit0cm92SVNrNkY1Ugp1SXlhNCtwL0VycWthM01RNlB1SktycWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUtsV1JGc29rN0FENGNuTEE1OE8KTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUNPWlBMVk93YVU3bS9qTApjM2VlN1Vmd0thNHdxdjBneTFRV1Fzem5BQ0FIQWlCNVZKSVYwY1VUQmhMNk9RZUZZR2RnNmdsS2VKWUZsck9CCmZQZlp5VTlTTWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRVWRhTkZKS01ob0tOZlFyYVBSeFRDakFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTUKTURSYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN4TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN4TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVUWTZ0c3dKYnVoaHAyMGs3Q2gvM3pFbHUzRkdHUGdYb2g3eEx3UkZoTzhnZi92ZXNwZXZMdmNvNQpTMXZFS0w3ckttSHJJWnd6VGN3M2tGUFB1b0JPcTZOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWdKMkQvZUNjSUZPYjYKR201eGViemZKNHdxUlNCamNoWjFibTBKZXMwNHBtY3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBT0hGcC80aQorbmhUdklzR3R6TjJkWHNDUVAxL0xxdEJkNjBZbU9UcEZxNHJBaUFSbTdVWStnRTlLMk85VGV3MVN0Z1hoQ0lpCjNCYUt5MmZweVhPeU5zcVRxdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWNDZ0F3SUJBZ0lSQU94bG1GZ2FDdlZPdnRPdjdsNmxYVll3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkhKTE5BckorcnM5TXp3ZVltTWRpbEF2Wm1mbFhlcXAKQTZ1WVZHTVNEcjMzQ3ZjUGVxT21rWmNsMEVGYlVwbFUyR01MbzBlNDl0V3pKRk5kNHNqVDZTMmpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUpsVjdiZ3h6NXVxClNUZ1JCQ0tQSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUZQWmlwNlgKMlUrak82ejRUekFvczd2V2pCdFZ3MVY4UVgwb2FXOEtrZnpNQWlCWExlbEVpMmNuS0JQWVZHK2pleHhkOEFrSQpaTzJ5dWpuOVM0NTBrUkRSOFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQU8wNFdDRzRBU0JaSGNaRWVkZGpueUV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQk14eVpvRkgrY01jTHNGYk42YWJ4V3Fpc1FaOFFFU3EvdFNtdC82UlJJQzJTKzE5TFhHRDNWUWt2ZHNUQ3k5SgpKbllsdmQra0VGd3hjVUd1UkRRcWkwYWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUpsVjdiZ3h6NXVxU1RnUkJDS1AKSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDQ0szekJZRFZlem5iWQo5NURMRzBPaE42blFldVFSOWVNdVBnTXpCL0duZ2dJZ1FHN2t6aDdlWnhoOGFSS1BDaG1JN2R2VnRTYVZsMmJICnBLL0tVbzJtSk5nPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUxpbnltYmE2VmQ4VS9JTVZiRUtxUW93Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXcKT1RBMFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQ3kwbEJ0NjAzTGV1ejRZV0Zyd205eU5IeWllYjlraUtXRjFxREZxRlFRYVg3bnJpc3I3M2p2NwpNVmJIdnZpK1dHdFczVThTeHRSWEpnVmJOb092Mi9xalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJQUZVZlZRZTh1WVoKeDhoRk51UWtKOUFMZWlkbkNGTHZ4dmk0bWIvV3IxNHBNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURHZ2cxTgozdEhYcWtqL1FXV0VqbTF6WS92THpsNDd6QnNSTTFMNTBneFp3Z0lnWlBWZXNNdzAzZ1g1Q0FIdmp2c1Bxc2E0Ci9SdUg5T0lleUI4WjhWTVlsdzg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJDZ0F3SUJBZ0lRWkpFdisvdmVzNGpWN3gzSUZjcWJZREFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRVdEV1FQbXhXcWw5RUNISG9pa0syMmZmS0h4Z2txRDBobUE4bU1URlNxUTQxV3djTU9mQlEKcTdlaXdDSU1kamdFVXhpdU5zVnh0VGI5MXNpVDBONzJxNk5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0pVdVh2WUlFS1ZPZHZid3Rvak4vOGxIZk9qWmt6bXBzCkpDTzlIaUtVMHM4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJYXlIYUZ1bnhVSUc1U1hueHFING8yRkRLMGMKZHhaeG5hOXI4eUxHVjIxUEFpQWZwRjBvZnpEdnpJYzFWNElIZGhwUExTWVlkZFBTNFp1bVRJbndnM0ZBd1E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMekNDQWRXZ0F3SUJBZ0lRUWx0Q09oWFhxQXlRUGFlczd4RmVEVEFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJEbjZ2TFF5QzB3SVFQcjQ1OC9BUjlrOVhDbWUKbUQyS1llR216dWkzR0MrREgvaHVVbk9QaGJ1M3BmR1FDTXh4U3BaWFZneVhiUFlWNlViaHFrbVR6ZHVqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJQ1ZMbDcyQ0JDbFRuYjI4TGFJemYvSlIzem8yWk01cWJDUWp2UjRpbE5MUE1Bb0cKQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUNVZlpRV0Rvb3BJTlFGRC96R0c2aFgrZWV3ZU9nTHRRWG80cHFzQ3BhTApqUUlnTEtyckJuL3VhaExER0ljRlkzN3QwWjhVZEVLQ2w1ZE9jcU5mbUlKalZ4MD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR1Z0F3SUJBZ0lRUGppdVJVVFNZSmo2RytycFZBb3lXekFLQmdncWhrak9QUVFEQWpCc01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4R2pBWUJnTlZCQU1URVhSc2MyTmhMbVY0CllXMXdiR1V1WTI5dE1CNFhEVEUzTVRFd01qQXlNRGt3TkZvWERUSTNNVEF6TVRBeU1Ea3dORm93YkRFTE1Ba0cKQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHY21GdQpZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUm93R0FZRFZRUURFeEYwYkhOallTNWxlR0Z0CmNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdhQWw5UDFqWWV0S2xjQ0xtSVMKVzdCQTI2SS81WXFqTTdMK3R3YmJrM05jaUQwWDlWMVJtd3orbWhXaGpZQ1FEZUkzNEUxUTJUeTdiMTlTbEtjYQpMMUdqWHpCZE1BNEdBMVVkRHdFQi93UUVBd0lCcGpBUEJnTlZIU1VFQ0RBR0JnUlZIU1VBTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0tRWURWUjBPQkNJRUlCbzJRNk1FMHVYYjZ1ZUVEWkErdDRHSHVKOUx1TzRkYStER2dCUjkKY2dEbE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRFI4bllRd09UWjF5Wkp6U1BFRVlUNXlUdkdEQ3BoVUhaawo5VnVCZ3lQNjJnSWdXKy9qQ0w0eXkxUGZMZmY0c1JzTWRZMGgwakR2ZUpnbWpjYW5zeGVuVXZRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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": "kafka" + } + }, + "KafkaBrokers": { + "mod_policy": "Admins", + "value": { + "brokers": [ + "kafka0:9092", + "kafka1:9092", + "kafka2:9092", + "kafka3:9092" + ] + } + } + } + } + }, + "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-11-02T02:14:04.000Z", + "tx_id": "a577a07e248785ed29f8dcb61b9c224ba1e2d7e0be9e45137277ed4c3291092b", + "type": 1, + "version": 1 + }, + "signature_header": { + "nonce": "6q+dc13iCN+OjzZFIYhVqZW8B+NyBOXy" + } + } + } + } + ] + }, + "header": { + "data_hash": "oVkfNdi1qv0v1lXiAWDvGftCutSlyXZfAOBbgQuYfXU=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.updated.block b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.updated.block new file mode 100644 index 00000000..000d73a9 Binary files /dev/null and b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.updated.block differ diff --git a/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.updated.block.json b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.updated.block.json new file mode 100644 index 00000000..2ea08124 --- /dev/null +++ b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.updated.block.json @@ -0,0 +1,520 @@ +{ + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU1RcVRMaG1XdjlxWTkrRUFvYmdmM1F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdMT3l4T083SUY4a0Z5YWl0TWZMeURSZFBlK3c4REsKU3lsakZqWDRNMlhWQjdCMGxTVEtUaHkxcFNJV21VSTFCTFVjdmlEZU1EdU5CdU1DTWRoTFFMU2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUtsV1JGc29rN0FECjRjbkxBNThPTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFETUJjQ3AKZGU5U09kOUxXOGRWNmcvVFZ0VlV5Ynlva1pUSGN0VVdRTW9tMVFJZ0lnODI0RGV4c1pUYTZnV05oTUwySXNCTgpGVTZZTjhkVThSRVRLbU1sbW9NPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQVBZWThyNVFsL1BaNWh1K2N0VzBzODh3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQlBHVzZPdTl6cmxESUl1M1pkdzNiRC9aVW44cXZ5TG1MVzErOEh2NG1lRWVXbW1QbTAzcit0cm92SVNrNkY1Ugp1SXlhNCtwL0VycWthM01RNlB1SktycWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUtsV1JGc29rN0FENGNuTEE1OE8KTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUNPWlBMVk93YVU3bS9qTApjM2VlN1Vmd0thNHdxdjBneTFRV1Fzem5BQ0FIQWlCNVZKSVYwY1VUQmhMNk9RZUZZR2RnNmdsS2VKWUZsck9CCmZQZlp5VTlTTWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRVWRhTkZKS01ob0tOZlFyYVBSeFRDakFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTUKTURSYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN4TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN4TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVUWTZ0c3dKYnVoaHAyMGs3Q2gvM3pFbHUzRkdHUGdYb2g3eEx3UkZoTzhnZi92ZXNwZXZMdmNvNQpTMXZFS0w3ckttSHJJWnd6VGN3M2tGUFB1b0JPcTZOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWdKMkQvZUNjSUZPYjYKR201eGViemZKNHdxUlNCamNoWjFibTBKZXMwNHBtY3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBT0hGcC80aQorbmhUdklzR3R6TjJkWHNDUVAxL0xxdEJkNjBZbU9UcEZxNHJBaUFSbTdVWStnRTlLMk85VGV3MVN0Z1hoQ0lpCjNCYUt5MmZweVhPeU5zcVRxdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWNDZ0F3SUJBZ0lSQU94bG1GZ2FDdlZPdnRPdjdsNmxYVll3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkhKTE5BckorcnM5TXp3ZVltTWRpbEF2Wm1mbFhlcXAKQTZ1WVZHTVNEcjMzQ3ZjUGVxT21rWmNsMEVGYlVwbFUyR01MbzBlNDl0V3pKRk5kNHNqVDZTMmpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUpsVjdiZ3h6NXVxClNUZ1JCQ0tQSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUZQWmlwNlgKMlUrak82ejRUekFvczd2V2pCdFZ3MVY4UVgwb2FXOEtrZnpNQWlCWExlbEVpMmNuS0JQWVZHK2pleHhkOEFrSQpaTzJ5dWpuOVM0NTBrUkRSOFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQU8wNFdDRzRBU0JaSGNaRWVkZGpueUV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQk14eVpvRkgrY01jTHNGYk42YWJ4V3Fpc1FaOFFFU3EvdFNtdC82UlJJQzJTKzE5TFhHRDNWUWt2ZHNUQ3k5SgpKbllsdmQra0VGd3hjVUd1UkRRcWkwYWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUpsVjdiZ3h6NXVxU1RnUkJDS1AKSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDQ0szekJZRFZlem5iWQo5NURMRzBPaE42blFldVFSOWVNdVBnTXpCL0duZ2dJZ1FHN2t6aDdlWnhoOGFSS1BDaG1JN2R2VnRTYVZsMmJICnBLL0tVbzJtSk5nPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUxpbnltYmE2VmQ4VS9JTVZiRUtxUW93Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXcKT1RBMFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQ3kwbEJ0NjAzTGV1ejRZV0Zyd205eU5IeWllYjlraUtXRjFxREZxRlFRYVg3bnJpc3I3M2p2NwpNVmJIdnZpK1dHdFczVThTeHRSWEpnVmJOb092Mi9xalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJQUZVZlZRZTh1WVoKeDhoRk51UWtKOUFMZWlkbkNGTHZ4dmk0bWIvV3IxNHBNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURHZ2cxTgozdEhYcWtqL1FXV0VqbTF6WS92THpsNDd6QnNSTTFMNTBneFp3Z0lnWlBWZXNNdzAzZ1g1Q0FIdmp2c1Bxc2E0Ci9SdUg5T0lleUI4WjhWTVlsdzg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJDZ0F3SUJBZ0lRWkpFdisvdmVzNGpWN3gzSUZjcWJZREFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRVdEV1FQbXhXcWw5RUNISG9pa0syMmZmS0h4Z2txRDBobUE4bU1URlNxUTQxV3djTU9mQlEKcTdlaXdDSU1kamdFVXhpdU5zVnh0VGI5MXNpVDBONzJxNk5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0pVdVh2WUlFS1ZPZHZid3Rvak4vOGxIZk9qWmt6bXBzCkpDTzlIaUtVMHM4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJYXlIYUZ1bnhVSUc1U1hueHFING8yRkRLMGMKZHhaeG5hOXI4eUxHVjIxUEFpQWZwRjBvZnpEdnpJYzFWNElIZGhwUExTWVlkZFBTNFp1bVRJbndnM0ZBd1E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMekNDQWRXZ0F3SUJBZ0lRUWx0Q09oWFhxQXlRUGFlczd4RmVEVEFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJEbjZ2TFF5QzB3SVFQcjQ1OC9BUjlrOVhDbWUKbUQyS1llR216dWkzR0MrREgvaHVVbk9QaGJ1M3BmR1FDTXh4U3BaWFZneVhiUFlWNlViaHFrbVR6ZHVqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJQ1ZMbDcyQ0JDbFRuYjI4TGFJemYvSlIzem8yWk01cWJDUWp2UjRpbE5MUE1Bb0cKQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUNVZlpRV0Rvb3BJTlFGRC96R0c2aFgrZWV3ZU9nTHRRWG80cHFzQ3BhTApqUUlnTEtyckJuL3VhaExER0ljRlkzN3QwWjhVZEVLQ2w1ZE9jcU5mbUlKalZ4MD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR1Z0F3SUJBZ0lRUGppdVJVVFNZSmo2RytycFZBb3lXekFLQmdncWhrak9QUVFEQWpCc01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4R2pBWUJnTlZCQU1URVhSc2MyTmhMbVY0CllXMXdiR1V1WTI5dE1CNFhEVEUzTVRFd01qQXlNRGt3TkZvWERUSTNNVEF6TVRBeU1Ea3dORm93YkRFTE1Ba0cKQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHY21GdQpZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUm93R0FZRFZRUURFeEYwYkhOallTNWxlR0Z0CmNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdhQWw5UDFqWWV0S2xjQ0xtSVMKVzdCQTI2SS81WXFqTTdMK3R3YmJrM05jaUQwWDlWMVJtd3orbWhXaGpZQ1FEZUkzNEUxUTJUeTdiMTlTbEtjYQpMMUdqWHpCZE1BNEdBMVVkRHdFQi93UUVBd0lCcGpBUEJnTlZIU1VFQ0RBR0JnUlZIU1VBTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0tRWURWUjBPQkNJRUlCbzJRNk1FMHVYYjZ1ZUVEWkErdDRHSHVKOUx1TzRkYStER2dCUjkKY2dEbE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRFI4bllRd09UWjF5Wkp6U1BFRVlUNXlUdkdEQ3BoVUhaawo5VnVCZ3lQNjJnSWdXKy9qQ0w0eXkxUGZMZmY0c1JzTWRZMGgwakR2ZUpnbWpjYW5zeGVuVXZRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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": 20, + "preferred_max_bytes": 524288 + } + }, + "BatchTimeout": { + "mod_policy": "Admins", + "value": { + "timeout": "2s" + } + }, + "ChannelRestrictions": { + "mod_policy": "Admins" + }, + "ConsensusType": { + "mod_policy": "Admins", + "value": { + "type": "kafka" + } + }, + "KafkaBrokers": { + "mod_policy": "Admins", + "value": { + "brokers": [ + "kafka0:9092", + "kafka1:9092", + "kafka2:9092", + "kafka3:9092" + ] + } + } + } + } + }, + "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-11-02T02:14:04.000Z", + "tx_id": "a577a07e248785ed29f8dcb61b9c224ba1e2d7e0be9e45137277ed4c3291092b", + "type": 1, + "version": 1 + }, + "signature_header": { + "nonce": "6q+dc13iCN+OjzZFIYhVqZW8B+NyBOXy" + } + } + } + } + ] + }, + "header": { + "data_hash": "oVkfNdi1qv0v1lXiAWDvGftCutSlyXZfAOBbgQuYfXU=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.updated.json b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.updated.json new file mode 100644 index 00000000..dca72f19 --- /dev/null +++ b/hyperledger_fabric/1.0.4/kafka/channel-artifacts/orderer.genesis.updated.json @@ -0,0 +1,520 @@ +{ + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU1RcVRMaG1XdjlxWTkrRUFvYmdmM1F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdMT3l4T083SUY4a0Z5YWl0TWZMeURSZFBlK3c4REsKU3lsakZqWDRNMlhWQjdCMGxTVEtUaHkxcFNJV21VSTFCTFVjdmlEZU1EdU5CdU1DTWRoTFFMU2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUtsV1JGc29rN0FECjRjbkxBNThPTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFETUJjQ3AKZGU5U09kOUxXOGRWNmcvVFZ0VlV5Ynlva1pUSGN0VVdRTW9tMVFJZ0lnODI0RGV4c1pUYTZnV05oTUwySXNCTgpGVTZZTjhkVThSRVRLbU1sbW9NPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQVBZWThyNVFsL1BaNWh1K2N0VzBzODh3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekV1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NUzVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQlBHVzZPdTl6cmxESUl1M1pkdzNiRC9aVW44cXZ5TG1MVzErOEh2NG1lRWVXbW1QbTAzcit0cm92SVNrNkY1Ugp1SXlhNCtwL0VycWthM01RNlB1SktycWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUtsV1JGc29rN0FENGNuTEE1OE8KTXBmbHZrMnhPWVViTkpPWDVmSVdJREQ0TUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUNPWlBMVk93YVU3bS9qTApjM2VlN1Vmd0thNHdxdjBneTFRV1Fzem5BQ0FIQWlCNVZKSVYwY1VUQmhMNk9RZUZZR2RnNmdsS2VKWUZsck9CCmZQZlp5VTlTTWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRVWRhTkZKS01ob0tOZlFyYVBSeFRDakFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE1TURSYUZ3MHlOekV3TXpFd01qQTUKTURSYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN4TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN4TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUVUWTZ0c3dKYnVoaHAyMGs3Q2gvM3pFbHUzRkdHUGdYb2g3eEx3UkZoTzhnZi92ZXNwZXZMdmNvNQpTMXZFS0w3ckttSHJJWnd6VGN3M2tGUFB1b0JPcTZOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWdKMkQvZUNjSUZPYjYKR201eGViemZKNHdxUlNCamNoWjFibTBKZXMwNHBtY3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBT0hGcC80aQorbmhUdklzR3R6TjJkWHNDUVAxL0xxdEJkNjBZbU9UcEZxNHJBaUFSbTdVWStnRTlLMk85VGV3MVN0Z1hoQ0lpCjNCYUt5MmZweVhPeU5zcVRxdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHVENDQWNDZ0F3SUJBZ0lSQU94bG1GZ2FDdlZPdnRPdjdsNmxYVll3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkhKTE5BckorcnM5TXp3ZVltTWRpbEF2Wm1mbFhlcXAKQTZ1WVZHTVNEcjMzQ3ZjUGVxT21rWmNsMEVGYlVwbFUyR01MbzBlNDl0V3pKRk5kNHNqVDZTMmpUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSUpsVjdiZ3h6NXVxClNUZ1JCQ0tQSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUZQWmlwNlgKMlUrak82ejRUekFvczd2V2pCdFZ3MVY4UVgwb2FXOEtrZnpNQWlCWExlbEVpMmNuS0JQWVZHK2pleHhkOEFrSQpaTzJ5dWpuOVM0NTBrUkRSOFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSRENDQWVxZ0F3SUJBZ0lSQU8wNFdDRzRBU0JaSGNaRWVkZGpueUV3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPVEEwV2hjTk1qY3hNRE14TURJd09UQTAKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQk14eVpvRkgrY01jTHNGYk42YWJ4V3Fpc1FaOFFFU3EvdFNtdC82UlJJQzJTKzE5TFhHRDNWUWt2ZHNUQ3k5SgpKbllsdmQra0VGd3hjVUd1UkRRcWkwYWpYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSUpsVjdiZ3h6NXVxU1RnUkJDS1AKSGU2U1VWN3A4RGt6eTNDY3VkK21LL2dSTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDQ0szekJZRFZlem5iWQo5NURMRzBPaE42blFldVFSOWVNdVBnTXpCL0duZ2dJZ1FHN2t6aDdlWnhoOGFSS1BDaG1JN2R2VnRTYVZsMmJICnBLL0tVbzJtSk5nPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUxpbnltYmE2VmQ4VS9JTVZiRUtxUW93Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpJdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T1RBMFdoY05NamN4TURNeE1ESXcKT1RBMFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCQ3kwbEJ0NjAzTGV1ejRZV0Zyd205eU5IeWllYjlraUtXRjFxREZxRlFRYVg3bnJpc3I3M2p2NwpNVmJIdnZpK1dHdFczVThTeHRSWEpnVmJOb092Mi9xalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJQUZVZlZRZTh1WVoKeDhoRk51UWtKOUFMZWlkbkNGTHZ4dmk0bWIvV3IxNHBNQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURHZ2cxTgozdEhYcWtqL1FXV0VqbTF6WS92THpsNDd6QnNSTTFMNTBneFp3Z0lnWlBWZXNNdzAzZ1g1Q0FIdmp2c1Bxc2E0Ci9SdUg5T0lleUI4WjhWTVlsdzg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJDZ0F3SUJBZ0lRWkpFdisvdmVzNGpWN3gzSUZjcWJZREFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dWakVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4R2pBWUJnTlZCQU1NRVVGa2JXbHVRR1Y0WVcxd2JHVXVZMjl0TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJCnpqMERBUWNEUWdBRVdEV1FQbXhXcWw5RUNISG9pa0syMmZmS0h4Z2txRDBobUE4bU1URlNxUTQxV3djTU9mQlEKcTdlaXdDSU1kamdFVXhpdU5zVnh0VGI5MXNpVDBONzJxNk5OTUVzd0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3RwpBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ0pVdVh2WUlFS1ZPZHZid3Rvak4vOGxIZk9qWmt6bXBzCkpDTzlIaUtVMHM4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJYXlIYUZ1bnhVSUc1U1hueHFING8yRkRLMGMKZHhaeG5hOXI4eUxHVjIxUEFpQWZwRjBvZnpEdnpJYzFWNElIZGhwUExTWVlkZFBTNFp1bVRJbndnM0ZBd1E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMekNDQWRXZ0F3SUJBZ0lRUWx0Q09oWFhxQXlRUGFlczd4RmVEVEFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1Ea3dORm9YRFRJM01UQXpNVEF5TURrd05Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJEbjZ2TFF5QzB3SVFQcjQ1OC9BUjlrOVhDbWUKbUQyS1llR216dWkzR0MrREgvaHVVbk9QaGJ1M3BmR1FDTXh4U3BaWFZneVhiUFlWNlViaHFrbVR6ZHVqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJQ1ZMbDcyQ0JDbFRuYjI4TGFJemYvSlIzem8yWk01cWJDUWp2UjRpbE5MUE1Bb0cKQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUNVZlpRV0Rvb3BJTlFGRC96R0c2aFgrZWV3ZU9nTHRRWG80cHFzQ3BhTApqUUlnTEtyckJuL3VhaExER0ljRlkzN3QwWjhVZEVLQ2w1ZE9jcU5mbUlKalZ4MD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR1Z0F3SUJBZ0lRUGppdVJVVFNZSmo2RytycFZBb3lXekFLQmdncWhrak9QUVFEQWpCc01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4R2pBWUJnTlZCQU1URVhSc2MyTmhMbVY0CllXMXdiR1V1WTI5dE1CNFhEVEUzTVRFd01qQXlNRGt3TkZvWERUSTNNVEF6TVRBeU1Ea3dORm93YkRFTE1Ba0cKQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERWTmhiaUJHY21GdQpZMmx6WTI4eEZEQVNCZ05WQkFvVEMyVjRZVzF3YkdVdVkyOXRNUm93R0FZRFZRUURFeEYwYkhOallTNWxlR0Z0CmNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkdhQWw5UDFqWWV0S2xjQ0xtSVMKVzdCQTI2SS81WXFqTTdMK3R3YmJrM05jaUQwWDlWMVJtd3orbWhXaGpZQ1FEZUkzNEUxUTJUeTdiMTlTbEtjYQpMMUdqWHpCZE1BNEdBMVVkRHdFQi93UUVBd0lCcGpBUEJnTlZIU1VFQ0RBR0JnUlZIU1VBTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0tRWURWUjBPQkNJRUlCbzJRNk1FMHVYYjZ1ZUVEWkErdDRHSHVKOUx1TzRkYStER2dCUjkKY2dEbE1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRFI4bllRd09UWjF5Wkp6U1BFRVlUNXlUdkdEQ3BoVUhaawo5VnVCZ3lQNjJnSWdXKy9qQ0w0eXkxUGZMZmY0c1JzTWRZMGgwakR2ZUpnbWpjYW5zeGVuVXZRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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": 20, + "preferred_max_bytes": 524288 + } + }, + "BatchTimeout": { + "mod_policy": "Admins", + "value": { + "timeout": "2s" + } + }, + "ChannelRestrictions": { + "mod_policy": "Admins" + }, + "ConsensusType": { + "mod_policy": "Admins", + "value": { + "type": "kafka" + } + }, + "KafkaBrokers": { + "mod_policy": "Admins", + "value": { + "brokers": [ + "kafka0:9092", + "kafka1:9092", + "kafka2:9092", + "kafka3:9092" + ] + } + } + } + } + }, + "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-11-02T02:14:04.000Z", + "tx_id": "a577a07e248785ed29f8dcb61b9c224ba1e2d7e0be9e45137277ed4c3291092b", + "type": 1, + "version": 1 + }, + "signature_header": { + "nonce": "6q+dc13iCN+OjzZFIYhVqZW8B+NyBOXy" + } + } + } + } + ] + }, + "header": { + "data_hash": "oVkfNdi1qv0v1lXiAWDvGftCutSlyXZfAOBbgQuYfXU=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/scripts/func.sh b/hyperledger_fabric/1.0.4/scripts/func.sh index c41a3f88..0ecaf055 100644 --- a/hyperledger_fabric/1.0.4/scripts/func.sh +++ b/hyperledger_fabric/1.0.4/scripts/func.sh @@ -426,5 +426,50 @@ channelFetch () { cat log.txt verifyResult $res "Fetch block on peer$peer failed" echo_g "=== Fetch block on peer$peer in channel $channel is successful === " - echo +} + +# configtxlator encode json to pb +# Usage: configtxlatorEncode msgType input output +configtxlatorEncode() { + echo_b "Encode $input --> $output using type $msgType" + local msgType=$1 + local input=$2 + local output=$3 + + curl -sX POST \ + --data-binary @${input} \ + ${CTL_ENCODE_URL}/${msgType} \ + >${output} +} + +# configtxlator decode pb to json +# Usage: configtxlatorEncode msgType input output +configtxlatorDecode() { + echo_b "Encode $input --> $output using type $msgType" + local msgType=$1 + local input=$2 + local output=$3 + + curl -sX POST \ + --data-binary @${input} \ + ${CTL_DECODE_URL}/${msgType} \ + > ${output} +} + +# compute diff between two pb +# Usage: configtxlatorCompare channel origin updated output +configtxlatorCompare() { + local channel=$1 + local origin=$2 + local updated=$3 + local output=$3 + + curl -sX POST \ + -F channel="${channel}" \ + -F "original=@${origin}" \ + -F "updated=@${updated}" \ + "${CTL_COMPARE_URL}" \ + > "${output}" + + [ $? -eq 0 ] || echo_r "Failed to compute config update" } \ No newline at end of file diff --git a/hyperledger_fabric/1.0.4/scripts/test_configtxlator.sh b/hyperledger_fabric/1.0.4/scripts/test_configtxlator.sh index 72bdcc68..87365a79 100644 --- a/hyperledger_fabric/1.0.4/scripts/test_configtxlator.sh +++ b/hyperledger_fabric/1.0.4/scripts/test_configtxlator.sh @@ -1,57 +1,54 @@ #!/bin/bash # Demo to use configtxlator to modify orderer config +# Usage: bash test_configtxlator solo|kafka +# Configtxlator APIs: + # Json -> ProtoBuf: http://$SERVER:$PORT/protolator/encode/ + # ProtoBuf -> Json: http://$SERVER:$PORT/protolator/decode/ + # Compute Update: http://$SERVER:$PORT/configtxlator/compute/update-from-configs +# could be: common.Block, common.Envelope, common.ConfigEnvelope, common.ConfigUpdateEnvelope, common.Config, common.ConfigUpdate # More details about configtxlator, see http://hlf.readthedocs.io/en/latest/configtxlator.html -CONFIGTXLATOR_IMG=yeasy/hyperledger-fabric:1.0.4 -CONFIGTXLATOR_CONTAINER=configtxlator +if [ -f ./func.sh ]; then + source ./func.sh +elif [ -f scripts/func.sh ]; then + source scripts/func.sh +fi -# Must run `make gen_kafka` to generate artifacts files first -ARTIFACTS_DIR=channel-artifacts +if [ $# -ne 1 ]; then + echo_r "Usage: bash test_configtxlator solo|kafka" +else + mode=$1 +fi + +CTL_IMG=yeasy/hyperledger-fabric:1.0.4 +CTL_CONTAINER=configtxlator + +# Must run `make gen_kafka` and `make gen_solo` to generate artifacts files first +ARTIFACTS_DIR=$mode/channel-artifacts ORDERER_GENESIS_BLOCK=${ARTIFACTS_DIR}/orderer.genesis.block +ORDERER_GENESIS_JSON=${ARTIFACTS_DIR}/orderer.genesis.block.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" -echo "Clean potential existing container $CONFIGTXLATOR_CONTAINER" -[ "$(docker ps -a | grep $CONFIGTXLATOR_CONTAINER)" ] && docker rm -f $CONFIGTXLATOR_CONTAINER +echo_b "Clean potential existing container $CTL_CONTAINER" +[ "$(docker ps -a | grep $CTL_CONTAINER)" ] && docker rm -f $CTL_CONTAINER -echo "Start configtxlator service and listen on port 7059" +echo_b "Start configtxlator service in background (listen on port 7059)" docker run \ -d -it \ - --name ${CONFIGTXLATOR_CONTAINER} \ + --name ${CTL_CONTAINER} \ -p 127.0.0.1:7059:7059 \ - ${CONFIGTXLATOR_IMG} \ - configtxlator start + ${CTL_IMG} \ + configtxlator start --port=7059 sleep 1 -if [ -f ${ORDERER_GENESIS_BLOCK} ]; then - echo "Decoding the orderer genesis block to json" - curl -X POST \ - --data-binary @${ORDERER_GENESIS_BLOCK} \ - http://127.0.0.1:7059/protolator/decode/common.Block \ - > ${ORDERER_GENESIS_JSON} - - echo "Checking existing Orderer.BatchSize.max_message_count in the genesis json" - jq "$MAXBATCHSIZEPATH" channel-artifacts/orderer.genesis.json - - echo "Creating new genesis json with updated Orderer.BatchSize.max_message_count" - jq "$MAXBATCHSIZEPATH=20" ${ORDERER_GENESIS_JSON} > ${ORDERER_GENESIS_UPDATED_JSON} - - echo "Re-Encoding the orderer genesis json to block" - curl -X POST \ - --data-binary @${ORDERER_GENESIS_UPDATED_JSON} \ - http://127.0.0.1:7059/protolator/encode/common.Block \ - >${ORDERER_GENESIS_UPDATED_BLOCK} -fi - -for i in {0..9} -do - BLOCK_FILE=${ARTIFACTS_DIR}/block_${i}.block +echo_b "Convert all block files into json" +for BLOCK_FILE in ${ARTIFACTS_DIR}/*.block; do if [ -f ${BLOCK_FILE} ]; then - echo "Decoding block $i of app channel to json" + echo_b "Decoding all block file ${BLOCK_FILE} to json" curl -X POST \ --data-binary @${BLOCK_FILE} \ http://127.0.0.1:7059/protolator/decode/common.Block \ @@ -59,4 +56,18 @@ do fi done -docker rm -f $CONFIGTXLATOR_CONTAINER +if [ -f ${ORDERER_GENESIS_BLOCK} ]; then + echo_b "Checking existing Orderer.BatchSize.max_message_count in the genesis json" + jq "$MAXBATCHSIZEPATH" channel-artifacts/orderer.genesis.json + + echo_b "Creating new genesis json with updated Orderer.BatchSize.max_message_count" + jq "$MAXBATCHSIZEPATH=20" ${ORDERER_GENESIS_JSON} > ${ORDERER_GENESIS_UPDATED_JSON} + + echo_b "Re-Encoding the orderer genesis json to block" + configtxlatorEncode "common.Block" ${ORDERER_GENESIS_UPDATED_JSON} ${ORDERER_GENESIS_UPDATED_BLOCK} +fi + +echo_b "Stop configtxlator service" +docker rm -f $CTL_CONTAINER + +echo_g "Test configtxlator on $mode Passed" diff --git a/hyperledger_fabric/1.0.4/scripts/test_fetch.sh b/hyperledger_fabric/1.0.4/scripts/test_fetch.sh index b8f11f7f..b7863862 100644 --- a/hyperledger_fabric/1.0.4/scripts/test_fetch.sh +++ b/hyperledger_fabric/1.0.4/scripts/test_fetch.sh @@ -14,16 +14,16 @@ peer=0 echo_b "=== Fetching blocks ===" -echo_b "Fetch block 0" -channelFetch ${CHANNEL_NAME} $org $peer 0 +for i in {0..2} +do + echo_b "Fetch block $i" + channelFetch ${SYS_CHANNEL} $org $peer $i +done -echo_b "Fetch block 1" -channelFetch ${CHANNEL_NAME} $org $peer 1 - -echo_b "Fetch block 2" -channelFetch ${CHANNEL_NAME} $org $peer 2 - -echo_b "Fetch block 3" -channelFetch ${CHANNEL_NAME} $org $peer 3 +for i in {0..4} +do + echo_b "Fetch block $i" + channelFetch ${CHANNEL_NAME} $org $peer $i +done echo_g "Block fetching done!" \ No newline at end of file diff --git a/hyperledger_fabric/1.0.4/scripts/variables.sh b/hyperledger_fabric/1.0.4/scripts/variables.sh index 6f69daf3..b5686a06 100644 --- a/hyperledger_fabric/1.0.4/scripts/variables.sh +++ b/hyperledger_fabric/1.0.4/scripts/variables.sh @@ -3,6 +3,7 @@ # Define some global variables for usage. Will be included by func.sh. # Name of app channel, need to align with the gen_artifacts.sh +SYS_CHANNEL="testchainid" CHANNEL_NAME="businesschannel" # Client cmd execute timeout @@ -44,3 +45,12 @@ CC_QUERY_ARGS='{"Args":["query","a"]}' # TLS config : ${CORE_PEER_TLS_ENABLED:="false"} + + +# CONFIGTXLATOR + +CTL_BASE_URL=http://127.0.0.1:7059 + +CTL_ENCODE_URL=${CTL_BASE_URL}/protolator/encode +CTL_DECODE_URL=${CTL_BASE_URL}/protolator/decode +CTL_COMPARE_URL=${CTL_BASE_URL}/configtxlator/compute/update-from-configs diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_0.block.json b/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_0.block.json new file mode 100644 index 00000000..22aa4b49 --- /dev/null +++ b/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_0.block.json @@ -0,0 +1,612 @@ +{ + "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" + } + } + ], + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHRENDQWIrZ0F3SUJBZ0lRRUZoUEhOMG5xMFRmOFVFN3ZnUjhkakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFSUY4ZXRIOVdlY0xPRW1ub0JPMURQRk1XN3lYc3FXbmIKYXQ4WUJlS1JiUnAzWU5ocWNzQ05HbmlhenFkbWprbmhuS3ZuNVV1dklNQ0tvTW1aaDF3dnpxTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FncGVDK3BkOU5pVDZECjJac2FtditZR2hVaFQwMEdIU3RJQXE5c1pCaEl4YzB3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnRkJ2QlFvcWsKQ0VPSmo5WmI1dVlZQTFKelhsb3hXRXNjdmNvRGdyeDFUSk1DSURDRzlFc1p0eHUveWg3QTkxL2g1VFUwZFNQSgpBSGpvN3IvcFlucW5UdGhxCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRakNDQWVtZ0F3SUJBZ0lRWU9HMlhPWlhjUXJPRmtsMG5ZSlZHVEFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGEKTUhNeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVJrd0Z3WURWUVFLRXhCdmNtY3hMbVY0WVcxd2JHVXVZMjl0TVJ3d0dnWURWUVFECkV4TmpZUzV2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUKbHhoT0FKMlAraDJEN2w0L05ab1oxMTRyNzhPSFNPTTg4RGxmWkJxS1hhNzB0WlFjVmV3ZmFHNmxYaU5sZTJxbQpBK1NnMzROUTc3NHdxbUlvK2d1Z3FLTmZNRjB3RGdZRFZSMFBBUUgvQkFRREFnR21NQThHQTFVZEpRUUlNQVlHCkJGVWRKUUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFwQmdOVkhRNEVJZ1FncGVDK3BkOU5pVDZEMlpzYW12K1kKR2hVaFQwMEdIU3RJQXE5c1pCaEl4YzB3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTUthNk5tTTdkWUgrRzRJRApucXM2RG83VnZtbVBlZUJtbEF1SG0wOXhSRWdDSUVXTnlNcVl1UjZUS1JncEVUY0tMdkp6WFk4TWxKUU5MaG12CkQ1UDM3VVYrCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUsxUDgraUFqMzFrQmJoNVg3NFM1MDB3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T0RVNFdoY05NamN4TURNeE1ESXcKT0RVNFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCSkFRZktDMXNBclNXRmNxTU5Ib1NtN0RRcnZpR2loT3drUEJXYUswbTZ1dzJjdkhaOXJZN0QvRQowdWx0aGtnSUV4dEVmWkpBOTBNTlA0a1JkSDZ4aWhPalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJT05QSW1mcnBGcnYKOGxnRjRLRVc1eThqVWNjcitEM3l6OWlRbnFoYjAvcE9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURsODdNNgpLcTdzYXZuR1ZzTzBBRnRacDN1NDBMNUJBdUczYUJQNVhJc011d0lnWlpoYUNtb0JoUjRUaU9jOE5XSWdhOW15Cml2alBQT1R2bXFPbXE5c0RNK1U9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU15cDYvdEIxUENRdVZEVzRra2I5Z0F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPRFU0V2hjTk1qY3hNRE14TURJd09EVTQKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk4rQU5yK2NjTjF2UlZueElzM2toVzFTM2UzamFVWlQKUUlsRm1hY3Z1V3hnQTN0SWhTckJaRTZrOFpzM21PeGk1cEFpK2pZUkZQL3JuZ0kwT0VlMjI5Q2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSU1aVHVQNUlMdCs4Cnh4Z1dZcldjeVByTTh3OVo0cUUzTFVkVTEwMUdSZXNXTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDeWRlYTIKb0JTdGdWRTZwd2dWWGFIS0Vsc1ZmL251OVdHYnpqQ1RIUi85a3dJZ0dranBrZGViZHYrSDJsQ1pYSCtTYzlDZApwc3dmUG9wTjRab053U2trc1IwPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQUw0dVpsckxEdVluZUNtdDZxbWZtdjR3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPRFU0V2hjTk1qY3hNRE14TURJd09EVTQKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkRlREFubjhDc3VXQ0p5WVYvb1VGWDRoNUg4YWNpdi82MnJURkZoQ3ZteElRRTBLUU5MdTJ6Vit3SkxRQ3FCTQpxa2VsbG5TYUpLS09vK1FVUVdGV2Y0S2pYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSU1aVHVQNUlMdCs4eHhnV1lyV2MKeVByTTh3OVo0cUUzTFVkVTEwMUdSZXNXTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUdLS0Q5RkxWZHdCelk1ZAozUDJtd1VBMmtaeVo5ZUhCaitBMVBTZExvaVVSQWlCdjl2dUMxQXppckxjaVE0WXVpa0dyNDdKMVNSV0hyNTAxCm9OVUc0MHFTRXc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRT1R3MzFiM2QzUDhNOWxrY21qTDlRVEFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTQKTlRoYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN5TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUV4TmtFcWJOaUpBUVFTd0Y4WndsNVFNbythL3oyV01mMjdydnJFMS9lbFRJclBPa3IzZHdjRFpuNApyZVd6RHI4OVlDQ0hqQ2hodmV0QUF4TTNTWW5mWGFOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWd1S0p1b0ZEN3ZjTXAKd0JkbEMrNnMzcDlQbDVtU3dqYjNET2F1WTZqVGJIRXdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSlFzNHk0UQpNcnluNHdDdnJLRkpxSkR3cXJNRW8rdElsU1V6UVBheURmemJBaUJvbVZEWE9zSWhaaGtQM1hYVW4zWU81OHMrCmVCMlczelhoN3p3ZlRwNENLQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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" + } + } + } + }, + "version": "1" + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJHZ0F3SUJBZ0lSQUtaUzBjbmhLQjFjcTV3bEpNUUdjcUl3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGFNRll4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJvd0dBWURWUVFEREJGQlpHMXBia0JsZUdGdGNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHClNNNDlBd0VIQTBJQUJPZ2pxdlpneTEvUFhWb3YvV2lOVVZucUp1d1JKb1hLZmtMTERoK0JkMXdkcDJGczhTZ1kKNDFsVlZHeklRVDN1ZGM0blNRRXI1VERSckYxeEphSy95Z3FqVFRCTE1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBTQpCZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlFa1FzLzg5M051aE9vVzZsN3VEOWM0SkFQVHhwRVpjCjdYWktmYStmZU1Eck1Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lFd3k2bE9XVzhuTkxzaWdlYVU3ZUZQL1Ryd1AKeDlQeEw0SzZPSk1BV0FwaUFpQUxCbWNXNWtGTUR6ZHZhTFZMWkg0SUVTYmZza0RSQVhIVmtaVFNvZndpbEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMakNDQWRXZ0F3SUJBZ0lRRm95TUkzWHNWSkgvRFJSa0ZDY3BKakFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1EZzFPRm9YRFRJM01UQXpNVEF5TURnMU9Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJIalZ6WWpoRG0xTVlsdVB3N0d3RDRRMEQzRnQKYUVOcUFJL0F2a0JTcFoxRGtuZ0ZkbE1USUpUK0hjQUdtKzI5bmwyZitMbGxoN25pSG1wb25ZKytPOFdqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJRWtRcy84OTNOdWhPb1c2bDd1RDljNEpBUFR4cEVaYzdYWktmYStmZU1Eck1Bb0cKQ0NxR1NNNDlCQU1DQTBjQU1FUUNJR3lnSU9LWDA0NWkzSEVDZ1l0cFp6STBUQk42amZhZW53WmxtUG5NdUYrMQpBaUFrNGdlMUtkRCtvcWdhMjdBalVsbEdLTjJQUlBhbTlsRmIvbDVKN1NNbkdBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR5Z0F3SUJBZ0lSQUtxOThzcEZKbmU0anBicHduZGhSNzh3Q2dZSUtvWkl6ajBFQXdJd2JERUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJvd0dBWURWUVFERXhGMGJITmpZUzVsCmVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTROVGhhTUd3eEN6QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaApibU5wYzJOdk1SUXdFZ1lEVlFRS0V3dGxlR0Z0Y0d4bExtTnZiVEVhTUJnR0ExVUVBeE1SZEd4elkyRXVaWGhoCmJYQnNaUzVqYjIwd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUFZWZDBFOWMza1VFZkVaWWEKQ29kZEhvNEpTQkJFS0M2eWNrL3phWmQ2eHBYU2FBZGxYQzZBeWFhYU1tWU9aWWJkMXNOUnB2K0tVTkN0bUxHSAp0SUxybzE4d1hUQU9CZ05WSFE4QkFmOEVCQU1DQWFZd0R3WURWUjBsQkFnd0JnWUVWUjBsQURBUEJnTlZIUk1CCkFmOEVCVEFEQVFIL01Da0dBMVVkRGdRaUJDQkJGRERDbExFdGpqbDlJQ0NiRTAyYzkwVnpEdmtZbXZxUjlYRGwKTU9VRnNEQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQUkzZ3gvR1RwRlNCcWpUNEdiM0xJbmU4YmEzd2xMWVlXVwpFcXhUSUtxVWF3SWdWRHdST1R3TkFhTC8yQit6OGlJckh1NmpwZXMzMGdBOVMrOG9FMUczZEtNPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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" + } + } + } + } + }, + "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 + } + }, + "Consortium": { + "value": { + "name": "SampleConsortium" + } + }, + "HashingAlgorithm": { + "mod_policy": "Admins", + "value": { + "name": "SHA256" + } + }, + "OrdererAddresses": { + "mod_policy": "/Channel/Orderer/Admins", + "value": { + "addresses": [ + "orderer.example.com:7050" + ] + } + } + } + }, + "sequence": "1" + }, + "last_update": { + "payload": { + "data": { + "config_update": { + "channel_id": "businesschannel", + "read_set": { + "groups": { + "Application": { + "groups": { + "Org1MSP": {}, + "Org2MSP": {} + } + } + }, + "values": { + "Consortium": { + "value": { + "name": "SampleConsortium" + } + } + } + }, + "write_set": { + "groups": { + "Application": { + "groups": { + "Org1MSP": {}, + "Org2MSP": {} + }, + "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" + } + } + } + }, + "version": "1" + } + }, + "values": { + "Consortium": { + "value": { + "name": "SampleConsortium" + } + } + } + } + }, + "signatures": [ + { + "signature": "MEQCIBL+YwtRo/oxqv/shqVLqI4yg5nDOIeEauLPhZIhTKygAiBB4VRjBqBWglzlajxQk+W+FMpKcC7Y2TjjEK2eAR4ZIA==", + "signature_header": { + "creator": "CgdPcmcxTVNQEvwFLS0tLS1CRUdJTiAtLS0tLQpNSUlDR0RDQ0FiK2dBd0lCQWdJUUVGaFBITjBucTBUZjhVRTd2Z1I4ZGpBS0JnZ3Foa2pPUFFRREFqQnpNUXN3CkNRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNCTUtRMkZzYVdadmNtNXBZVEVXTUJRR0ExVUVCeE1OVTJGdUlFWnkKWVc1amFYTmpiekVaTUJjR0ExVUVDaE1RYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEVjTUJvR0ExVUVBeE1UWTJFdQpiM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTROVGhhCk1Gc3hDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVQKWVc0Z1JuSmhibU5wYzJOdk1SOHdIUVlEVlFRRERCWkJaRzFwYmtCdmNtY3hMbVY0WVcxd2JHVXVZMjl0TUZrdwpFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUlGOGV0SDlXZWNMT0Vtbm9CTzFEUEZNVzd5WHNxV25iCmF0OFlCZUtSYlJwM1lOaHFjc0NOR25pYXpxZG1qa25obkt2bjVVdXZJTUNLb01tWmgxd3Z6cU5OTUVzd0RnWUQKVlIwUEFRSC9CQVFEQWdlQU1Bd0dBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ3BlQytwZDlOaVQ2RAoyWnNhbXYrWUdoVWhUMDBHSFN0SUFxOXNaQmhJeGMwd0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0ZCdkJRb3FrCkNFT0pqOVpiNXVZWUExSnpYbG94V0VzY3Zjb0RncngxVEpNQ0lEQ0c5RXNadHh1L3loN0E5MS9oNVRVMGRTUEoKQUhqbzdyL3BZbnFuVHRocQotLS0tLUVORCAtLS0tLQo=", + "nonce": "Rkfv74MF90Zx2C55Sq0t+ilKeGIor8w8" + } + } + ] + }, + "header": { + "channel_header": { + "channel_id": "businesschannel", + "timestamp": "2017-11-23T12:10:12.000Z", + "type": 2 + }, + "signature_header": { + "creator": "CgdPcmcxTVNQEvwFLS0tLS1CRUdJTiAtLS0tLQpNSUlDR0RDQ0FiK2dBd0lCQWdJUUVGaFBITjBucTBUZjhVRTd2Z1I4ZGpBS0JnZ3Foa2pPUFFRREFqQnpNUXN3CkNRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNCTUtRMkZzYVdadmNtNXBZVEVXTUJRR0ExVUVCeE1OVTJGdUlFWnkKWVc1amFYTmpiekVaTUJjR0ExVUVDaE1RYjNKbk1TNWxlR0Z0Y0d4bExtTnZiVEVjTUJvR0ExVUVBeE1UWTJFdQpiM0puTVM1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTROVGhhCk1Gc3hDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVQKWVc0Z1JuSmhibU5wYzJOdk1SOHdIUVlEVlFRRERCWkJaRzFwYmtCdmNtY3hMbVY0WVcxd2JHVXVZMjl0TUZrdwpFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUlGOGV0SDlXZWNMT0Vtbm9CTzFEUEZNVzd5WHNxV25iCmF0OFlCZUtSYlJwM1lOaHFjc0NOR25pYXpxZG1qa25obkt2bjVVdXZJTUNLb01tWmgxd3Z6cU5OTUVzd0RnWUQKVlIwUEFRSC9CQVFEQWdlQU1Bd0dBMVVkRXdFQi93UUNNQUF3S3dZRFZSMGpCQ1F3SW9BZ3BlQytwZDlOaVQ2RAoyWnNhbXYrWUdoVWhUMDBHSFN0SUFxOXNaQmhJeGMwd0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0ZCdkJRb3FrCkNFT0pqOVpiNXVZWUExSnpYbG94V0VzY3Zjb0RncngxVEpNQ0lEQ0c5RXNadHh1L3loN0E5MS9oNVRVMGRTUEoKQUhqbzdyL3BZbnFuVHRocQotLS0tLUVORCAtLS0tLQo=", + "nonce": "3MMmF2lv7K9fX8lZJtIq4yRTEymSRRWa" + } + } + }, + "signature": "MEUCIQDlIyIkTpDVmzNCDy9RBsoktBsWx+FeFjwWS+sraMteWwIgCvkMSfuhOPuTJ7goC7UZH75P4rs76NplEJ99YarzbX4=" + } + }, + "header": { + "channel_header": { + "channel_id": "businesschannel", + "timestamp": "2017-11-23T12:10:13.000Z", + "type": 1 + }, + "signature_header": { + "creator": "CgpPcmRlcmVyTVNQEvAFLS0tLS1CRUdJTiAtLS0tLQpNSUlDRFRDQ0FiT2dBd0lCQWdJUkFQZDB1MkovcXo0NUxrT3RHSnkwK1hJd0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTROVGhhTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFL1RjRVRWbDBpNWVyTVNqOEZORUI0NDBMVVcxRmc4ZEhPeTRqaTljdm9WTTZ5WXhaCkN0UnRmUTNmbm1DRXh6d1NaME9HYWx2OXRhODM4RERTMUNsMG9hTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnU1JDei96M2MyNkU2aGJxWHU0UDF6Z2tBOVBHawpSbHp0ZGtwOXI1OTR3T3N3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQU1sNTd3TUVUamZsOW9haStSN2RHdG5qCmczaDJDNUx6bjBHSU56YUJRTDAyQWlCSUJRUTdYakM2UVo0b1dCYmRZYi9uL3pqK3REaWpMZldUdUlTUmNFYm4KSmc9PQotLS0tLUVORCAtLS0tLQo=", + "nonce": "RyCVDdhAYA+X0sbpZUzI3cT/xfCPyeRQ" + } + } + }, + "signature": "MEQCIB0Kt9LlY73zek9wYzSHQhXHhK8zPdF7RJKpLgEwa34kAiAVVa6xC6Ba/OgT3ybUPuUiqNA5vyE0IxddskJw2w/s6A==" + } + ] + }, + "header": { + "data_hash": "Pym7qUb9YYjRUC4kHb8yeSOC+zPdSP3wKTStdv6P2dM=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_1.block.json b/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_1.block.json new file mode 100644 index 00000000..fd3e5db2 --- /dev/null +++ b/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_1.block.json @@ -0,0 +1 @@ +*common.Block: error in PopulateTo for field data for message *common.Block: *common.BlockData: error in PopulateTo for slice field data at index 0 for message *common.BlockData: *common.Envelope: error in PopulateTo for field payload for message *common.Envelope: *common.Payload: error in PopulateTo for field data for message *common.Payload: decoding type 3 is unimplemented diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_2.block.json b/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_2.block.json new file mode 100644 index 00000000..fd3e5db2 --- /dev/null +++ b/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_2.block.json @@ -0,0 +1 @@ +*common.Block: error in PopulateTo for field data for message *common.Block: *common.BlockData: error in PopulateTo for slice field data at index 0 for message *common.BlockData: *common.Envelope: error in PopulateTo for field payload for message *common.Envelope: *common.Payload: error in PopulateTo for field data for message *common.Payload: decoding type 3 is unimplemented diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_3.block.json b/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_3.block.json new file mode 100644 index 00000000..fd3e5db2 --- /dev/null +++ b/hyperledger_fabric/1.0.4/solo/channel-artifacts/block_3.block.json @@ -0,0 +1 @@ +*common.Block: error in PopulateTo for field data for message *common.Block: *common.BlockData: error in PopulateTo for slice field data at index 0 for message *common.BlockData: *common.Envelope: error in PopulateTo for field payload for message *common.Envelope: *common.Payload: error in PopulateTo for field data for message *common.Payload: decoding type 3 is unimplemented diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.block.json b/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.block.json new file mode 100644 index 00000000..732ef0c4 --- /dev/null +++ b/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHRENDQWIrZ0F3SUJBZ0lRRUZoUEhOMG5xMFRmOFVFN3ZnUjhkakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFSUY4ZXRIOVdlY0xPRW1ub0JPMURQRk1XN3lYc3FXbmIKYXQ4WUJlS1JiUnAzWU5ocWNzQ05HbmlhenFkbWprbmhuS3ZuNVV1dklNQ0tvTW1aaDF3dnpxTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FncGVDK3BkOU5pVDZECjJac2FtditZR2hVaFQwMEdIU3RJQXE5c1pCaEl4YzB3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnRkJ2QlFvcWsKQ0VPSmo5WmI1dVlZQTFKelhsb3hXRXNjdmNvRGdyeDFUSk1DSURDRzlFc1p0eHUveWg3QTkxL2g1VFUwZFNQSgpBSGpvN3IvcFlucW5UdGhxCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRakNDQWVtZ0F3SUJBZ0lRWU9HMlhPWlhjUXJPRmtsMG5ZSlZHVEFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGEKTUhNeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVJrd0Z3WURWUVFLRXhCdmNtY3hMbVY0WVcxd2JHVXVZMjl0TVJ3d0dnWURWUVFECkV4TmpZUzV2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUKbHhoT0FKMlAraDJEN2w0L05ab1oxMTRyNzhPSFNPTTg4RGxmWkJxS1hhNzB0WlFjVmV3ZmFHNmxYaU5sZTJxbQpBK1NnMzROUTc3NHdxbUlvK2d1Z3FLTmZNRjB3RGdZRFZSMFBBUUgvQkFRREFnR21NQThHQTFVZEpRUUlNQVlHCkJGVWRKUUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFwQmdOVkhRNEVJZ1FncGVDK3BkOU5pVDZEMlpzYW12K1kKR2hVaFQwMEdIU3RJQXE5c1pCaEl4YzB3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTUthNk5tTTdkWUgrRzRJRApucXM2RG83VnZtbVBlZUJtbEF1SG0wOXhSRWdDSUVXTnlNcVl1UjZUS1JncEVUY0tMdkp6WFk4TWxKUU5MaG12CkQ1UDM3VVYrCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUsxUDgraUFqMzFrQmJoNVg3NFM1MDB3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T0RVNFdoY05NamN4TURNeE1ESXcKT0RVNFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCSkFRZktDMXNBclNXRmNxTU5Ib1NtN0RRcnZpR2loT3drUEJXYUswbTZ1dzJjdkhaOXJZN0QvRQowdWx0aGtnSUV4dEVmWkpBOTBNTlA0a1JkSDZ4aWhPalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJT05QSW1mcnBGcnYKOGxnRjRLRVc1eThqVWNjcitEM3l6OWlRbnFoYjAvcE9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURsODdNNgpLcTdzYXZuR1ZzTzBBRnRacDN1NDBMNUJBdUczYUJQNVhJc011d0lnWlpoYUNtb0JoUjRUaU9jOE5XSWdhOW15Cml2alBQT1R2bXFPbXE5c0RNK1U9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU15cDYvdEIxUENRdVZEVzRra2I5Z0F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPRFU0V2hjTk1qY3hNRE14TURJd09EVTQKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk4rQU5yK2NjTjF2UlZueElzM2toVzFTM2UzamFVWlQKUUlsRm1hY3Z1V3hnQTN0SWhTckJaRTZrOFpzM21PeGk1cEFpK2pZUkZQL3JuZ0kwT0VlMjI5Q2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSU1aVHVQNUlMdCs4Cnh4Z1dZcldjeVByTTh3OVo0cUUzTFVkVTEwMUdSZXNXTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDeWRlYTIKb0JTdGdWRTZwd2dWWGFIS0Vsc1ZmL251OVdHYnpqQ1RIUi85a3dJZ0dranBrZGViZHYrSDJsQ1pYSCtTYzlDZApwc3dmUG9wTjRab053U2trc1IwPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQUw0dVpsckxEdVluZUNtdDZxbWZtdjR3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPRFU0V2hjTk1qY3hNRE14TURJd09EVTQKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkRlREFubjhDc3VXQ0p5WVYvb1VGWDRoNUg4YWNpdi82MnJURkZoQ3ZteElRRTBLUU5MdTJ6Vit3SkxRQ3FCTQpxa2VsbG5TYUpLS09vK1FVUVdGV2Y0S2pYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSU1aVHVQNUlMdCs4eHhnV1lyV2MKeVByTTh3OVo0cUUzTFVkVTEwMUdSZXNXTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUdLS0Q5RkxWZHdCelk1ZAozUDJtd1VBMmtaeVo5ZUhCaitBMVBTZExvaVVSQWlCdjl2dUMxQXppckxjaVE0WXVpa0dyNDdKMVNSV0hyNTAxCm9OVUc0MHFTRXc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRT1R3MzFiM2QzUDhNOWxrY21qTDlRVEFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTQKTlRoYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN5TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUV4TmtFcWJOaUpBUVFTd0Y4WndsNVFNbythL3oyV01mMjdydnJFMS9lbFRJclBPa3IzZHdjRFpuNApyZVd6RHI4OVlDQ0hqQ2hodmV0QUF4TTNTWW5mWGFOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWd1S0p1b0ZEN3ZjTXAKd0JkbEMrNnMzcDlQbDVtU3dqYjNET2F1WTZqVGJIRXdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSlFzNHk0UQpNcnluNHdDdnJLRkpxSkR3cXJNRW8rdElsU1V6UVBheURmemJBaUJvbVZEWE9zSWhaaGtQM1hYVW4zWU81OHMrCmVCMlczelhoN3p3ZlRwNENLQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJHZ0F3SUJBZ0lSQUtaUzBjbmhLQjFjcTV3bEpNUUdjcUl3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGFNRll4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJvd0dBWURWUVFEREJGQlpHMXBia0JsZUdGdGNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHClNNNDlBd0VIQTBJQUJPZ2pxdlpneTEvUFhWb3YvV2lOVVZucUp1d1JKb1hLZmtMTERoK0JkMXdkcDJGczhTZ1kKNDFsVlZHeklRVDN1ZGM0blNRRXI1VERSckYxeEphSy95Z3FqVFRCTE1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBTQpCZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlFa1FzLzg5M051aE9vVzZsN3VEOWM0SkFQVHhwRVpjCjdYWktmYStmZU1Eck1Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lFd3k2bE9XVzhuTkxzaWdlYVU3ZUZQL1Ryd1AKeDlQeEw0SzZPSk1BV0FwaUFpQUxCbWNXNWtGTUR6ZHZhTFZMWkg0SUVTYmZza0RSQVhIVmtaVFNvZndpbEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMakNDQWRXZ0F3SUJBZ0lRRm95TUkzWHNWSkgvRFJSa0ZDY3BKakFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1EZzFPRm9YRFRJM01UQXpNVEF5TURnMU9Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJIalZ6WWpoRG0xTVlsdVB3N0d3RDRRMEQzRnQKYUVOcUFJL0F2a0JTcFoxRGtuZ0ZkbE1USUpUK0hjQUdtKzI5bmwyZitMbGxoN25pSG1wb25ZKytPOFdqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJRWtRcy84OTNOdWhPb1c2bDd1RDljNEpBUFR4cEVaYzdYWktmYStmZU1Eck1Bb0cKQ0NxR1NNNDlCQU1DQTBjQU1FUUNJR3lnSU9LWDA0NWkzSEVDZ1l0cFp6STBUQk42amZhZW53WmxtUG5NdUYrMQpBaUFrNGdlMUtkRCtvcWdhMjdBalVsbEdLTjJQUlBhbTlsRmIvbDVKN1NNbkdBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR5Z0F3SUJBZ0lSQUtxOThzcEZKbmU0anBicHduZGhSNzh3Q2dZSUtvWkl6ajBFQXdJd2JERUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJvd0dBWURWUVFERXhGMGJITmpZUzVsCmVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTROVGhhTUd3eEN6QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaApibU5wYzJOdk1SUXdFZ1lEVlFRS0V3dGxlR0Z0Y0d4bExtTnZiVEVhTUJnR0ExVUVBeE1SZEd4elkyRXVaWGhoCmJYQnNaUzVqYjIwd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUFZWZDBFOWMza1VFZkVaWWEKQ29kZEhvNEpTQkJFS0M2eWNrL3phWmQ2eHBYU2FBZGxYQzZBeWFhYU1tWU9aWWJkMXNOUnB2K0tVTkN0bUxHSAp0SUxybzE4d1hUQU9CZ05WSFE4QkFmOEVCQU1DQWFZd0R3WURWUjBsQkFnd0JnWUVWUjBsQURBUEJnTlZIUk1CCkFmOEVCVEFEQVFIL01Da0dBMVVkRGdRaUJDQkJGRERDbExFdGpqbDlJQ0NiRTAyYzkwVnpEdmtZbXZxUjlYRGwKTU9VRnNEQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQUkzZ3gvR1RwRlNCcWpUNEdiM0xJbmU4YmEzd2xMWVlXVwpFcXhUSUtxVWF3SWdWRHdST1R3TkFhTC8yQit6OGlJckh1NmpwZXMzMGdBOVMrOG9FMUczZEtNPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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-11-02T02:13:58.000Z", + "tx_id": "e2416f0109a74854bb01a2e9ef9989dc43143673e58c05cf9d1d855db894aa16", + "type": 1, + "version": 1 + }, + "signature_header": { + "nonce": "pSRLOmHuBGLoO5x65TkpV/2GJ5EzWhJL" + } + } + } + } + ] + }, + "header": { + "data_hash": "l06OWWK/WuIPCbUYmA9Ghtq/fwAUu0i+160ovuzIkAE=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.json b/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.json new file mode 100644 index 00000000..732ef0c4 --- /dev/null +++ b/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHRENDQWIrZ0F3SUJBZ0lRRUZoUEhOMG5xMFRmOFVFN3ZnUjhkakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFSUY4ZXRIOVdlY0xPRW1ub0JPMURQRk1XN3lYc3FXbmIKYXQ4WUJlS1JiUnAzWU5ocWNzQ05HbmlhenFkbWprbmhuS3ZuNVV1dklNQ0tvTW1aaDF3dnpxTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FncGVDK3BkOU5pVDZECjJac2FtditZR2hVaFQwMEdIU3RJQXE5c1pCaEl4YzB3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnRkJ2QlFvcWsKQ0VPSmo5WmI1dVlZQTFKelhsb3hXRXNjdmNvRGdyeDFUSk1DSURDRzlFc1p0eHUveWg3QTkxL2g1VFUwZFNQSgpBSGpvN3IvcFlucW5UdGhxCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRakNDQWVtZ0F3SUJBZ0lRWU9HMlhPWlhjUXJPRmtsMG5ZSlZHVEFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGEKTUhNeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVJrd0Z3WURWUVFLRXhCdmNtY3hMbVY0WVcxd2JHVXVZMjl0TVJ3d0dnWURWUVFECkV4TmpZUzV2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUKbHhoT0FKMlAraDJEN2w0L05ab1oxMTRyNzhPSFNPTTg4RGxmWkJxS1hhNzB0WlFjVmV3ZmFHNmxYaU5sZTJxbQpBK1NnMzROUTc3NHdxbUlvK2d1Z3FLTmZNRjB3RGdZRFZSMFBBUUgvQkFRREFnR21NQThHQTFVZEpRUUlNQVlHCkJGVWRKUUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFwQmdOVkhRNEVJZ1FncGVDK3BkOU5pVDZEMlpzYW12K1kKR2hVaFQwMEdIU3RJQXE5c1pCaEl4YzB3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTUthNk5tTTdkWUgrRzRJRApucXM2RG83VnZtbVBlZUJtbEF1SG0wOXhSRWdDSUVXTnlNcVl1UjZUS1JncEVUY0tMdkp6WFk4TWxKUU5MaG12CkQ1UDM3VVYrCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUsxUDgraUFqMzFrQmJoNVg3NFM1MDB3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T0RVNFdoY05NamN4TURNeE1ESXcKT0RVNFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCSkFRZktDMXNBclNXRmNxTU5Ib1NtN0RRcnZpR2loT3drUEJXYUswbTZ1dzJjdkhaOXJZN0QvRQowdWx0aGtnSUV4dEVmWkpBOTBNTlA0a1JkSDZ4aWhPalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJT05QSW1mcnBGcnYKOGxnRjRLRVc1eThqVWNjcitEM3l6OWlRbnFoYjAvcE9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURsODdNNgpLcTdzYXZuR1ZzTzBBRnRacDN1NDBMNUJBdUczYUJQNVhJc011d0lnWlpoYUNtb0JoUjRUaU9jOE5XSWdhOW15Cml2alBQT1R2bXFPbXE5c0RNK1U9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU15cDYvdEIxUENRdVZEVzRra2I5Z0F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPRFU0V2hjTk1qY3hNRE14TURJd09EVTQKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk4rQU5yK2NjTjF2UlZueElzM2toVzFTM2UzamFVWlQKUUlsRm1hY3Z1V3hnQTN0SWhTckJaRTZrOFpzM21PeGk1cEFpK2pZUkZQL3JuZ0kwT0VlMjI5Q2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSU1aVHVQNUlMdCs4Cnh4Z1dZcldjeVByTTh3OVo0cUUzTFVkVTEwMUdSZXNXTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDeWRlYTIKb0JTdGdWRTZwd2dWWGFIS0Vsc1ZmL251OVdHYnpqQ1RIUi85a3dJZ0dranBrZGViZHYrSDJsQ1pYSCtTYzlDZApwc3dmUG9wTjRab053U2trc1IwPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQUw0dVpsckxEdVluZUNtdDZxbWZtdjR3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPRFU0V2hjTk1qY3hNRE14TURJd09EVTQKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkRlREFubjhDc3VXQ0p5WVYvb1VGWDRoNUg4YWNpdi82MnJURkZoQ3ZteElRRTBLUU5MdTJ6Vit3SkxRQ3FCTQpxa2VsbG5TYUpLS09vK1FVUVdGV2Y0S2pYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSU1aVHVQNUlMdCs4eHhnV1lyV2MKeVByTTh3OVo0cUUzTFVkVTEwMUdSZXNXTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUdLS0Q5RkxWZHdCelk1ZAozUDJtd1VBMmtaeVo5ZUhCaitBMVBTZExvaVVSQWlCdjl2dUMxQXppckxjaVE0WXVpa0dyNDdKMVNSV0hyNTAxCm9OVUc0MHFTRXc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRT1R3MzFiM2QzUDhNOWxrY21qTDlRVEFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTQKTlRoYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN5TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUV4TmtFcWJOaUpBUVFTd0Y4WndsNVFNbythL3oyV01mMjdydnJFMS9lbFRJclBPa3IzZHdjRFpuNApyZVd6RHI4OVlDQ0hqQ2hodmV0QUF4TTNTWW5mWGFOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWd1S0p1b0ZEN3ZjTXAKd0JkbEMrNnMzcDlQbDVtU3dqYjNET2F1WTZqVGJIRXdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSlFzNHk0UQpNcnluNHdDdnJLRkpxSkR3cXJNRW8rdElsU1V6UVBheURmemJBaUJvbVZEWE9zSWhaaGtQM1hYVW4zWU81OHMrCmVCMlczelhoN3p3ZlRwNENLQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJHZ0F3SUJBZ0lSQUtaUzBjbmhLQjFjcTV3bEpNUUdjcUl3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGFNRll4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJvd0dBWURWUVFEREJGQlpHMXBia0JsZUdGdGNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHClNNNDlBd0VIQTBJQUJPZ2pxdlpneTEvUFhWb3YvV2lOVVZucUp1d1JKb1hLZmtMTERoK0JkMXdkcDJGczhTZ1kKNDFsVlZHeklRVDN1ZGM0blNRRXI1VERSckYxeEphSy95Z3FqVFRCTE1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBTQpCZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlFa1FzLzg5M051aE9vVzZsN3VEOWM0SkFQVHhwRVpjCjdYWktmYStmZU1Eck1Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lFd3k2bE9XVzhuTkxzaWdlYVU3ZUZQL1Ryd1AKeDlQeEw0SzZPSk1BV0FwaUFpQUxCbWNXNWtGTUR6ZHZhTFZMWkg0SUVTYmZza0RSQVhIVmtaVFNvZndpbEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMakNDQWRXZ0F3SUJBZ0lRRm95TUkzWHNWSkgvRFJSa0ZDY3BKakFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1EZzFPRm9YRFRJM01UQXpNVEF5TURnMU9Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJIalZ6WWpoRG0xTVlsdVB3N0d3RDRRMEQzRnQKYUVOcUFJL0F2a0JTcFoxRGtuZ0ZkbE1USUpUK0hjQUdtKzI5bmwyZitMbGxoN25pSG1wb25ZKytPOFdqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJRWtRcy84OTNOdWhPb1c2bDd1RDljNEpBUFR4cEVaYzdYWktmYStmZU1Eck1Bb0cKQ0NxR1NNNDlCQU1DQTBjQU1FUUNJR3lnSU9LWDA0NWkzSEVDZ1l0cFp6STBUQk42amZhZW53WmxtUG5NdUYrMQpBaUFrNGdlMUtkRCtvcWdhMjdBalVsbEdLTjJQUlBhbTlsRmIvbDVKN1NNbkdBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR5Z0F3SUJBZ0lSQUtxOThzcEZKbmU0anBicHduZGhSNzh3Q2dZSUtvWkl6ajBFQXdJd2JERUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJvd0dBWURWUVFERXhGMGJITmpZUzVsCmVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTROVGhhTUd3eEN6QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaApibU5wYzJOdk1SUXdFZ1lEVlFRS0V3dGxlR0Z0Y0d4bExtTnZiVEVhTUJnR0ExVUVBeE1SZEd4elkyRXVaWGhoCmJYQnNaUzVqYjIwd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUFZWZDBFOWMza1VFZkVaWWEKQ29kZEhvNEpTQkJFS0M2eWNrL3phWmQ2eHBYU2FBZGxYQzZBeWFhYU1tWU9aWWJkMXNOUnB2K0tVTkN0bUxHSAp0SUxybzE4d1hUQU9CZ05WSFE4QkFmOEVCQU1DQWFZd0R3WURWUjBsQkFnd0JnWUVWUjBsQURBUEJnTlZIUk1CCkFmOEVCVEFEQVFIL01Da0dBMVVkRGdRaUJDQkJGRERDbExFdGpqbDlJQ0NiRTAyYzkwVnpEdmtZbXZxUjlYRGwKTU9VRnNEQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQUkzZ3gvR1RwRlNCcWpUNEdiM0xJbmU4YmEzd2xMWVlXVwpFcXhUSUtxVWF3SWdWRHdST1R3TkFhTC8yQit6OGlJckh1NmpwZXMzMGdBOVMrOG9FMUczZEtNPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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-11-02T02:13:58.000Z", + "tx_id": "e2416f0109a74854bb01a2e9ef9989dc43143673e58c05cf9d1d855db894aa16", + "type": 1, + "version": 1 + }, + "signature_header": { + "nonce": "pSRLOmHuBGLoO5x65TkpV/2GJ5EzWhJL" + } + } + } + } + ] + }, + "header": { + "data_hash": "l06OWWK/WuIPCbUYmA9Ghtq/fwAUu0i+160ovuzIkAE=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +} 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 new file mode 100644 index 00000000..f3d512e7 Binary files /dev/null and b/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.updated.block differ diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.updated.block.json b/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.updated.block.json new file mode 100644 index 00000000..8595670c --- /dev/null +++ b/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.updated.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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHRENDQWIrZ0F3SUJBZ0lRRUZoUEhOMG5xMFRmOFVFN3ZnUjhkakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFSUY4ZXRIOVdlY0xPRW1ub0JPMURQRk1XN3lYc3FXbmIKYXQ4WUJlS1JiUnAzWU5ocWNzQ05HbmlhenFkbWprbmhuS3ZuNVV1dklNQ0tvTW1aaDF3dnpxTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FncGVDK3BkOU5pVDZECjJac2FtditZR2hVaFQwMEdIU3RJQXE5c1pCaEl4YzB3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnRkJ2QlFvcWsKQ0VPSmo5WmI1dVlZQTFKelhsb3hXRXNjdmNvRGdyeDFUSk1DSURDRzlFc1p0eHUveWg3QTkxL2g1VFUwZFNQSgpBSGpvN3IvcFlucW5UdGhxCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRakNDQWVtZ0F3SUJBZ0lRWU9HMlhPWlhjUXJPRmtsMG5ZSlZHVEFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGEKTUhNeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVJrd0Z3WURWUVFLRXhCdmNtY3hMbVY0WVcxd2JHVXVZMjl0TVJ3d0dnWURWUVFECkV4TmpZUzV2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUKbHhoT0FKMlAraDJEN2w0L05ab1oxMTRyNzhPSFNPTTg4RGxmWkJxS1hhNzB0WlFjVmV3ZmFHNmxYaU5sZTJxbQpBK1NnMzROUTc3NHdxbUlvK2d1Z3FLTmZNRjB3RGdZRFZSMFBBUUgvQkFRREFnR21NQThHQTFVZEpRUUlNQVlHCkJGVWRKUUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFwQmdOVkhRNEVJZ1FncGVDK3BkOU5pVDZEMlpzYW12K1kKR2hVaFQwMEdIU3RJQXE5c1pCaEl4YzB3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTUthNk5tTTdkWUgrRzRJRApucXM2RG83VnZtbVBlZUJtbEF1SG0wOXhSRWdDSUVXTnlNcVl1UjZUS1JncEVUY0tMdkp6WFk4TWxKUU5MaG12CkQ1UDM3VVYrCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUsxUDgraUFqMzFrQmJoNVg3NFM1MDB3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T0RVNFdoY05NamN4TURNeE1ESXcKT0RVNFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCSkFRZktDMXNBclNXRmNxTU5Ib1NtN0RRcnZpR2loT3drUEJXYUswbTZ1dzJjdkhaOXJZN0QvRQowdWx0aGtnSUV4dEVmWkpBOTBNTlA0a1JkSDZ4aWhPalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJT05QSW1mcnBGcnYKOGxnRjRLRVc1eThqVWNjcitEM3l6OWlRbnFoYjAvcE9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURsODdNNgpLcTdzYXZuR1ZzTzBBRnRacDN1NDBMNUJBdUczYUJQNVhJc011d0lnWlpoYUNtb0JoUjRUaU9jOE5XSWdhOW15Cml2alBQT1R2bXFPbXE5c0RNK1U9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU15cDYvdEIxUENRdVZEVzRra2I5Z0F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPRFU0V2hjTk1qY3hNRE14TURJd09EVTQKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk4rQU5yK2NjTjF2UlZueElzM2toVzFTM2UzamFVWlQKUUlsRm1hY3Z1V3hnQTN0SWhTckJaRTZrOFpzM21PeGk1cEFpK2pZUkZQL3JuZ0kwT0VlMjI5Q2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSU1aVHVQNUlMdCs4Cnh4Z1dZcldjeVByTTh3OVo0cUUzTFVkVTEwMUdSZXNXTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDeWRlYTIKb0JTdGdWRTZwd2dWWGFIS0Vsc1ZmL251OVdHYnpqQ1RIUi85a3dJZ0dranBrZGViZHYrSDJsQ1pYSCtTYzlDZApwc3dmUG9wTjRab053U2trc1IwPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQUw0dVpsckxEdVluZUNtdDZxbWZtdjR3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPRFU0V2hjTk1qY3hNRE14TURJd09EVTQKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkRlREFubjhDc3VXQ0p5WVYvb1VGWDRoNUg4YWNpdi82MnJURkZoQ3ZteElRRTBLUU5MdTJ6Vit3SkxRQ3FCTQpxa2VsbG5TYUpLS09vK1FVUVdGV2Y0S2pYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSU1aVHVQNUlMdCs4eHhnV1lyV2MKeVByTTh3OVo0cUUzTFVkVTEwMUdSZXNXTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUdLS0Q5RkxWZHdCelk1ZAozUDJtd1VBMmtaeVo5ZUhCaitBMVBTZExvaVVSQWlCdjl2dUMxQXppckxjaVE0WXVpa0dyNDdKMVNSV0hyNTAxCm9OVUc0MHFTRXc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRT1R3MzFiM2QzUDhNOWxrY21qTDlRVEFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTQKTlRoYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN5TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUV4TmtFcWJOaUpBUVFTd0Y4WndsNVFNbythL3oyV01mMjdydnJFMS9lbFRJclBPa3IzZHdjRFpuNApyZVd6RHI4OVlDQ0hqQ2hodmV0QUF4TTNTWW5mWGFOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWd1S0p1b0ZEN3ZjTXAKd0JkbEMrNnMzcDlQbDVtU3dqYjNET2F1WTZqVGJIRXdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSlFzNHk0UQpNcnluNHdDdnJLRkpxSkR3cXJNRW8rdElsU1V6UVBheURmemJBaUJvbVZEWE9zSWhaaGtQM1hYVW4zWU81OHMrCmVCMlczelhoN3p3ZlRwNENLQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJHZ0F3SUJBZ0lSQUtaUzBjbmhLQjFjcTV3bEpNUUdjcUl3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGFNRll4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJvd0dBWURWUVFEREJGQlpHMXBia0JsZUdGdGNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHClNNNDlBd0VIQTBJQUJPZ2pxdlpneTEvUFhWb3YvV2lOVVZucUp1d1JKb1hLZmtMTERoK0JkMXdkcDJGczhTZ1kKNDFsVlZHeklRVDN1ZGM0blNRRXI1VERSckYxeEphSy95Z3FqVFRCTE1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBTQpCZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlFa1FzLzg5M051aE9vVzZsN3VEOWM0SkFQVHhwRVpjCjdYWktmYStmZU1Eck1Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lFd3k2bE9XVzhuTkxzaWdlYVU3ZUZQL1Ryd1AKeDlQeEw0SzZPSk1BV0FwaUFpQUxCbWNXNWtGTUR6ZHZhTFZMWkg0SUVTYmZza0RSQVhIVmtaVFNvZndpbEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMakNDQWRXZ0F3SUJBZ0lRRm95TUkzWHNWSkgvRFJSa0ZDY3BKakFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1EZzFPRm9YRFRJM01UQXpNVEF5TURnMU9Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJIalZ6WWpoRG0xTVlsdVB3N0d3RDRRMEQzRnQKYUVOcUFJL0F2a0JTcFoxRGtuZ0ZkbE1USUpUK0hjQUdtKzI5bmwyZitMbGxoN25pSG1wb25ZKytPOFdqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJRWtRcy84OTNOdWhPb1c2bDd1RDljNEpBUFR4cEVaYzdYWktmYStmZU1Eck1Bb0cKQ0NxR1NNNDlCQU1DQTBjQU1FUUNJR3lnSU9LWDA0NWkzSEVDZ1l0cFp6STBUQk42amZhZW53WmxtUG5NdUYrMQpBaUFrNGdlMUtkRCtvcWdhMjdBalVsbEdLTjJQUlBhbTlsRmIvbDVKN1NNbkdBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR5Z0F3SUJBZ0lSQUtxOThzcEZKbmU0anBicHduZGhSNzh3Q2dZSUtvWkl6ajBFQXdJd2JERUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJvd0dBWURWUVFERXhGMGJITmpZUzVsCmVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTROVGhhTUd3eEN6QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaApibU5wYzJOdk1SUXdFZ1lEVlFRS0V3dGxlR0Z0Y0d4bExtTnZiVEVhTUJnR0ExVUVBeE1SZEd4elkyRXVaWGhoCmJYQnNaUzVqYjIwd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUFZWZDBFOWMza1VFZkVaWWEKQ29kZEhvNEpTQkJFS0M2eWNrL3phWmQ2eHBYU2FBZGxYQzZBeWFhYU1tWU9aWWJkMXNOUnB2K0tVTkN0bUxHSAp0SUxybzE4d1hUQU9CZ05WSFE4QkFmOEVCQU1DQWFZd0R3WURWUjBsQkFnd0JnWUVWUjBsQURBUEJnTlZIUk1CCkFmOEVCVEFEQVFIL01Da0dBMVVkRGdRaUJDQkJGRERDbExFdGpqbDlJQ0NiRTAyYzkwVnpEdmtZbXZxUjlYRGwKTU9VRnNEQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQUkzZ3gvR1RwRlNCcWpUNEdiM0xJbmU4YmEzd2xMWVlXVwpFcXhUSUtxVWF3SWdWRHdST1R3TkFhTC8yQit6OGlJckh1NmpwZXMzMGdBOVMrOG9FMUczZEtNPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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": 20, + "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-11-02T02:13:58.000Z", + "tx_id": "e2416f0109a74854bb01a2e9ef9989dc43143673e58c05cf9d1d855db894aa16", + "type": 1, + "version": 1 + }, + "signature_header": { + "nonce": "pSRLOmHuBGLoO5x65TkpV/2GJ5EzWhJL" + } + } + } + } + ] + }, + "header": { + "data_hash": "l06OWWK/WuIPCbUYmA9Ghtq/fwAUu0i+160ovuzIkAE=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +} diff --git a/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.updated.json b/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.updated.json new file mode 100644 index 00000000..b9bba3d6 --- /dev/null +++ b/hyperledger_fabric/1.0.4/solo/channel-artifacts/orderer.genesis.updated.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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHRENDQWIrZ0F3SUJBZ0lRRUZoUEhOMG5xMFRmOFVFN3ZnUjhkakFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGEKTUZzeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVI4d0hRWURWUVFEREJaQlpHMXBia0J2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3CkV3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFSUY4ZXRIOVdlY0xPRW1ub0JPMURQRk1XN3lYc3FXbmIKYXQ4WUJlS1JiUnAzWU5ocWNzQ05HbmlhenFkbWprbmhuS3ZuNVV1dklNQ0tvTW1aaDF3dnpxTk5NRXN3RGdZRApWUjBQQVFIL0JBUURBZ2VBTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FncGVDK3BkOU5pVDZECjJac2FtditZR2hVaFQwMEdIU3RJQXE5c1pCaEl4YzB3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnRkJ2QlFvcWsKQ0VPSmo5WmI1dVlZQTFKelhsb3hXRXNjdmNvRGdyeDFUSk1DSURDRzlFc1p0eHUveWg3QTkxL2g1VFUwZFNQSgpBSGpvN3IvcFlucW5UdGhxCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org1MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRakNDQWVtZ0F3SUJBZ0lRWU9HMlhPWlhjUXJPRmtsMG5ZSlZHVEFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NUzVsZUdGdGNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGEKTUhNeEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVJrd0Z3WURWUVFLRXhCdmNtY3hMbVY0WVcxd2JHVXVZMjl0TVJ3d0dnWURWUVFECkV4TmpZUzV2Y21jeExtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUKbHhoT0FKMlAraDJEN2w0L05ab1oxMTRyNzhPSFNPTTg4RGxmWkJxS1hhNzB0WlFjVmV3ZmFHNmxYaU5sZTJxbQpBK1NnMzROUTc3NHdxbUlvK2d1Z3FLTmZNRjB3RGdZRFZSMFBBUUgvQkFRREFnR21NQThHQTFVZEpRUUlNQVlHCkJGVWRKUUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFwQmdOVkhRNEVJZ1FncGVDK3BkOU5pVDZEMlpzYW12K1kKR2hVaFQwMEdIU3RJQXE5c1pCaEl4YzB3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTUthNk5tTTdkWUgrRzRJRApucXM2RG83VnZtbVBlZUJtbEF1SG0wOXhSRWdDSUVXTnlNcVl1UjZUS1JncEVUY0tMdkp6WFk4TWxKUU5MaG12CkQ1UDM3VVYrCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTakNDQWZDZ0F3SUJBZ0lSQUsxUDgraUFqMzFrQmJoNVg3NFM1MDB3Q2dZSUtvWkl6ajBFQXdJd2RqRUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpFdVpYaGhiWEJzWlM1amIyMHhIekFkQmdOVkJBTVRGblJzCmMyTmhMbTl5WnpFdVpYaGhiWEJzWlM1amIyMHdIaGNOTVRjeE1UQXlNREl3T0RVNFdoY05NamN4TURNeE1ESXcKT0RVNFdqQjJNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRQpCeE1OVTJGdUlFWnlZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTVM1bGVHRnRjR3hsTG1OdmJURWZNQjBHCkExVUVBeE1XZEd4elkyRXViM0puTVM1bGVHRnRjR3hsTG1OdmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDkKQXdFSEEwSUFCSkFRZktDMXNBclNXRmNxTU5Ib1NtN0RRcnZpR2loT3drUEJXYUswbTZ1dzJjdkhaOXJZN0QvRQowdWx0aGtnSUV4dEVmWkpBOTBNTlA0a1JkSDZ4aWhPalh6QmRNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WCkhTVUVDREFHQmdSVkhTVUFNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdLUVlEVlIwT0JDSUVJT05QSW1mcnBGcnYKOGxnRjRLRVc1eThqVWNjcitEM3l6OWlRbnFoYjAvcE9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUURsODdNNgpLcTdzYXZuR1ZzTzBBRnRacDN1NDBMNUJBdUczYUJQNVhJc011d0lnWlpoYUNtb0JoUjRUaU9jOE5XSWdhOW15Cml2alBQT1R2bXFPbXE5c0RNK1U9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNHakNDQWNDZ0F3SUJBZ0lSQU15cDYvdEIxUENRdVZEVzRra2I5Z0F3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPRFU0V2hjTk1qY3hNRE14TURJd09EVTQKV2pCYk1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFZk1CMEdBMVVFQXd3V1FXUnRhVzVBYjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaCk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk4rQU5yK2NjTjF2UlZueElzM2toVzFTM2UzamFVWlQKUUlsRm1hY3Z1V3hnQTN0SWhTckJaRTZrOFpzM21PeGk1cEFpK2pZUkZQL3JuZ0kwT0VlMjI5Q2pUVEJMTUE0RwpBMVVkRHdFQi93UUVBd0lIZ0RBTUJnTlZIUk1CQWY4RUFqQUFNQ3NHQTFVZEl3UWtNQ0tBSU1aVHVQNUlMdCs4Cnh4Z1dZcldjeVByTTh3OVo0cUUzTFVkVTEwMUdSZXNXTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDeWRlYTIKb0JTdGdWRTZwd2dWWGFIS0Vsc1ZmL251OVdHYnpqQ1RIUi85a3dJZ0dranBrZGViZHYrSDJsQ1pYSCtTYzlDZApwc3dmUG9wTjRab053U2trc1IwPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "Org2MSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRekNDQWVxZ0F3SUJBZ0lSQUw0dVpsckxEdVluZUNtdDZxbWZtdjR3Q2dZSUtvWkl6ajBFQXdJd2N6RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhHVEFYQmdOVkJBb1RFRzl5WnpJdVpYaGhiWEJzWlM1amIyMHhIREFhQmdOVkJBTVRFMk5oCkxtOXlaekl1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TVRBeU1ESXdPRFU0V2hjTk1qY3hNRE14TURJd09EVTQKV2pCek1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTgpVMkZ1SUVaeVlXNWphWE5qYnpFWk1CY0dBMVVFQ2hNUWIzSm5NaTVsZUdGdGNHeGxMbU52YlRFY01Cb0dBMVVFCkF4TVRZMkV1YjNKbk1pNWxlR0Z0Y0d4bExtTnZiVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKQkRlREFubjhDc3VXQ0p5WVYvb1VGWDRoNUg4YWNpdi82MnJURkZoQ3ZteElRRTBLUU5MdTJ6Vit3SkxRQ3FCTQpxa2VsbG5TYUpLS09vK1FVUVdGV2Y0S2pYekJkTUE0R0ExVWREd0VCL3dRRUF3SUJwakFQQmdOVkhTVUVDREFHCkJnUlZIU1VBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3S1FZRFZSME9CQ0lFSU1aVHVQNUlMdCs4eHhnV1lyV2MKeVByTTh3OVo0cUUzTFVkVTEwMUdSZXNXTUFvR0NDcUdTTTQ5QkFNQ0EwY0FNRVFDSUdLS0Q5RkxWZHdCelk1ZAozUDJtd1VBMmtaeVo5ZUhCaitBMVBTZExvaVVSQWlCdjl2dUMxQXppckxjaVE0WXVpa0dyNDdKMVNSV0hyNTAxCm9OVUc0MHFTRXc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNTVENDQWUrZ0F3SUJBZ0lRT1R3MzFiM2QzUDhNOWxrY21qTDlRVEFLQmdncWhrak9QUVFEQWpCMk1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWZNQjBHQTFVRUF4TVdkR3h6ClkyRXViM0puTWk1bGVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTQKTlRoYU1IWXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFUWVc0Z1JuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0V4QnZjbWN5TG1WNFlXMXdiR1V1WTI5dE1SOHdIUVlEClZRUURFeFowYkhOallTNXZjbWN5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMEQKQVFjRFFnQUV4TmtFcWJOaUpBUVFTd0Y4WndsNVFNbythL3oyV01mMjdydnJFMS9lbFRJclBPa3IzZHdjRFpuNApyZVd6RHI4OVlDQ0hqQ2hodmV0QUF4TTNTWW5mWGFOZk1GMHdEZ1lEVlIwUEFRSC9CQVFEQWdHbU1BOEdBMVVkCkpRUUlNQVlHQkZVZEpRQXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QXBCZ05WSFE0RUlnUWd1S0p1b0ZEN3ZjTXAKd0JkbEMrNnMzcDlQbDVtU3dqYjNET2F1WTZqVGJIRXdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSlFzNHk0UQpNcnluNHdDdnJLRkpxSkR3cXJNRW8rdElsU1V6UVBheURmemJBaUJvbVZEWE9zSWhaaGtQM1hYVW4zWU81OHMrCmVCMlczelhoN3p3ZlRwNENLQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + ] + } + } + } + } + } + }, + "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": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNDakNDQWJHZ0F3SUJBZ0lSQUtaUzBjbmhLQjFjcTV3bEpNUUdjcUl3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhOekV4TURJd01qQTROVGhhRncweU56RXdNekV3TWpBNE5UaGFNRll4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJvd0dBWURWUVFEREJGQlpHMXBia0JsZUdGdGNHeGxMbU52YlRCWk1CTUdCeXFHU000OUFnRUdDQ3FHClNNNDlBd0VIQTBJQUJPZ2pxdlpneTEvUFhWb3YvV2lOVVZucUp1d1JKb1hLZmtMTERoK0JkMXdkcDJGczhTZ1kKNDFsVlZHeklRVDN1ZGM0blNRRXI1VERSckYxeEphSy95Z3FqVFRCTE1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBTQpCZ05WSFJNQkFmOEVBakFBTUNzR0ExVWRJd1FrTUNLQUlFa1FzLzg5M051aE9vVzZsN3VEOWM0SkFQVHhwRVpjCjdYWktmYStmZU1Eck1Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lFd3k2bE9XVzhuTkxzaWdlYVU3ZUZQL1Ryd1AKeDlQeEw0SzZPSk1BV0FwaUFpQUxCbWNXNWtGTUR6ZHZhTFZMWkg0SUVTYmZza0RSQVhIVmtaVFNvZndpbEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ], + "crypto_config": { + "identity_identifier_hash_function": "SHA256", + "signature_hash_family": "SHA2" + }, + "name": "OrdererMSP", + "root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNMakNDQWRXZ0F3SUJBZ0lRRm95TUkzWHNWSkgvRFJSa0ZDY3BKakFLQmdncWhrak9QUVFEQWpCcE1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVVNQklHQTFVRUNoTUxaWGhoYlhCc1pTNWpiMjB4RnpBVkJnTlZCQU1URG1OaExtVjRZVzF3CmJHVXVZMjl0TUI0WERURTNNVEV3TWpBeU1EZzFPRm9YRFRJM01UQXpNVEF5TURnMU9Gb3dhVEVMTUFrR0ExVUUKQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkdjbUZ1WTJsegpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdGNHeGxMbU52CmJUQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJIalZ6WWpoRG0xTVlsdVB3N0d3RDRRMEQzRnQKYUVOcUFJL0F2a0JTcFoxRGtuZ0ZkbE1USUpUK0hjQUdtKzI5bmwyZitMbGxoN25pSG1wb25ZKytPOFdqWHpCZApNQTRHQTFVZER3RUIvd1FFQXdJQnBqQVBCZ05WSFNVRUNEQUdCZ1JWSFNVQU1BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdLUVlEVlIwT0JDSUVJRWtRcy84OTNOdWhPb1c2bDd1RDljNEpBUFR4cEVaYzdYWktmYStmZU1Eck1Bb0cKQ0NxR1NNNDlCQU1DQTBjQU1FUUNJR3lnSU9LWDA0NWkzSEVDZ1l0cFp6STBUQk42amZhZW53WmxtUG5NdUYrMQpBaUFrNGdlMUtkRCtvcWdhMjdBalVsbEdLTjJQUlBhbTlsRmIvbDVKN1NNbkdBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + ], + "tls_root_certs": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOVENDQWR5Z0F3SUJBZ0lSQUtxOThzcEZKbmU0anBicHduZGhSNzh3Q2dZSUtvWkl6ajBFQXdJd2JERUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJvd0dBWURWUVFERXhGMGJITmpZUzVsCmVHRnRjR3hsTG1OdmJUQWVGdzB4TnpFeE1ESXdNakE0TlRoYUZ3MHlOekV3TXpFd01qQTROVGhhTUd3eEN6QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaApibU5wYzJOdk1SUXdFZ1lEVlFRS0V3dGxlR0Z0Y0d4bExtTnZiVEVhTUJnR0ExVUVBeE1SZEd4elkyRXVaWGhoCmJYQnNaUzVqYjIwd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUFZWZDBFOWMza1VFZkVaWWEKQ29kZEhvNEpTQkJFS0M2eWNrL3phWmQ2eHBYU2FBZGxYQzZBeWFhYU1tWU9aWWJkMXNOUnB2K0tVTkN0bUxHSAp0SUxybzE4d1hUQU9CZ05WSFE4QkFmOEVCQU1DQWFZd0R3WURWUjBsQkFnd0JnWUVWUjBsQURBUEJnTlZIUk1CCkFmOEVCVEFEQVFIL01Da0dBMVVkRGdRaUJDQkJGRERDbExFdGpqbDlJQ0NiRTAyYzkwVnpEdmtZbXZxUjlYRGwKTU9VRnNEQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQUkzZ3gvR1RwRlNCcWpUNEdiM0xJbmU4YmEzd2xMWVlXVwpFcXhUSUtxVWF3SWdWRHdST1R3TkFhTC8yQit6OGlJckh1NmpwZXMzMGdBOVMrOG9FMUczZEtNPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + ] + } + } + } + } + } + }, + "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": 20, + "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-11-02T02:13:58.000Z", + "tx_id": "e2416f0109a74854bb01a2e9ef9989dc43143673e58c05cf9d1d855db894aa16", + "type": 1, + "version": 1 + }, + "signature_header": { + "nonce": "pSRLOmHuBGLoO5x65TkpV/2GJ5EzWhJL" + } + } + } + } + ] + }, + "header": { + "data_hash": "l06OWWK/WuIPCbUYmA9Ghtq/fwAUu0i+160ovuzIkAE=" + }, + "metadata": { + "metadata": [ + "", + "", + "", + "" + ] + } +}