Corda-指定模拟网络的应用程序名称



如果我使用MockNetwork从单元测试中调用flowSession.getCounterpartyFlowInfo(),它将返回FlowInfo(flowVersion=1, appName=<unknown>)

这是我当前的MockNetwork配置:

network = MockNetwork(
MockNetworkParameters(
cordappsForAllNodes = listOf(
TestCordapp.findCordapp("com.example.contract"),
TestCordapp.findCordapp("com.example.workflow")
),
networkParameters = testNetworkParameters(
minimumPlatformVersion = 5
)
)
)

有没有一种方法可以指定在模拟网络中运行的应用程序的appName

我不认为有这样的配置。appName是通过删除扩展名".jar"从jar文件名派生而来的。

对于MockNode,将扫描包并加载类。

以下是它的来源:

val Class<out FlowLogic<*>>.appName: String
get() {
val jarFile = location.toPath()
return if (jarFile.isRegularFile() && jarFile.toString().endsWith(".jar")) {
jarFile.fileName.toString().removeSuffix(".jar")
} else {
"<unknown>"
}
}

最新更新