com.r3corda.node.internal / Node

Node

class Node : AbstractNode

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).

clock - The clock used within the node and by all protocols etc.

messagingServerAddr - The address of the Artemis broker instance. If not provided the node will run one locally.


Constructors

<init> Node(dir: Path, p2pAddr: <ERROR CLASS>, webServerAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, clock: Clock = NodeClock(), messagingServerAddr: <ERROR CLASS>? = null)

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.

Properties

log val log: <ERROR CLASS>
messageBroker var messageBroker: ArtemisMessagingServer?
messagingServerAddr val messagingServerAddr: <ERROR CLASS>?
p2pAddr val p2pAddr: <ERROR CLASS>
serverThread val serverThread: ServiceAffinityExecutor
webServer lateinit var webServer: <ERROR CLASS>
webServerAddr val webServerAddr: <ERROR CLASS>

Inherited Properties

_servicesThatAcceptUploads val _servicesThatAcceptUploads: ArrayList<AcceptsFileUpload>
advertisedServices val advertisedServices: Set<ServiceType>
api lateinit var api: APIServer
checkpointStorage lateinit var checkpointStorage: CheckpointStorage
closeOnStop val closeOnStop: ArrayList<Closeable>
configuration val configuration: NodeConfiguration
customServices val customServices: ArrayList<Any>
dir val dir: Path
identity lateinit var identity: IdentityService
inNodeNetworkMapService var inNodeNetworkMapService: NetworkMapService?
inNodeNotaryService var inNodeNotaryService: NotaryService?
inNodeWalletMonitorService var inNodeWalletMonitorService: WalletMonitorService?
info val info: NodeInfo
isPreviousCheckpointsPresent var isPreviousCheckpointsPresent: Boolean
keyManagement lateinit var keyManagement: E2ETestKeyManagementService
net lateinit var net: MessagingServiceInternal
netMapCache lateinit var netMapCache: NetworkMapCache
networkMapRegistrationFuture val networkMapRegistrationFuture: <ERROR CLASS><Unit>
networkMapSeq var networkMapSeq: Long

Sequence number of changes sent to the network map service, when registering/de-registering this node.

networkMapService val networkMapService: NodeInfo?
platformClock val platformClock: Clock
pluginRegistries val pluginRegistries: List<CordaPluginRegistry>

Fetch CordaPluginRegistry classes registered in META-INF/services/com.r3corda.core.node.CordaPluginRegistry files that exist in the classpath

protocolLogicFactory lateinit var protocolLogicFactory: ProtocolLogicRefFactory
scheduler lateinit var scheduler: SchedulerService
services val services: ServiceHubInternal
servicesThatAcceptUploads val servicesThatAcceptUploads: List<AcceptsFileUpload>
smm lateinit var smm: StateMachineManager
started var started: Boolean

Set to true once start has been successfully called.

storage lateinit var storage: TxWritableStorageService
wallet lateinit var wallet: WalletService

Functions

makeMessagingService fun makeMessagingService(): MessagingServiceInternal
run fun run(): Unit

Starts a blocking event loop for message dispatch.

setup fun setup(): Node

Run any tasks that are needed to ensure the node is in a correct state before running start().

start fun start(): Node
startMessagingService fun startMessagingService(): Unit
stop fun stop(): Unit

Inherited Functions

constructStorageService open fun constructStorageService(attachments: NodeAttachmentService, transactionStorage: TransactionStorage, keypair: KeyPair, identity: Party): StorageServiceImpl
createNodeDir fun createNodeDir(): Unit
findMyLocation open fun findMyLocation(): PhysicalLocation?
findService fun <T : Any> findService(): <ERROR CLASS>

Locates and returns a service of the given type if loaded, or throws an exception if not found.

generateKeyPair open fun generateKeyPair(): KeyPair
initialiseStorageService open fun initialiseStorageService(dir: Path): <ERROR CLASS><TxWritableStorageService, CheckpointStorage>
makeAttachmentStorage fun makeAttachmentStorage(dir: Path): NodeAttachmentService
makeIdentityService open fun makeIdentityService(): IdentityService
makeNetworkMapService open fun makeNetworkMapService(): Unit
makeNotaryService open fun makeNotaryService(type: ServiceType): NotaryService
makeWalletMonitorService open fun makeWalletMonitorService(): WalletMonitorService
makeWalletService open fun makeWalletService(): WalletService
noNetworkMapConfigured open fun noNetworkMapConfigured(): <ERROR CLASS><Unit>

This is overriden by the mock node implementation to enable operation without any network map service

Companion Object Properties

DEFAULT_PORT val DEFAULT_PORT: Int

The port that is used by default if none is specified. As you know, 31337 is the most elite number.