0

根据 Corda 编码指南,我已将模块分离为常见的合同和工作流。有特定于一方的工作流模块,如工作流-party1、工作流-part2 等。现在,我只想将这些工作流提供给我的流程测试中的那个特定节点。如何做到这一点?

4

2 回答 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 回答