根据 Corda 编码指南,我已将模块分离为常见的合同和工作流。有特定于一方的工作流模块,如工作流-party1、工作流-part2 等。现在,我只想将这些工作流提供给我的流程测试中的那个特定节点。如何做到这一点?
问问题
57 次
2 回答
2
在Corda v4中,可以这样实现
private val network = MockNetwork(MockNetworkParameters(cordappsForAllNodes = listOf(
TestCordapp.findCordapp("com.template.contracts"),
TestCordapp.findCordapp("com.template.common")),
networkParameters = testNetworkParameters(minimumPlatformVersion = 4),
notarySpecs = listOf(MockNetworkNotarySpec(CordaX500Name.parse("O=Notary,L=London,C=GB")))))
private val party1 = network.createNode(MockNodeParameters(
additionalCordapps = listOf(TestCordapp.findCordapp("com.template.workflows.party1")),
legalName = CordaX500Name.parse("O=Party,L=London,C=GB")))
于 2019-10-04T03:51:44.503 回答
0
另一个答案是实现此目的的一种方法,另一种是使用 DriverDSL(取决于您编写测试的方式)
driver(DriverParameters(startNodesInProcess = false, inMemoryDB = false)) {
val charlie = startNode(
NodeParameters(
providedName = CHARLIE_NAME,
rpcUsers = listOf(rpcUser),
// important line
additionalCordapps = cordappsForPackages("package name")
)
).getOrThrow()
// stuff
}
任何一种解决方案都有效
于 2019-10-04T08:40:06.413 回答