com.r3corda.node.internal / Node / <init>

# <init>

`Node(dir: Path, p2pAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, clock: Clock = NodeClock(), clientAPIs: List<Class<*>> = listOf())`

A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, loads important data off disk and starts listening for connections.

### Parameters

`dir` - A Path to a location on disk where working files can be found or stored.
`p2pAddr` - The host and port that this server will use. It cant find out its own external hostname, so you have to specify that yourself.
`configuration` - This is typically loaded from a .properties file
`networkMapAddress` - An external network map service to use. Should only ever be null when creating the first network map service, while bootstrapping a network.
`advertisedServices` - The services this node advertises. This must be a subset of the services it runs, but nodes are not required to advertise services they run (hence subset).
`clientAPIs` - A list of JAX-RS annotated classes to register which will be used to register any extra client web interfaces the node requires for demos to use. Listed clientAPI classes are assumed to have to take a single APIServer constructor parameter
`clock` - The clock used within the node and by all protocols etc