Add new eventsclient

pull/125/head
Baohua Yang 2018-09-11 10:51:20 +08:00
parent c8ff0404b5
commit 160b4591bb
23 changed files with 188251 additions and 256508 deletions

View File

@ -10,7 +10,7 @@ SHELL:=/bin/bash
HLF_MODE ?= solo HLF_MODE ?= solo
HLF_VERSION ?= latest HLF_VERSION ?= latest
CODE_BUILD_WAIT=55 # time to wait to build peer/orderer from local code CODE_BUILD_WAIT=40 # time to wait to build peer/orderer from local code
NETWORK_INIT_WAIT=2 # time to wait the fabric network finish initialization NETWORK_INIT_WAIT=2 # time to wait the fabric network finish initialization
COMPOSE_FILE ?= "docker-compose-2orgs-4peers-solo.yaml" COMPOSE_FILE ?= "docker-compose-2orgs-4peers-solo.yaml"

View File

@ -11,6 +11,8 @@ fi
echo_g "=== Testing eventsclient in a loop ===" echo_g "=== Testing eventsclient in a loop ==="
set -x
CORE_PEER_LOCALMSPID=${ORG1MSP} \ CORE_PEER_LOCALMSPID=${ORG1MSP} \
CORE_PEER_MSPCONFIGPATH=${ORG1_ADMIN_MSP} \ CORE_PEER_MSPCONFIGPATH=${ORG1_ADMIN_MSP} \
eventsclient \ eventsclient \

View File

@ -133,4 +133,4 @@ BASE_IMG_TAG=0.4.10
# For fabric images, including peer, orderer, ca # For fabric images, including peer, orderer, ca
FABRIC_IMG_TAG=latest FABRIC_IMG_TAG=latest
PROJECT_VERSION=1.2.0 PROJECT_VERSION=1.3.0

View File

