【发布时间】:2020-02-23 23:10:12
【问题描述】:
我们使用带有多个节点的 Corda Open Source 4.3 网络。其中一个节点是观察者节点,所有交易都从所有节点发送。
有没有办法在任何给定时间对观察者节点上的所有可用交易进行验证/验证?或者可以在验证公证人时进行吗?
我了解它们可能会在收到它们时进行验证,但我对递归按需验证感兴趣。
【问题讨论】:
标签: blockchain corda
我们使用带有多个节点的 Corda Open Source 4.3 网络。其中一个节点是观察者节点,所有交易都从所有节点发送。
有没有办法在任何给定时间对观察者节点上的所有可用交易进行验证/验证?或者可以在验证公证人时进行吗?
我了解它们可能会在收到它们时进行验证,但我对递归按需验证感兴趣。
【问题讨论】:
标签: blockchain corda
您可以使用TransactionVerifierService 来验证流中的LedgerTransaction。
首先,您需要一个包含该节点的所有可用交易的列表。您可以使用以下代码获取列表:
getServiceHub().getValidatedTransactions().track().getSnapshot()
这将返回SignedTransaction 的列表。
要使用 TransactionVerifierService 验证这一点,需要将 SignedTransaction 转换为 LedgerTransaction。可以使用以下代码完成:
signedTransaction.toLedgerTransaction(getServiceHub());
获得LedgerTransaction 后,使用TransactionVerifierService 验证交易:
getServiceHub().getTransactionVerifierService().verify(ledgerTransaction);
希望这会有所帮助!
【讨论】: