观察者在重发现金时,结果变成错误 "java.util.NoSuchElementException.Collection contains no element matching predicate."。Collection contains no element matching the predicate."。

问题描述 投票:1回答:1

我设置了如下的corda网络。

2个银行节点

1中央银行节点(观察员)

1名公证人

我从中央银行向各银行节点发放现金,发放现金时使用了 "CashIssueAndPaymentFlow"。我也可以多次向同一个节点发放现金。

然后尝试从一个银行节点到另一个银行节点进行交易,中央银行是观察者。

在交易完成后,当我尝试向任何银行节点发行现金时,给出以下错误。

java.util.NoSuchElementException: Collection contains no element matching the predicate.
        at net.corda.node.services.keys.PersistentKeyManagementService.getSigningKeyPair(PersistentKeyManagementService.kt:110) ~[corda-node-3.3-corda.jar:?]
        at net.corda.node.services.keys.PersistentKeyManagementService.sign(PersistentKeyManagementService.kt:101) ~[corda-node-3.3-corda.jar:?]
        at net.corda.core.transactions.TransactionBuilder.toSignedTransaction(TransactionBuilder.kt:224) ~[corda-core-3.3-corda.jar:?]
        at net.corda.core.node.ServiceHub$DefaultImpls.signInitialTransaction(ServiceHub.kt:219) ~[corda-core-3.3-corda.jar:?]
        at net.corda.core.node.ServiceHub$DefaultImpls.signInitialTransaction(ServiceHub.kt:233) ~[corda-core-3.3-corda.jar:?]
        at net.corda.node.services.api.ServiceHubInternal$DefaultImpls.signInitialTransaction(ServiceHubInternal.kt) ~[corda-node-3.3-corda.jar:?]
        at net.corda.node.internal.AbstractNode$ServiceHubInternalImpl.signInitialTransaction(AbstractNode.kt:836) ~[corda-node-3.3-corda.jar:?]
        at net.corda.core.node.ServiceHub$DefaultImpls.signInitialTransaction(ServiceHub.kt:255) ~[corda-core-3.3-corda.jar:?]
        at net.corda.node.services.api.ServiceHubInternal$DefaultImpls.signInitialTransaction(ServiceHubInternal.kt) ~[corda-node-3.3-corda.jar:?]
        at net.corda.node.internal.AbstractNode$ServiceHubInternalImpl.signInitialTransaction(AbstractNode.kt:836) ~[corda-node-3.3-corda.jar:?]
        at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:66) ~[corda-finance-3.3-corda.jar:?]
        at net.corda.finance.flows.CashPaymentFlow.call(CashPaymentFlow.kt:26) ~[corda-finance-3.3-corda.jar:?]
        at net.corda.core.flows.FlowLogic.subFlow(FlowLogic.kt:290) ~[corda-core-3.3-corda.jar:?]
        at net.corda.finance.flows.CashIssueAndPaymentFlow.call(CashIssueAndPaymentFlow.kt:41) ~[corda-finance-3.3-corda.jar:?]
        at net.corda.finance.flows.CashIssueAndPaymentFlow.call(CashIssueAndPaymentFlow.kt:24) ~[corda-finance-3.3-corda.jar:?]
        at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:96) [corda-node-3.3-corda.jar:?]
        at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:44) [corda-node-3.3-corda.jar:?]
        at co.paralleluniverse.fibers.Fiber.run1(Fiber.java:1092) [quasar-core-0.7.9-jdk8.jar:0.7.9]
        at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:788) [quasar-core-0.7.9-jdk8.jar:0.7.9]

简单的说,现金是从中央银行发出的,而且中央银行是观察者. 几次交易后,再次尝试发行现金时,给出了上述错误。

上述事情使用的Corda版本是V3.3。

请给我一些指导。

corda
1个回答
0
投票

在第二次运行时,发行流会失败,这似乎很奇怪。你是否修改了很多拍卖cordapp?另外,你能分享一下你使用的步骤来使这种情况发生吗?

你是否能在最新版本的Corda上重现这种情况?

对于任何想知道的人来说,这里提到的代码例子似乎是这个。https:/github.comcordasamples-javatreemasterAdvancedauction-cordapp。

© www.soinside.com 2019 - 2024. All rights reserved.