core.node / 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, timestamperAddress: LegallyIdentifiableNode?)` 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>`
configuration | `val configuration: NodeConfiguration`
contractFactory | `val contractFactory: ContractFactory`
dir | `val dir: Path`
identity | `lateinit var identity: IdentityService`
inNodeTimestampingService | `var inNodeTimestampingService: NodeTimestamperService?`
keyManagement | `lateinit var keyManagement: E2ETestKeyManagementService`
legallyIdentifableAddress | `val legallyIdentifableAddress: LegallyIdentifiableNode`
log | `abstract val log: <ERROR CLASS>`
net | `lateinit var net: MessagingService`
serverThread | `open val serverThread: ExecutorService`
services | `val services: ServiceHub`
servicesThatAcceptUploads | `val servicesThatAcceptUploads: List<AcceptsFileUpload>`
smm | `lateinit var smm: StateMachineManager`
storage | `lateinit var storage: StorageService`
timestamperAddress | `val timestamperAddress: LegallyIdentifiableNode?`
wallet | `lateinit var wallet: WalletService`

### Functions

constructStorageService | `open fun constructStorageService(attachments: NodeAttachmentService, keypair: KeyPair, identity: Party, contractFactory: ContractFactory): StorageServiceImpl`
initialiseStorageService | `open fun initialiseStorageService(dir: Path): StorageService`
makeIdentityService | `open fun makeIdentityService(): IdentityService`
makeInterestRateOracleService | `fun makeInterestRateOracleService(): Unit`
makeMessagingService | `abstract fun makeMessagingService(): MessagingService`
start | `open fun start(): AbstractNode`
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

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.