Corda:同步代表同一方的多个节点

时间:2017-11-08 16:48:31

标签: corda

我正在开发包含多个节点的Cordapp。在我的应用程序中,每个聚会将由两个在不同位置运行的节点表示。其中一个节点将始终处于联机状态,而其他节点有时可以脱机/联机。

我正在寻找一个带有Corda的API,它将使离线节点能够运行作业/ api以与在线节点同步。我找不到任何这样的API。

如果您遇到类似的情况,请在此处提出建议,并且此处已有任何可用的API /用例。

1 个答案:

答案 0 :(得分:0)

您可以为on / off节点编写一对流程,以请求从Always-online节点克隆所有详细信息。

开/关节点

FlowSession session = initiateFlow(alwaysOnNode);

//Send any hint for the other node to query the past transactions, maybe a timestamp?
session.send(hint);

/*
* Waiting for the On/Off node to reply
*/

//Receive the transaction and store it in its vault. The use of ALL_VISIBLE is critical here
subFlow(new ReceiveTransactionFlow(session, true, StatesToRecord.ALL_VISIBLE));

始终在节点上

//Query the newest transaction happened from the vault. Here I used the transaction hash in my case
SignedTransaction stx = getServiceHub().getValidatedTransactions().getTransaction(state.getRef().getTxhash());

//Send it back to the on/off node for update
subFlow(new SendTransactionFlow(holderSession, stx));

Here是我写的一个例子,股东向公司询问有关StockState的任何发生的交易。