如何在Corda中为CorDapp提供自定义配置?

时间:2018-01-29 11:34:02

标签: corda

我需要与Corda流程中的外部系统进行通信,因此应该有一种方法来提供一些配置(例如外部API的用户名和密码)。例如,它可能是.properties或.yaml文件。

最佳做法是如何做到这一点?甚至可能是样品?

1 个答案:

答案 0 :(得分:4)

Corda 3没有内置支持向节点提供任意配置文件。 Corda 4将使用CorDapp配置文件添加对此的支持:https://docs.corda.net/head/cordapp-build-systems.html#cordapp-configuration-files

与此同时,您可以将本地文件放在节点目录中,并直接在流中读取它。例如,如果我将一个名为properties.txt的配置文件放在节点的根目录中,我可以使用以下流程读回其内容:

@InitiatingFlow
@StartableByRPC
class ReadPropertiesFlow : FlowLogic<String>() {
    override val progressTracker = ProgressTracker()

    @Suspendable
    override fun call() = File("./properties.txt").readText()
}

节点的工作目录始终是节点的根目录(除了使用MockNetwork进行流测试时)。

或者,您可以将信息直接存储在节点的数据库中。有关示例,请参阅NODE_PROPERTIES table in database