配置节点

文件路径

Corda 的 corda.jar 文件是由 gradle buildCordaJAR 任务生成的,而且默认的它会从工作路径下的 node.conf 中读取配置信息。这个行为可以使用 --config-file 这个命令行参数来重写,把它变为一个不同的路径或者文件名(相对路径是针对当前工作路径)。并且 --base-directory 命令行参数修改了 Corda 的工作路径,如果指定了这个值的话,工作路径的根目下需要有一个 node.conf 配置文件。

gradle deployNodes 任务所使用的配置文件模板可以在 /confg/dev 文件夹下找到。同样需要注意的是,这里有一些来自于 :node gradle module 的内置 resource 文件 /node/src/main/resources/reference.conf 中的一系列基本的默认值。这里所有的属性都可以在配置文件中重写,而对于很少会改动的属性,这个默认项允许将这些属性从配置文件中移除。

格式

Corda 配置文件使用 HOCON 格式,它是 JSON 的 superset。它有一些特性对于配置文件的格式有很多好处。浏览 他们的网站 了解更多。

例子

IRSDemo services 的主要节点配置文件内容如下:

myLegalName : "O=Bank A,L=London,C=GB"
keyStorePassword : "cordacadevpass"
trustStorePassword : "trustpass"
dataSourceProperties : {
    dataSourceClassName : org.h2.jdbcx.JdbcDataSource
    "dataSource.url" : "jdbc:h2:file:"${baseDirectory}"/persistence"
    "dataSource.user" : sa
    "dataSource.password" : ""
}
p2pAddress : "my-corda-node:10002"
rpcSettings = {
    useSsl = false
    standAloneBroker = false
    address : "my-corda-node:10003"
    adminAddress : "my-corda-node:10004"
}
webAddress : "localhost:10004"
rpcUsers : [
    { username=user1, password=letmein, permissions=[ StartFlow.net.corda.protocols.CashProtocol ] }
]
devMode : true

简单 Notary 配置文件

myLegalName : "O=Notary Service,OU=corda,L=London,C=GB"
keyStorePassword : "cordacadevpass"
trustStorePassword : "trustpass"
p2pAddress : "localhost:12345"
rpcSettings = {
    useSsl = false
    standAloneBroker = false
    address : "my-corda-node:10003"
    adminAddress : "my-corda-node:10004"
}
webAddress : "localhost:12347"
notary : {
    validating : false
}
devMode : true
compatibilityZoneURL : "https://cz.corda.net"

字段

可用的配置字段如下。baseDirectory 可作为一个可替换的值,包含了对于节点的根目录的绝对路径。