net.corda.node.driver

## Interface DriverDSLExposedInterface

- All Known Subinterfaces:
    DriverDSLInternalInterface
  All Known Implementing Classes:
    DriverDSL

      public DriverDSLExposedInterface

  This is the interface that's exposed to DSL users.

- - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.common.util.concurrent.ListenableFuture<net.corda.node.driver.NodeHandle>` | `startNode(java.lang.String providedName, java.util.Set<net.corda.core.node.services.ServiceInfo> advertisedServices, java.util.List<net.corda.node.services.User> rpcUsers, java.util.Map<java.lang.String,? extends java.lang.Object> customOverrides)` Starts a Node in a separate process.
    `java.util.concurrent.Future<kotlin.Pair>` | `startNotaryCluster(java.lang.String notaryName, int clusterSize, ServiceType type, java.util.List<net.corda.node.services.User> rpcUsers)` Starts a distributed notary cluster.
    `com.google.common.util.concurrent.ListenableFuture<com.google.common.net.HostAndPort>` | `startWebserver(NodeHandle handle)` Starts a web server for a node
    `void` | `waitForAllNodesToFinish()`

- - ### Method Detail

    - #### startNode

          com.google.common.util.concurrent.ListenableFuture<net.corda.node.driver.NodeHandle> startNode(java.lang.String providedName,
                                                                                                         java.util.Set<net.corda.core.node.services.ServiceInfo> advertisedServices,
                                                                                                         java.util.List<net.corda.node.services.User> rpcUsers,
                                                                                                         java.util.Map<java.lang.String,? extends java.lang.Object> customOverrides)

      Starts a Node in a separate process.

      Parameters:
        `providedName` - Optional name of the node, which will be its legal name in `class Party`. Defaults to something random. Note that this must be unique as the driver uses it as a primary key!
        `advertisedServices` - The set of services to be advertised by the node. Defaults to empty set.
        `rpcUsers` - List of users who are authorised to use the RPC system. Defaults to empty list.
      Returns:
        The `class NodeInfo` of the started up node retrieved from the network map service.
      See Also:
        Node

    - #### startNotaryCluster

          java.util.concurrent.Future<kotlin.Pair> startNotaryCluster(java.lang.String notaryName,
                                                                      int clusterSize,
                                                                      ServiceType type,
                                                                      java.util.List<net.corda.node.services.User> rpcUsers)

      Starts a distributed notary cluster.

      Parameters:
        `notaryName` - The legal name of the advertised distributed notary service.
        `clusterSize` - Number of nodes to create for the cluster.
        `type` - The advertised notary service type. Currently the only supported type is RaftValidatingNotaryService.type.
        `rpcUsers` - List of users who are authorised to use the RPC system. Defaults to empty list.
      Returns:
        The `class Party` identity of the distributed notary service, and the `class NodeInfo`s of the notaries in the cluster.

    - #### startWebserver

          com.google.common.util.concurrent.ListenableFuture<com.google.common.net.HostAndPort> startWebserver(NodeHandle handle)

      Starts a web server for a node

      Parameters:
        `handle` - The handle for the node that this webserver connects to via RPC.

    - #### waitForAllNodesToFinish

          void waitForAllNodesToFinish()