Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blockchain 如何重新验证Corda节点上的所有事务_Blockchain_Corda - Fatal编程技术网

Blockchain 如何重新验证Corda节点上的所有事务

Blockchain 如何重新验证Corda节点上的所有事务,blockchain,corda,Blockchain,Corda,我们使用带有多个节点的Corda开源4.3网络。其中一个节点是观察者节点,其中所有事务都从所有节点发送 在任何给定的时刻,是否有方法对observer节点上的所有可用事务执行验证/验证?或者可以在公证人的见证下进行 我知道它们可能会在收到后进行验证,但我对递归按需验证感兴趣。您可以使用TransactionVerifierService验证流中的LedgertTransaction 首先,您需要一个节点所有可用事务的列表。您可以使用以下代码获取列表: getServiceHub().getVal

我们使用带有多个节点的Corda开源4.3网络。其中一个节点是观察者节点,其中所有事务都从所有节点发送

在任何给定的时刻,是否有方法对observer节点上的所有可用事务执行验证/验证?或者可以在公证人的见证下进行


我知道它们可能会在收到后进行验证,但我对递归按需验证感兴趣。

您可以使用
TransactionVerifierService
验证流中的
LedgertTransaction

首先,您需要一个节点所有可用事务的列表。您可以使用以下代码获取列表:

getServiceHub().getValidatedTransactions().track().getSnapshot()
signedTransaction.toLedgerTransaction(getServiceHub());
这将返回
已签名事务的列表

要使用
TransactionVerifierService
对此进行验证,需要将已签名的交易转换为
LedgertTransaction
。可以使用以下代码完成此操作:

getServiceHub().getValidatedTransactions().track().getSnapshot()
signedTransaction.toLedgerTransaction(getServiceHub());
获得
LedgerTransaction
后,使用
TransactionVerifierService
验证交易:

getServiceHub().getTransactionVerifierService().verify(ledgerTransaction);
希望这有帮助