一直在阅读 Corda(尚未实际使用)和其他 DLT,看看我们是否可以在项目中使用它。阅读完 Corda 的所有关键概念后,我想知道的是:如何与所有人共享数据,包括稍后添加的节点? 我一直在读类似 https://corda.net/blog/broadcasting-a-transaction-to-external-organisations/ 的内容和 https://stackoverflow.com/a/53205303/1382108 。但是如果稍后有另一个节点加入怎么办?
作为一个示例用例:假设一个组织想要向网络中的所有节点宣传其销售的商品,而价格谈判或实际销售可以私下进行。如果有新节点加入,确保他们也了解广告商品的最佳/最简单方法是什么?使用区 block 链技术,我认为他们只需复制加入后具有这些事实的链,但它在 Corda 中如何工作?任何链接或代码示例将不胜感激!
最佳答案
您可以与以前未见过交易的其他节点共享交易,但这种功能并不是现成的,必须由 CorDapp 开发人员使用流程来实现。
作为 ONIXLabs 的作者,我实现了大部分此功能,通常是为了让 CorDapp 开发人员更容易使用。 GitHub 上有很多功能丰富的 API 可用。 .
为了发布交易,ONIXLabs Corda Core API包含functions that extend FlowLogic<*>
提供通用交易发布:
-
publishTransaction
在流程的发起端调用,指定要发布的交易以及向谁发布。 -
publishTransactionHandler
在流程的启动者/处理程序端调用指定要记录的事务及其来自谁。
作为如何使用这些 API 的示例,请查看 ONIXLabs Corda Identity Framework ,我们有一种机制可以将帐户从一个节点发布到一组交易对手。
-
PublishAccountFlow
消耗publishTransaction
功能。 -
PublishAccountFlowHandler
消耗publishTransactionHandler
功能。
关于corda - R3 Corda : how to share historical facts with newly added nodes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75259274/