因最熟悉java,故最後仍是拿java作突破口學習sdk,本文只運行demo,sdk功能之後具體在分析.java
cd /opt/gopath/src/github.com/hyperledger/ git clone https://github.com/hyperledger/fabric-sdk-java.git
cd /opt/gopath/src/github.com/hyperledger/fabric-sdk-java/src/test/fixture/sdkintegration ./fabric.sh up
docker ps 00a91dd619fa hyperledger/fabric-peer "peer node start" 17 minutes ago Up 17 minutes 0.0.0.0:7056->7051/tcp, 0.0.0.0:7058->7053/tcp peer1.org1.example.com 782588a7be4b hyperledger/fabric-peer "peer node start" 17 minutes ago Up 17 minutes 0.0.0.0:8056->7051/tcp, 0.0.0.0:8058->7053/tcp peer1.org2.example.com 8aa37874e128 hyperledger/fabric-peer "peer node start" 17 minutes ago Up 17 minutes 0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp peer0.org1.example.com 03073ca33957 hyperledger/fabric-peer "peer node start" 17 minutes ago Up 17 minutes 0.0.0.0:8051->7051/tcp, 0.0.0.0:8053->7053/tcp peer0.org2.example.com 0e1ed0c4dd26 hyperledger/fabric-ca "sh -c 'fabric-ca-ser" 17 minutes ago Up 17 minutes 0.0.0.0:8054->7054/tcp ca_peerOrg2 0c3c05345239 hyperledger/fabric-orderer "orderer" 17 minutes ago Up 17 minutes 0.0.0.0:7050->7050/tcp orderer.example.com 0524ac1f2d89 hyperledger/fabric-ca "sh -c 'fabric-ca-ser" 17 minutes ago Up 17 minutes 0.0.0.0:7054->7054/tcp ca_peerOrg1 f12a51b52be4 hyperledger/fabric-tools "/usr/local/bin/confi" 17 minutes ago Up 17 minutes 0.0.0.0:7059->7059/tcp configtxlator
這一步我遇到的問題是ca_peerOrg1未啓動成功
緣由在於docker-compose.yaml ca0中 V11_IDENTITIES_ALLOWREMOVE=--cfg.identities.allowremove
V11_AFFILIATIONS_ALLOWREMOVE=--cfg.affiliations.allowremove
這兩個參數未能識別,刪掉這兩個參數就能夠啓動了
command: sh -c 'fabric-ca-server start -n ca0 ${V11_IDENTITIES_ALLOWREMOVE} ${V11_AFFILIATIONS_ALLOWREMOVE} --registry.maxenrollments -1 --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/fcf776b02a05600408d0be9d9752afc59f64950b721cacb363b5b95a0fea6216_sk -b admin:adminpw ${ORG_HYPERLEDGER_FABRIC_SDKTEST_INTEGRATIONTESTS_CA_TLS} --tls.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --tls.keyfile /etc/hyperledger/fabric-ca-server-config/fcf776b02a05600408d0be9d9752afc59f64950b721cacb363b5b95a0fea6216_sk -d'
command: sh -c 'fabric-ca-server start -n ca0 --registry.maxenrollments -1 --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/fcf776b02a05600408d0be9d9752afc59f64950b721cacb363b5b95a0fea6216_sk -b admin:adminpw ${ORG_HYPERLEDGER_FABRIC_SDKTEST_INTEGRATIONTESTS_CA_TLS} --tls.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --tls.keyfile /etc/hyperledger/fabric-ca-server-config/fcf776b02a05600408d0be9d9752afc59f64950b721cacb363b5b95a0fea6216_sk -d'
因在本地訪問遠程的Centos的Fabric網絡,故需作本地與遠程之間的端口映射,需映射的端口在docker-composer.yaml中node
ssh -L7054:127.0.0.1:7054 -L7056:127.0.0.1:7056 -L8056:127.0.0.1:8056 -L7051:127.0.0.1:7051 -L8051:127.0.0.1:8051 -L8054:127.0.0.1:8054 -L7050:127.0.0.1:7050 -L7059:127.0.0.1:7059 -L8058:127.0.0.1:8058 -L7058:127.0.0.1:7058 -L7053:127.0.0.1:7053 -L8053:127.0.0.1:8053 root@10.0.0.157
RUNNING: End2endIT. 2018-02-11 01:13:11,183 main WARN SampleStore:90 - Could not find the file "/var/folders/dy/nvwqztd923b1_mdp5dsmcv6m0000gn/T/HFCSampletest.properties" 2018-02-11 01:13:11,189 main WARN SampleStore:90 - Could not find the file "/var/folders/dy/nvwqztd923b1_mdp5dsmcv6m0000gn/T/HFCSampletest.properties" Constructing channel foo 2018-02-11 01:13:14,278 main WARN Channel:1374 - Bad deliver expected status 200 got 404, Channel foo Created channel foo 2018-02-11 01:13:14,679 main INFO Channel:698 - Peer peer0.org1.example.com joined into channel foo Peer peer0.org1.example.com joined channel foo 2018-02-11 01:13:14,766 main INFO Channel:698 - Peer peer1.org1.example.com joined into channel foo Peer peer1.org1.example.com joined channel foo Finished initialization channel foo Running channel foo Creating install proposal Sending install proposal 2018-02-11 01:13:15,082 main INFO InstallProposalBuilder:175 - Installing 'example_cc_go::github.com/example_cc::1' Go chaincode from directory: '/Users/hubin/IdeaProjects/fabric-sdk-java/src/test/fixture/sdkintegration/gocc/sample1/src/github.com/example_cc' with source location: 'src/github.com/example_cc'. chaincodePath:'github.com/example_cc' Successful install proposal response Txid: 27625e72ba102eb99eaf3f2e6baa8b8f323b24fa4c88b3aa2206142944c8f66c from peer peer1.org1.example.com Successful install proposal response Txid: 27625e72ba102eb99eaf3f2e6baa8b8f323b24fa4c88b3aa2206142944c8f66c from peer peer0.org1.example.com Received 2 install proposal responses. Successful+verified: 2 . Failed: 0 Sending instantiateProposalRequest to all peers with arguments: a and b set to 100 and 200 respectively Succesful instantiate proposal response Txid: d7805ae2e01d4d20aab0361334d35a590f07b1890d6f50e31d6efb7f5a631839 from peer peer1.org1.example.com Succesful instantiate proposal response Txid: d7805ae2e01d4d20aab0361334d35a590f07b1890d6f50e31d6efb7f5a631839 from peer peer0.org1.example.com Received 2 instantiate proposal responses. Successful+verified: 2 . Failed: 0 Sending instantiateTransaction to orderer with a and b set to 100 and 200 respectively Finished instantiate transaction with transaction id d7805ae2e01d4d20aab0361334d35a590f07b1890d6f50e31d6efb7f5a631839 sending transactionProposal to all peers with arguments: move(a,b,100) Successful transaction proposal response Txid: aafb2dd6f61d1e0484642468279d629c9d641fa5d91a4ebcdc3be8b6de531bc7 from peer peer1.org1.example.com Successful transaction proposal response Txid: aafb2dd6f61d1e0484642468279d629c9d641fa5d91a4ebcdc3be8b6de531bc7 from peer peer0.org1.example.com Received 2 transaction proposal responses. Successful+verified: 2 . Failed: 0 Successfully received transaction proposal responses. Sending chaincode transaction(move a,b,100) to orderer. Finished transaction with transaction id aafb2dd6f61d1e0484642468279d629c9d641fa5d91a4ebcdc3be8b6de531bc7 Now query chaincode for the value of b. RECEIVED Chaincode event with handle: CHAINCODE_EVENTS_HANDLEcaa56b79-2870-430d-9c64-72968f59abe4CHAINCODE_EVENTS_HANDLE, chaincode Id: example_cc_go, chaincode event name: event, transaction id: aafb2dd6f61d1e0484642468279d629c9d641fa5d91a4ebcdc3be8b6de531bc7, event payload: "!", from eventhub: peer1.org1.example.com RECEIVED Chaincode event with handle: CHAINCODE_EVENTS_HANDLEcaa56b79-2870-430d-9c64-72968f59abe4CHAINCODE_EVENTS_HANDLE, chaincode Id: example_cc_go, chaincode event name: event, transaction id: aafb2dd6f61d1e0484642468279d629c9d641fa5d91a4ebcdc3be8b6de531bc7, event payload: "!", from eventhub: peer0.org1.example.com Query payload of b from peer peer1.org1.example.com returned 300 Query payload of b from peer peer0.org1.example.com returned 300 Channel info for : foo Channel height: 3 Chain current block hash: cf1dd8d05992c3681205bb17324527fc6d568967b66ba28f177a2b886c7291ac Chainl previous block hash: c3e7016eb8efc296ff9f8237a9a980247490d40a9699d499bc0c637c6dc138be queryBlockByNumber returned correct block with blockNumber 2 previous_hash c3e7016eb8efc296ff9f8237a9a980247490d40a9699d499bc0c637c6dc138be queryBlockByHash returned block with blockNumber 1 queryBlockByTxID returned block with blockNumber 2 QueryTransactionByID returned TransactionInfo: txID aafb2dd6f61d1e0484642468279d629c9d641fa5d91a4ebcdc3be8b6de531bc7 validation code 0 Running for Channel foo done Constructing channel bar 2018-02-11 01:13:56,863 main WARN Channel:1374 - Bad deliver expected status 200 got 404, Channel bar Created channel bar 2018-02-11 01:13:57,189 main INFO Channel:698 - Peer peer0.org2.example.com joined into channel bar Peer peer0.org2.example.com joined channel bar 2018-02-11 01:13:57,268 main INFO Channel:698 - Peer peer1.org2.example.com joined into channel bar Peer peer1.org2.example.com joined channel bar 2018-02-11 01:13:57,386 grpc-default-executor-0 ERROR PeerEventServiceClient:239 - Received error on channel bar, peer peer0.org2.example.com, url grpc://localhost:8051, UNIMPLEMENTED: unknown service protos.Deliver io.grpc.StatusRuntimeException: UNIMPLEMENTED: unknown service protos.Deliver at io.grpc.Status.asRuntimeException(Status.java:526) at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:419) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:684) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:392) at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:475) at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:557) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:478) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:590) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 2018-02-11 01:13:57,390 main ERROR PeerEventServiceClient:286 - Channel bar connect failed on peer eventing service peer0.org2.example.com. Reason: UNIMPLEMENTED: unknown service protos.Deliver org.hyperledger.fabric.sdk.exception.TransactionException: Channel bar connect failed on peer eventing service peer0.org2.example.com. Reason: UNIMPLEMENTED: unknown service protos.Deliver at org.hyperledger.fabric.sdk.PeerEventServiceClient.connectEnvelope(PeerEventServiceClient.java:284) at org.hyperledger.fabric.sdk.PeerEventServiceClient.peerVent(PeerEventServiceClient.java:346) at org.hyperledger.fabric.sdk.PeerEventServiceClient.connect(PeerEventServiceClient.java:317) at org.hyperledger.fabric.sdk.Peer.initiateEventing(Peer.java:113) at org.hyperledger.fabric.sdk.Channel.initialize(Channel.java:959) at org.hyperledger.fabric.sdkintegration.End2endIT.constructChannel(End2endIT.java:766) at org.hyperledger.fabric.sdkintegration.End2endIT.setup(End2endIT.java:255) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) Caused by: io.grpc.StatusRuntimeException: UNIMPLEMENTED: unknown service protos.Deliver at io.grpc.Status.asRuntimeException(Status.java:526) at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:419) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:684) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:392) at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:475) at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:557) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:478) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:590) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 2018-02-11 01:13:57,391 main ERROR Channel:974 - Channel bar connect failed on peer eventing service peer0.org2.example.com. Reason: UNIMPLEMENTED: unknown service protos.Deliver org.hyperledger.fabric.sdk.exception.TransactionException: Channel bar connect failed on peer eventing service peer0.org2.example.com. Reason: UNIMPLEMENTED: unknown service protos.Deliver at org.hyperledger.fabric.sdk.PeerEventServiceClient.connectEnvelope(PeerEventServiceClient.java:284) at org.hyperledger.fabric.sdk.PeerEventServiceClient.peerVent(PeerEventServiceClient.java:346) at org.hyperledger.fabric.sdk.PeerEventServiceClient.connect(PeerEventServiceClient.java:317) at org.hyperledger.fabric.sdk.Peer.initiateEventing(Peer.java:113) at org.hyperledger.fabric.sdk.Channel.initialize(Channel.java:959) at org.hyperledger.fabric.sdkintegration.End2endIT.constructChannel(End2endIT.java:766) at org.hyperledger.fabric.sdkintegration.End2endIT.setup(End2endIT.java:255) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) Caused by: io.grpc.StatusRuntimeException: UNIMPLEMENTED: unknown service protos.Deliver at io.grpc.Status.asRuntimeException(Status.java:526) at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:419) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:684) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:392) at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:475) at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:557) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:478) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:590) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) org.hyperledger.fabric.sdk.exception.TransactionException: Channel bar connect failed on peer eventing service peer0.org2.example.com. Reason: UNIMPLEMENTED: unknown service protos.Deliver at org.hyperledger.fabric.sdk.PeerEventServiceClient.connectEnvelope(PeerEventServiceClient.java:284) at org.hyperledger.fabric.sdk.PeerEventServiceClient.peerVent(PeerEventServiceClient.java:346) at org.hyperledger.fabric.sdk.PeerEventServiceClient.connect(PeerEventServiceClient.java:317) at org.hyperledger.fabric.sdk.Peer.initiateEventing(Peer.java:113) at org.hyperledger.fabric.sdk.Channel.initialize(Channel.java:959) at org.hyperledger.fabric.sdkintegration.End2endIT.constructChannel(End2endIT.java:766) at org.hyperledger.fabric.sdkintegration.End2endIT.setup(End2endIT.java:255) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) Caused by: io.grpc.StatusRuntimeException: UNIMPLEMENTED: unknown service protos.Deliver at io.grpc.Status.asRuntimeException(Status.java:526) at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:419) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:684) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:392) at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:475) at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:557) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:478) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:590) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) java.lang.AssertionError: Channel bar connect failed on peer eventing service peer0.org2.example.com. Reason: UNIMPLEMENTED: unknown service protos.Deliver at org.junit.Assert.fail(Assert.java:88) at org.hyperledger.fabric.sdkintegration.End2endIT.setup(End2endIT.java:274) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) Process finished with exit code 255