【发布时间】:2018-05-18 22:05:55
【问题描述】:
Corda 是否具有如何将新节点的数据共享到网络中的最佳实践?例如,节点 A 有交易,我们有一个新的节点 B。节点 A 必须与节点 B 共享过去 3 个月的交易。
你能分享一些例子吗?
谢谢。
【问题讨论】:
标签: corda
Corda 是否具有如何将新节点的数据共享到网络中的最佳实践?例如,节点 A 有交易,我们有一个新的节点 B。节点 A 必须与节点 B 共享过去 3 个月的交易。
你能分享一些例子吗?
谢谢。
【问题讨论】:
标签: corda
您可以轻松地为此编写一个流对。
第一方调用以下流程将其存储的所有交易发送给交易对手:
@InitiatingFlow
@StartableByRPC
class Sender(val counterparty: Party) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val (existingTransactions, _) = serviceHub.validatedTransactions.track()
val counterpartySession = initiateFlow(counterparty)
counterpartySession.send(existingTransactions)
}
}
交易对手通过调用以下流程来接收和记录所有交易进行响应:
@InitiatedBy(Sender::class)
class Receiver(val counterpartySession: FlowSession) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val existingTransactions = counterpartySession.receive<List<SignedTransaction>>().unwrap { it }
serviceHub.recordTransactions(existingTransactions)
}
}
【讨论】: