com.r3corda.node.internal / AbstractNode

# AbstractNode

`abstract class AbstractNode`

A base node implementation that can be customised either for production (with real implementations that do real I/O), or a mock implementation suitable for unit test environments.

### Constructors

<init> | `AbstractNode(dir: Path, configuration: NodeConfiguration, networkMapService: NodeInfo?, advertisedServices: Set<ServiceType>, platformClock: Clock)` A base node implementation that can be customised either for production (with real implementations that do real I/O), or a mock implementation suitable for unit test environments.

### Properties

_servicesThatAcceptUploads | `val _servicesThatAcceptUploads: ArrayList<AcceptsFileUpload>`
advertisedServices | `val advertisedServices: Set<ServiceType>`
api | `lateinit var api: APIServer`
checkpointStorage | `lateinit var checkpointStorage: CheckpointStorage`
configuration | `val configuration: NodeConfiguration`
dir | `val dir: Path`
identity | `lateinit var identity: IdentityService`
inNodeNetworkMapService | `var inNodeNetworkMapService: NetworkMapService?`
inNodeNotaryService | `var inNodeNotaryService: NotaryService?`
info | `val info: NodeInfo`
interestRatesService | `lateinit var interestRatesService: Service`
isPreviousCheckpointsPresent | `var isPreviousCheckpointsPresent: Boolean`
keyManagement | `lateinit var keyManagement: E2ETestKeyManagementService`
log | `abstract val log: <ERROR CLASS>`
net | `lateinit var net: MessagingService`
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`
scheduler | `lateinit var scheduler: SchedulerService`
serverThread | `abstract val serverThread: AffinityExecutor`
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

constructStorageService | `open fun constructStorageService(attachments: NodeAttachmentService, transactionStorage: TransactionStorage, keypair: KeyPair, identity: Party): StorageServiceImpl`
createNodeDir | `fun createNodeDir(): Unit`
findMyLocation | `open fun findMyLocation(): PhysicalLocation?`
generateKeyPair | `open fun generateKeyPair(): <ERROR CLASS>`
initialiseStorageService | `open fun initialiseStorageService(dir: Path): <ERROR CLASS><TxWritableStorageService, CheckpointStorage>`
makeAttachmentStorage | `fun makeAttachmentStorage(dir: Path): NodeAttachmentService`
makeIdentityService | `open fun makeIdentityService(): IdentityService`
makeInterestRatesOracleService | `open fun makeInterestRatesOracleService(): Unit`
makeMessagingService | `abstract fun makeMessagingService(): MessagingService`
makeNetworkMapService | `open fun makeNetworkMapService(): Unit`
makeNotaryService | `open fun makeNotaryService(type: ServiceType): Unit`
noNetworkMapConfigured | `open fun noNetworkMapConfigured(): <ERROR CLASS><Unit>` This is overriden by the mock node implementation to enable operation without any network map service
setup | `open fun setup(): AbstractNode` Run any tasks that are needed to ensure the node is in a correct state before running start()
start | `open fun start(): AbstractNode`
startMessagingService | `abstract fun startMessagingService(): Unit`
stop | `open fun stop(): Unit`

### Companion Object Properties

PRIVATE_KEY_FILE_NAME | `val PRIVATE_KEY_FILE_NAME: String`
PUBLIC_IDENTITY_FILE_NAME | `val PUBLIC_IDENTITY_FILE_NAME: String`

### Inheritors

MockNode | `class MockNode : AbstractNode`
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.