首页 > 解决方案 > 如何重新验证 Corda 节点上的所有事务

问题描述

我们使用带有多个节点的 Corda Open Source 4.3 网络。其中一个节点是观察者节点,所有交易都从所有节点发送。

有没有办法在任何给定时刻对观察者节点上可用的所有交易进行验证/验证?或者可以在验证公证人时进行吗?

我知道它们可能会在收到它们时被验证,但我对 recursive on demand validation 感兴趣。

标签: blockchaincorda

解决方案


您可以使用TransactionVerifierService来验证LedgerTransaction流程中的 a。

首先,您需要一个包含该节点的所有可用交易的列表。您可以使用以下代码获取列表:

getServiceHub().getValidatedTransactions().track().getSnapshot()

这将返回一个SignedTransaction.

要使用 SignedTransaction 验证这一点TransactionVerifierService,需要将其转换为LedgerTransaction. 可以使用以下代码完成:

signedTransaction.toLedgerTransaction(getServiceHub());

一旦你得到LedgerTransaction使用TransactionVerifierService来验证交易:

getServiceHub().getTransactionVerifierService().verify(ledgerTransaction);

希望这可以帮助!


推荐阅读