corda - 我如何定义多个响应者流,每个都在不同的 CorDapp 中?

标签 corda

在 Corda 中,我想创建几个不同版本的响应程序流,每个版本都由不同的节点使用。

为此,我了解我需要在单独的 CorDapp 中定义每个响应程序流。但是,它们也都需要通过 InitiatedBy 注释依赖于发起流类。

我如何构造包含响应流的不同实现的 CorDapp,以便它们都依赖于这个公共(public)启动流,而不将所有响应流包含在我定义启动流的同一个 CorDapp 中?

最佳答案

您需要先定义包含发起流的 CorDapp,然后将此 CorDapp 设置为每个包含响应流的 CorDapp 的依赖项。参见 https://docs.corda.net/cordapp-build-systems.html#dependencies-on-other-cordapps了解详情。

例如,假设 CorDapp 1 定义了以下启动流程:

@InitiatingFlow
@StartableByRPC
class Initiator : FlowLogic<Unit>() {
    ...
}

然后你有 CorDapp 2A,它定义了以下响应程序流:

@InitiatedBy(Initiator::class)
@StartableByRPC
class ResponderA : FlowLogic<Unit>() {
    ...
}

CorDapp 2B 定义了以下响应程序流程:

@InitiatedBy(Initiator::class)
@StartableByRPC
class ResponderB : FlowLogic<Unit>() {
    ...
}

CorDapp 2ACorDapp 2B 然后需要在它们的 build.gradle 文件中有一个依赖项,使这些 CorDapps 依赖于 CorDapp 1,其中启动流程已定义。

关于corda - 我如何定义多个响应者流,每个都在不同的 CorDapp 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48624039/

相关文章:

corda - 在同一个 Corda 流程中创建多个交易有什么风险?

Corda R3 DeployNodes 命令失败,例如cordapp

corda - 如果我在Corda上创建代币,如何确保发行人知道每个人的余额?

java - AnnotationException : @OneToOne or @ManyToOne on MySchema$Parent. propertyX 引用未知实体:MySchema$Child

h2 - 使用 H2 Web 界面浏览 Corda 数据库表显示同义词错误

java - 从corda Flow返回HashMap到SpringBoot抛出:com. esotericsoftware.kryo.KryoException

blockchain - 各种区 block 链协议(protocol)的区别

java.lang.IllegalStateException : Missing the '-javaagent' JVM argument. 确保使用连接到 JVM 的 Quasar java 代理运行测试

java - 如何从合约状态获取stateAndRef?

testing - cordapp-template FlowTest progressTracker 中的失败/错误尚未启动