我尝试使用网络引导程序工具生成节点信息文件,对于参与者节点,可以成功生成节点信息,但是对于属于RAFT节点的公证节点,在公证人的node-info-gen中显示以下错误。日志:
2018-08-28 09:58:03,982 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2018-08-28 09:58:03,982 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
______ __
/ ____/ _________/ /___ _
/ / __ / ___/ __ / __ `/ You know, I was a banker
/ /___ /_/ / / / /_/ / /_/ / once ... but I lost interest.
\____/ /_/ \__,_/\__,_/
--- Corda Open Source 3.2-corda (5ae8325) -----------------------------------------------
Logs can be found in : C:\Project\Blockchain\bootstrapper\stage\notary1_node\logs
Database connection url is : jdbc:h2:tcp://xx.xx.xx.xx:62490/node
[1;31mE 09:58:08+0800 [main] internal.Node.run - Exception during node startup {}
[m java.lang.IllegalArgumentException: Unable to find in the key store the identity of the distributed notary the node is part of
at net.corda.node.internal.AbstractNode.obtainIdentity(AbstractNode.kt:778) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode.updateNodeInfo(AbstractNode.kt:306) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode.access$updateNodeInfo(AbstractNode.kt:105) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode$generateAndSaveNodeInfo$2.invoke(AbstractNode.kt:183) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode$generateAndSaveNodeInfo$2.invoke(AbstractNode.kt:105) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode$initialiseDatabasePersistence$2.invoke(AbstractNode.kt:685) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode$initialiseDatabasePersistence$2.invoke(AbstractNode.kt:105) ~[corda-node-3.2-corda.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.inTopLevelTransaction(CordaPersistence.kt:152) ~[corda-node-api-3.2-corda.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:138) ~[corda-node-api-3.2-corda.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:124) ~[corda-node-api-3.2-corda.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:131) ~[corda-node-api-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode.initialiseDatabasePersistence(AbstractNode.kt:684) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.Node.initialiseDatabasePersistence(Node.kt:345) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.AbstractNode.generateAndSaveNodeInfo(AbstractNode.kt:179) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.Node.generateAndSaveNodeInfo(Node.kt:353) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.NodeStartup.startNode(NodeStartup.kt:142) ~[corda-node-3.2-corda.jar:?]
at net.corda.node.internal.NodeStartup.run(NodeStartup.kt:115) [corda-node-3.2-corda.jar:?]
at net.corda.node.Corda.main(Corda.kt:13) [corda-node-3.2-corda.jar:?]
以下是公证节点1的node.conf:
myLegalName="O=Notary1, L=Zurich, C=CH"
notary {
custom=false
raft {
clusterAddresses=[]
nodeAddress="xx.xx.xx.01:10001"
}
validating=false
}
p2pAddress="xx.xx.xx.01:10002"
rpcUsers=[]
以下是公证节点2的node.conf:
myLegalName="O=Notary2, L=Zurich, C=CH"
notary {
custom=false
raft {
clusterAddresses=[
"xx.xx.xx.01:10001"
]
nodeAddress="xx.xx.xx.02:10001"
}
validating=false
}
p2pAddress="xx.xx.xx.02:10002"
rpcUsers=[]
以下是公证节点3的node.conf:
myLegalName="O=Notary3, L=Zurich, C=CH"
notary {
custom=false
raft {
clusterAddresses=[
"xx.xx.xx.01:10001"
]
nodeAddress="xx.xx.xx.03:10001"
}
validating=false
}
p2pAddress="xx.xx.xx.03:10002"
rpcUsers=[]