@ -823,13 +823,13 @@
}, },
"signatures": [ "signatures": [
{ {
"signature": "MEUCIQDFBhr2lrur1GOIXTKswufkn4MVF+Zqz2dD1xl/i0s5tAIgfNEabJniQf8AeokVGZhOCINWSldTxx/RLMQZHGYUpzk=", "signature": "MEUCIQCYThM6gVzFtBTe90JYbYWrS24Wc7F655pOpWFLDES1ogIgB07VRFmYsqE+f78G/ZwOstoIwR9/3iGCS+5+dsx8mGU=",
"signature_header": { "signature_header": {
"creator": { "creator": {
"id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNLVENDQWRDZ0F3SUJBZ0lRY29vYWgxTnpEU0JSTFg4Z203QTA0akFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhPREE1TVRBd05qQXlNek5hRncweU9EQTVNRGN3TmpBeU16TmEKTUd3eEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVE4d0RRWURWUVFMRXdaamJHbGxiblF4SHpBZEJnTlZCQU1NRmtGa2JXbHVRRzl5Clp6SXVaWGhoYlhCc1pTNWpiMjB3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFHcXFuUTNIeEMKeEhSY2NkaEZrTmNwd0ltaHdpRHVaUUkwbnd6d1FaT2Z3cnhOYmU4clh3OWdOWFhjVnpoWWFydnFLa3hBbjkySQpHM3dnOVRPSk9VdTFvMDB3U3pBT0JnTlZIUThCQWY4RUJBTUNCNEF3REFZRFZSMFRBUUgvQkFJd0FEQXJCZ05WCkhTTUVKREFpZ0NES0V0ditTU3h4aW1yL2w1MEdESFZzK0Zva3VheG9hNFAvc0J1eXQra3k2VEFLQmdncWhrak8KUFFRREFnTkhBREJFQWlBYW5xR1M3dHQwSDVRWW9MMW5vaHcxRTQvSEpSVkY0Mk5kVngrQkpnN1J1d0lnS1lyNApYeXdUMVMwWGt6Z3V3L2dpY2ttNGN5WDZxVEFLK0hQRDBpM3U2MG89Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNLVENDQWRDZ0F3SUJBZ0lRY29vYWgxTnpEU0JSTFg4Z203QTA0akFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhPREE1TVRBd05qQXlNek5hRncweU9EQTVNRGN3TmpBeU16TmEKTUd3eEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVE4d0RRWURWUVFMRXdaamJHbGxiblF4SHpBZEJnTlZCQU1NRmtGa2JXbHVRRzl5Clp6SXVaWGhoYlhCc1pTNWpiMjB3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFHcXFuUTNIeEMKeEhSY2NkaEZrTmNwd0ltaHdpRHVaUUkwbnd6d1FaT2Z3cnhOYmU4clh3OWdOWFhjVnpoWWFydnFLa3hBbjkySQpHM3dnOVRPSk9VdTFvMDB3U3pBT0JnTlZIUThCQWY4RUJBTUNCNEF3REFZRFZSMFRBUUgvQkFJd0FEQXJCZ05WCkhTTUVKREFpZ0NES0V0ditTU3h4aW1yL2w1MEdESFZzK0Zva3VheG9hNFAvc0J1eXQra3k2VEFLQmdncWhrak8KUFFRREFnTkhBREJFQWlBYW5xR1M3dHQwSDVRWW9MMW5vaHcxRTQvSEpSVkY0Mk5kVngrQkpnN1J1d0lnS1lyNApYeXdUMVMwWGt6Z3V3L2dpY2ttNGN5WDZxVEFLK0hQRDBpM3U2MG89Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K",
"mspid": "Org2MSP" "mspid": "Org2MSP"
}, },
"nonce": "8+XSkaeWGXAtBGpm6NjyI4cE+oYAYl0o" "nonce": "mHBGq8A278P3Ag60bXHZ+DQb4OF7FgJQ"
} }
} }
] ]
@ -839,7 +839,7 @@
"channel_id": "businesschannel", "channel_id": "businesschannel",
"epoch": "0", "epoch": "0",
"extension": null, "extension": null,
"timestamp": "2018-09-10T06:07:59Z", "timestamp": "2018-09-10T08:40:19Z",
"tls_cert_hash": null, "tls_cert_hash": null,
"tx_id": "", "tx_id": "",
"type": 2, "type": 2,
@ -850,11 +850,11 @@
"id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNLVENDQWRDZ0F3SUJBZ0lRY29vYWgxTnpEU0JSTFg4Z203QTA0akFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhPREE1TVRBd05qQXlNek5hRncweU9EQTVNRGN3TmpBeU16TmEKTUd3eEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVE4d0RRWURWUVFMRXdaamJHbGxiblF4SHpBZEJnTlZCQU1NRmtGa2JXbHVRRzl5Clp6SXVaWGhoYlhCc1pTNWpiMjB3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFHcXFuUTNIeEMKeEhSY2NkaEZrTmNwd0ltaHdpRHVaUUkwbnd6d1FaT2Z3cnhOYmU4clh3OWdOWFhjVnpoWWFydnFLa3hBbjkySQpHM3dnOVRPSk9VdTFvMDB3U3pBT0JnTlZIUThCQWY4RUJBTUNCNEF3REFZRFZSMFRBUUgvQkFJd0FEQXJCZ05WCkhTTUVKREFpZ0NES0V0ditTU3h4aW1yL2w1MEdESFZzK0Zva3VheG9hNFAvc0J1eXQra3k2VEFLQmdncWhrak8KUFFRREFnTkhBREJFQWlBYW5xR1M3dHQwSDVRWW9MMW5vaHcxRTQvSEpSVkY0Mk5kVngrQkpnN1J1d0lnS1lyNApYeXdUMVMwWGt6Z3V3L2dpY2ttNGN5WDZxVEFLK0hQRDBpM3U2MG89Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNLVENDQWRDZ0F3SUJBZ0lRY29vYWgxTnpEU0JSTFg4Z203QTA0akFLQmdncWhrak9QUVFEQWpCek1Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5VMkZ1SUVaeQpZVzVqYVhOamJ6RVpNQmNHQTFVRUNoTVFiM0puTWk1bGVHRnRjR3hsTG1OdmJURWNNQm9HQTFVRUF4TVRZMkV1CmIzSm5NaTVsZUdGdGNHeGxMbU52YlRBZUZ3MHhPREE1TVRBd05qQXlNek5hRncweU9EQTVNRGN3TmpBeU16TmEKTUd3eEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVApZVzRnUm5KaGJtTnBjMk52TVE4d0RRWURWUVFMRXdaamJHbGxiblF4SHpBZEJnTlZCQU1NRmtGa2JXbHVRRzl5Clp6SXVaWGhoYlhCc1pTNWpiMjB3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFHcXFuUTNIeEMKeEhSY2NkaEZrTmNwd0ltaHdpRHVaUUkwbnd6d1FaT2Z3cnhOYmU4clh3OWdOWFhjVnpoWWFydnFLa3hBbjkySQpHM3dnOVRPSk9VdTFvMDB3U3pBT0JnTlZIUThCQWY4RUJBTUNCNEF3REFZRFZSMFRBUUgvQkFJd0FEQXJCZ05WCkhTTUVKREFpZ0NES0V0ditTU3h4aW1yL2w1MEdESFZzK0Zva3VheG9hNFAvc0J1eXQra3k2VEFLQmdncWhrak8KUFFRREFnTkhBREJFQWlBYW5xR1M3dHQwSDVRWW9MMW5vaHcxRTQvSEpSVkY0Mk5kVngrQkpnN1J1d0lnS1lyNApYeXdUMVMwWGt6Z3V3L2dpY2ttNGN5WDZxVEFLK0hQRDBpM3U2MG89Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K",
"mspid": "Org2MSP" "mspid": "Org2MSP"
}, },
"nonce": "yvRl4kNQ3z/0iWbiG84UlsXOYv1E/ZFF" "nonce": "0E7jMURech5nqK1J7DQpI2jvkmjMovS2"
} }
} }
}, },
"signature": "MEUCIQDQ9Ud4A1RGq0C+fws6B6D+WYJQaf9ogiNyLXmdjYlu4QIgPYKpHphgos89dItvbtjRNmK1EWYawKrCWeLRah/c+Mw=" "signature": "MEQCIGvxpwG8X6IX71xVLwHdmvHQuRu6quBB53zOuNkaPuGUAiBZ4PNnHqsRsAYHX9k7/3MaYQNjj/A16X7tNF/6M43NLQ=="
} }
}, },
"header": { "header": {
@ -862,7 +862,7 @@
"channel_id": "businesschannel", "channel_id": "businesschannel",
"epoch": "0", "epoch": "0",
"extension": null, "extension": null,
"timestamp": "2018-09-10T06:07:59Z", "timestamp": "2018-09-10T08:40:19Z",
"tls_cert_hash": null, "tls_cert_hash": null,
"tx_id": "", "tx_id": "",
"type": 1, "type": 1,
@ -873,23 +873,23 @@
"id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNERENDQWJPZ0F3SUJBZ0lSQUpySTNpeFBaNS9uOUw3dE4zc2hZSnd3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhPREE1TVRBd05qQXlNek5hRncweU9EQTVNRGN3TmpBeU16TmFNRmd4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJ3d0dnWURWUVFERXhOdmNtUmxjbVZ5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJCktvWkl6ajBEQVFjRFFnQUVza0kvelNpWDE1NUM5ODIrd3RBU2xvQTh0YzRXWEJJYmlPckc4Z3lCSEIrYWtBZXAKUnR2RzdobFZFZmNrRDg4bi95NjJmckljSjJJTzBxWVNYUXlzK3FOTk1Fc3dEZ1lEVlIwUEFRSC9CQVFEQWdlQQpNQXdHQTFVZEV3RUIvd1FDTUFBd0t3WURWUjBqQkNRd0lvQWdoUUNCRkRhVk5oSVptN0ZoR2pJblJib3o0SWVZCjFGVThtWFh4UGR2UDF0RXdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdmdXpaWm1QYVRVNmNKeEJMcTJFeEhsVzgKeFZqbVE5ejFCUzJCYTVvbVBKWUNJQzNUK0N1dWNVbmx3c0dZNGFUSGVoQkxuYmtHZmx4Rkwwdjk3OXMwSTlVTAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", "id_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNERENDQWJPZ0F3SUJBZ0lSQUpySTNpeFBaNS9uOUw3dE4zc2hZSnd3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhPREE1TVRBd05qQXlNek5hRncweU9EQTVNRGN3TmpBeU16TmFNRmd4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJ3d0dnWURWUVFERXhOdmNtUmxjbVZ5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJCktvWkl6ajBEQVFjRFFnQUVza0kvelNpWDE1NUM5ODIrd3RBU2xvQTh0YzRXWEJJYmlPckc4Z3lCSEIrYWtBZXAKUnR2RzdobFZFZmNrRDg4bi95NjJmckljSjJJTzBxWVNYUXlzK3FOTk1Fc3dEZ1lEVlIwUEFRSC9CQVFEQWdlQQpNQXdHQTFVZEV3RUIvd1FDTUFBd0t3WURWUjBqQkNRd0lvQWdoUUNCRkRhVk5oSVptN0ZoR2pJblJib3o0SWVZCjFGVThtWFh4UGR2UDF0RXdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdmdXpaWm1QYVRVNmNKeEJMcTJFeEhsVzgKeFZqbVE5ejFCUzJCYTVvbVBKWUNJQzNUK0N1dWNVbmx3c0dZNGFUSGVoQkxuYmtHZmx4Rkwwdjk3OXMwSTlVTAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
"mspid": "OrdererMSP" "mspid": "OrdererMSP"
}, },
"nonce": "SaSott29Ie+elkqPn2OWJdiMgWy9N0BX" "nonce": "V6CpDHJuZ62W5UsQBE/OFmyzISCyY5FE"
} }
} }
}, },
"signature": "MEQCIG9PgZr3GJm/h+D7YX3uMYSb1U53SSnQ+9f0W86oQWdPAiB+gK4t3yUKmUiqH9I6WF4y6lGmSNQCSc0nCbnAgskYgQ==" "signature": "MEQCIHokn7vAhzEujRUEGJbPp0kLFd5X6Mdz54dMchmRoom4AiBcqq7flpBbclApKB9AFD0U6PbbqpqfHd+GMQu6xRQbIA=="
} }
] ]
}, },
"header": { "header": {
"data_hash": "W8F9W/2p0Mf/jSyD1UJ+7pV1LLtBvbj5AKnxqECbHGo=", "data_hash": "ND226+T94RTO9blwVICkYpZ523ALdD4XhEo6Q0DVVPs=",
"number": "2", "number": "2",
"previous_hash": "lOr+23vNRPtbyfO/sYZPlRYxRpuvQCByLy/v6WbAkC0=" "previous_hash": "3Py3XY4IhlUW8qHVa75WyL8Shj32KTCgzjgCXc6U7cU="
}, },
"metadata": { "metadata": {
"metadata": [ "metadata": [
"EvgGCq0GCpAGCgpPcmRlcmVyTVNQEoEGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNERENDQWJPZ0F3SUJBZ0lSQUpySTNpeFBaNS9uOUw3dE4zc2hZSnd3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhPREE1TVRBd05qQXlNek5hRncweU9EQTVNRGN3TmpBeU16TmFNRmd4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJ3d0dnWURWUVFERXhOdmNtUmxjbVZ5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJCktvWkl6ajBEQVFjRFFnQUVza0kvelNpWDE1NUM5ODIrd3RBU2xvQTh0YzRXWEJJYmlPckc4Z3lCSEIrYWtBZXAKUnR2RzdobFZFZmNrRDg4bi95NjJmckljSjJJTzBxWVNYUXlzK3FOTk1Fc3dEZ1lEVlIwUEFRSC9CQVFEQWdlQQpNQXdHQTFVZEV3RUIvd1FDTUFBd0t3WURWUjBqQkNRd0lvQWdoUUNCRkRhVk5oSVptN0ZoR2pJblJib3o0SWVZCjFGVThtWFh4UGR2UDF0RXdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdmdXpaWm1QYVRVNmNKeEJMcTJFeEhsVzgKeFZqbVE5ejFCUzJCYTVvbVBKWUNJQzNUK0N1dWNVbmx3c0dZNGFUSGVoQkxuYmtHZmx4Rkwwdjk3OXMwSTlVTAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tChIYyuvFSkwpf2uCnHoyK2TkM8JEEmvPEHu1EkYwRAIgFmOQoORTvgUD4+x8lleUhfHJC2bVcjE04a1G/XKTk24CIAUg7R+bTpasXMA3DZddp51KYev4TItn/qSGqH1SwPfr", "EvgGCq0GCpAGCgpPcmRlcmVyTVNQEoEGLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNERENDQWJPZ0F3SUJBZ0lSQUpySTNpeFBaNS9uOUw3dE4zc2hZSnd3Q2dZSUtvWkl6ajBFQXdJd2FURUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVk5oYmlCRwpjbUZ1WTJselkyOHhGREFTQmdOVkJBb1RDMlY0WVcxd2JHVXVZMjl0TVJjd0ZRWURWUVFERXc1allTNWxlR0Z0CmNHeGxMbU52YlRBZUZ3MHhPREE1TVRBd05qQXlNek5hRncweU9EQTVNRGN3TmpBeU16TmFNRmd4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVJ3d0dnWURWUVFERXhOdmNtUmxjbVZ5TG1WNFlXMXdiR1V1WTI5dE1Ga3dFd1lIS29aSXpqMENBUVlJCktvWkl6ajBEQVFjRFFnQUVza0kvelNpWDE1NUM5ODIrd3RBU2xvQTh0YzRXWEJJYmlPckc4Z3lCSEIrYWtBZXAKUnR2RzdobFZFZmNrRDg4bi95NjJmckljSjJJTzBxWVNYUXlzK3FOTk1Fc3dEZ1lEVlIwUEFRSC9CQVFEQWdlQQpNQXdHQTFVZEV3RUIvd1FDTUFBd0t3WURWUjBqQkNRd0lvQWdoUUNCRkRhVk5oSVptN0ZoR2pJblJib3o0SWVZCjFGVThtWFh4UGR2UDF0RXdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdmdXpaWm1QYVRVNmNKeEJMcTJFeEhsVzgKeFZqbVE5ejFCUzJCYTVvbVBKWUNJQzNUK0N1dWNVbmx3c0dZNGFUSGVoQkxuYmtHZmx4Rkwwdjk3OXMwSTlVTAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tChIYUAXY8a44MP900Vk2k1aeLIdSwD9B7eEeEkYwRAIgFhszT77/HHLJB6b7esVx2lGFYgEar8UDWg5v0qlrmVcCIHKLCpIUWU5+QR0ACft1vmnf6KWOfyisl2krzGpiIzCR",
"CgIIAhL4BgqtBgqQBgoKT3JkZXJlck1TUBKBBi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlDRERDQ0FiT2dBd0lCQWdJUkFKckkzaXhQWjUvbjlMN3ROM3NoWUp3d0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4T0RBNU1UQXdOakF5TXpOYUZ3MHlPREE1TURjd05qQXlNek5hTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFc2tJL3pTaVgxNTVDOTgyK3d0QVNsb0E4dGM0V1hCSWJpT3JHOGd5QkhCK2FrQWVwClJ0dkc3aGxWRWZja0Q4OG4veTYyZnJJY0oySU8wcVlTWFF5cytxTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnaFFDQkZEYVZOaElabTdGaEdqSW5SYm96NEllWQoxRlU4bVhYeFBkdlAxdEV3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnZnV6WlptUGFUVTZjSnhCTHEyRXhIbFc4CnhWam1ROXoxQlMyQmE1b21QSllDSUMzVCtDdXVjVW5sd3NHWTRhVEhlaEJMbmJrR2ZseEZMMHY5NzlzMEk5VUwKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoSGH/KXtfZ9YqrT8khnUDM9p1O5ICoZNMr8xJGMEQCIBvOJ8WKa3ANjv9hiMKPmRf4/ldjUuuGsPbXzVf6TJMHAiARpQ3ynX2HaQ+NoqWqB0CKKzorvgnE+kHRYsAo+VjflQ==", "CgIIAhL5BgqtBgqQBgoKT3JkZXJlck1TUBKBBi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlDRERDQ0FiT2dBd0lCQWdJUkFKckkzaXhQWjUvbjlMN3ROM3NoWUp3d0NnWUlLb1pJemowRUF3SXdhVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFZOaGJpQkcKY21GdVkybHpZMjh4RkRBU0JnTlZCQW9UQzJWNFlXMXdiR1V1WTI5dE1SY3dGUVlEVlFRREV3NWpZUzVsZUdGdApjR3hsTG1OdmJUQWVGdzB4T0RBNU1UQXdOakF5TXpOYUZ3MHlPREE1TURjd05qQXlNek5hTUZneEN6QUpCZ05WCkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MVRZVzRnUm5KaGJtTnAKYzJOdk1Sd3dHZ1lEVlFRREV4TnZjbVJsY21WeUxtVjRZVzF3YkdVdVkyOXRNRmt3RXdZSEtvWkl6ajBDQVFZSQpLb1pJemowREFRY0RRZ0FFc2tJL3pTaVgxNTVDOTgyK3d0QVNsb0E4dGM0V1hCSWJpT3JHOGd5QkhCK2FrQWVwClJ0dkc3aGxWRWZja0Q4OG4veTYyZnJJY0oySU8wcVlTWFF5cytxTk5NRXN3RGdZRFZSMFBBUUgvQkFRREFnZUEKTUF3R0ExVWRFd0VCL3dRQ01BQXdLd1lEVlIwakJDUXdJb0FnaFFDQkZEYVZOaElabTdGaEdqSW5SYm96NEllWQoxRlU4bVhYeFBkdlAxdEV3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnZnV6WlptUGFUVTZjSnhCTHEyRXhIbFc4CnhWam1ROXoxQlMyQmE1b21QSllDSUMzVCtDdXVjVW5sd3NHWTRhVEhlaEJMbmJrR2ZseEZMMHY5NzlzMEk5VUwKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoSGC+XH7KXcHtD/W4my+jsLYLQkBvmyBIoSxJHMEUCIQCTq9ZNiU50jwCP+NKf2mWFM9P5+T1A0jXpEtYp/Ox7+AIgLVPkh5oSgFDGjbA0rjDIPrM5rcS5hTTkR9fOXi++QP0=",
"", "",
"" ""
] ]

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -171,6 +171,14 @@ test_fetch_blocks: # test fetching channel blocks fetch
@echo "Test fetching block files" @echo "Test fetching block files"
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_fetch_blocks.sh" @docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_fetch_blocks.sh"
test_eventsclient: # test get event notification in a loop
@echo "Test fetching event notification"
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/start_eventsclient.sh"
test_sidedb: # test sideDB/private data feature
@echo "Test sideDB"
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_sideDB.sh"
temp: # test temp instructions, used for experiment temp: # test temp instructions, used for experiment
@echo "Test experimental instructions" @echo "Test experimental instructions"
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_temp.sh" @docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_temp.sh"
@ -215,6 +223,7 @@ logs: # show logs
logs_check: logs_save logs_view logs_check: logs_save logs_view
logs_save: # save logs logs_save: # save logs
@echo "All tests done, saving logs locally"
[ -d $(LOG_PATH) ] || mkdir -p $(LOG_PATH) [ -d $(LOG_PATH) ] || mkdir -p $(LOG_PATH)
docker logs peer0.org1.example.com >& $(LOG_PATH)/dev_peer0.log docker logs peer0.org1.example.com >& $(LOG_PATH)/dev_peer0.log
docker logs orderer.example.com >& $(LOG_PATH)/dev_orderer.log docker logs orderer.example.com >& $(LOG_PATH)/dev_orderer.log

View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# This script will start the eventsclient
# Importing useful functions
if [ -f ./func.sh ]; then
source ./func.sh
elif [ -f scripts/func.sh ]; then
source scripts/func.sh
fi
echo_g "=== Testing eventsclient in a loop ==="
set -x
CORE_PEER_LOCALMSPID=${ORG1MSP} \
CORE_PEER_MSPCONFIGPATH=${ORG1_ADMIN_MSP} \
eventsclient \
-server=${ORG1_PEER0_URL} \
-channelID=${APP_CHANNEL} \
-filtered=true \
-tls=true \
-clientKey=${ORG1_ADMIN_TLS_CLIENT_KEY} \
-clientCert=${ORG1_ADMIN_TLS_CLIENT_CERT} \
-rootCert=${ORG1_ADMIN_TLS_CA_CERT}

View File

@ -16,23 +16,28 @@ PEERS=( 0 1 )
#: "${ORGS:=( 1 2 )}" #: "${ORGS:=( 1 2 )}"
#: "${PEERS:=( 0 1 )}" #: "${PEERS:=( 0 1 )}"
# MSP related paths ORG1MSP="Org1MSP"
ORDERER_TLS_CA=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem ORG2MSP="Org2MSP"
ORDERER_MSP=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp ORG3MSP="Org3MSP"
# MSP related paths
ORDERER_MSP=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp
ORDERER_ADMIN_MSP=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp
ORG1_ADMIN_MSP=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
ORG1_PEER0_MSP=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.Org1.example.com/msp
ORG2_ADMIN_MSP=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
# cert related path
ORDERER_TLS_CA=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
ORDERER_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt ORDERER_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt
ORG1_PEER0_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt ORG1_PEER0_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
ORG1_PEER1_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt ORG1_PEER1_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt
ORG1_ADMIN_TLS_CLIENT_KEY=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@Org1.example.com/tls/client.key
ORG1_ADMIN_TLS_CLIENT_CERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@Org1.example.com/tls/client.crt
ORG1_ADMIN_TLS_CA_CERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@Org1.example.com/tls/ca.crt
ORG2_PEER0_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt ORG2_PEER0_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
ORG2_PEER1_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt ORG2_PEER1_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt
ORDERER_ADMIN_MSP=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp
ORG1_ADMIN_MSP=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
ORG2_ADMIN_MSP=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
ORG1MSP=Org1MSP
ORG2MSP=Org2MSP
ORG3MSP=Org3MSP
# Node URLS # Node URLS
ORDERER_URL="orderer.example.com:7050" ORDERER_URL="orderer.example.com:7050"
ORG1_PEER0_URL="peer0.org1.example.com:7051" ORG1_PEER0_URL="peer0.org1.example.com:7051"
@ -56,6 +61,20 @@ CC_MAP_UPGRADE_ARGS='{"Args":["upgrade",""]}'
CC_MAP_INVOKE_ARGS='{"Args":["invoke","put","key","value"]}' CC_MAP_INVOKE_ARGS='{"Args":["invoke","put","key","value"]}'
CC_MAP_QUERY_ARGS='{"Args":["get","key"]}' CC_MAP_QUERY_ARGS='{"Args":["get","key"]}'
# Chaincode marbles related
CC_MARBLES_NAME="marblesp"
CC_MARBLES_PATH="examples/chaincode/go/marbles02_private/go"
CC_MARBLES_INIT_ARGS='{"Args":["init"]}'
CC_MARBLES_UPGRADE_ARGS='{"Args":["upgrade",""]}'
CC_MARBLES_INVOKE_INIT_ARGS='{"Args":["initMarble","marble1","blue","10","tom","100"]}' # price is in collectionMarblePrivateDetails
CC_MARBLES_INVOKE_INIT_ARGS_2='{"Args":["initMarble","marble2","blue","10","tom","100"]}' # price is in collectionMarblePrivateDetails
CC_MARBLES_INVOKE_TRANSFER_ARGS='{"Args":["transferMarble","marble1","jerry"]}' # price is in collectionMarblePrivateDetails
CC_MARBLES_QUERY_READ_ARGS='{"Args":["readMarble","marble1"]}' # this requires 'collectionMarbles' collection
CC_MARBLES_QUERY_READPVTDETAILS_ARGS='{"Args":["readMarblePrivateDetails","marble1"]}' # this requires 'collectionMarblePrivateDetails' collection
CC_MARBLES_QUERY_READPVTDETAILS_ARGS_2='{"Args":["readMarblePrivateDetails","marble2"]}' # this requires 'collectionMarblePrivateDetails' collection
CC_MARBLES_COLLECTION_CONFIG="/go/src/examples/chaincode/go/marbles02_private/collections_config.json"
CC_MARBLES_COLLECTION_CONFIG_NEW="/go/src/examples/chaincode/go/marbles02_private/collections_config_new.json"
# unique chaincode params # unique chaincode params
CC_NAME=${CC_02_NAME} CC_NAME=${CC_02_NAME}
CC_PATH=${CC_02_PATH} CC_PATH=${CC_02_PATH}
@ -73,7 +92,8 @@ FABRIC_CFG_PATH=/etc/hyperledger/fabric
CHANNEL_ARTIFACTS=channel-artifacts CHANNEL_ARTIFACTS=channel-artifacts
CRYPTO_CONFIG=crypto-config CRYPTO_CONFIG=crypto-config
ORDERER_GENESIS=orderer.genesis.block ORDERER_GENESIS=orderer.genesis.block
ORDERER_PROFILE=TwoOrgsOrdererGenesis ORDERER_GENESIS_PROFILE=TwoOrgsOrdererGenesis
APP_CHANNEL_PROFILE=TwoOrgsChannel
APP_CHANNEL_TX=${APP_CHANNEL}.tx APP_CHANNEL_TX=${APP_CHANNEL}.tx
UPDATE_ANCHOR_ORG1_TX=Org1MSPanchors.tx UPDATE_ANCHOR_ORG1_TX=Org1MSPanchors.tx
UPDATE_ANCHOR_ORG2_TX=Org2MSPanchors.tx UPDATE_ANCHOR_ORG2_TX=Org2MSPanchors.tx