core.node.services

Package core.node.services

Types

AbstractNodeService abstract class AbstractNodeService

Abstract superclass for services that a node can host, which provides helper functions.

AttachmentStorage interface AttachmentStorage

An attachment store records potentially large binary objects, identified by their hash. Note that attachments are immutable and can never be erased once inserted

DummyTimestampingAuthority object DummyTimestampingAuthority
IdentityService interface IdentityService

An identity service maintains an bidirectional map of Partys to their associated public keys and thus supports lookup of a party given its key. This is obviously very incomplete and does not reflect everything a real identity service would provide.

InMemoryNetworkMapService class InMemoryNetworkMapService : NetworkMapService, AbstractNodeService
NetworkMapService interface NetworkMapService

A network map contains lists of nodes on the network along with information about their identity keys, services they provide and host names or IP addresses where they can be connected to. This information is cached locally within nodes, by the NetworkMapCache. Currently very basic consensus controls are applied, using signed changes which replace each other based on a serial number present in the change.

NodeAttachmentService class NodeAttachmentService : AttachmentStorage, AcceptsFileUpload

Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.

NodeInterestRates object NodeInterestRates

An interest rates service is an oracle that signs transactions which contain embedded assertions about an interest rate fix (e.g. LIBOR, EURIBOR ...).

NodeRegistration class NodeRegistration

A node registration state in the network map.

NodeTimestamperService class NodeTimestamperService : AbstractNodeService

This class implements the server side of the timestamping protocol, using the local clock. A future version might add features like checking against other NTP servers to make sure the clock hasnt drifted by too much.

RegulatorService interface RegulatorService

Placeholder interface for regulator services.

ServiceType abstract class ServiceType

Identifier for service types a node can expose over the network to other peers. These types are placed into network map advertisements. Services that are purely local and are not providing functionality to other parts of the network dont need a declared service type.

TimestamperService interface TimestamperService

Simple interface (for testing) to an abstract timestamping service. Note that this is not "timestamping" in the blockchain sense of a total ordering of transactions, but rather, a signature from a well known/trusted timestamping service over a transaction that indicates the timestamp in it is accurate. Such a signature may not always be necessary: if there are multiple parties involved in a transaction then they can cross-check the timestamp themselves.

WireNodeRegistration class WireNodeRegistration : SignedData<NodeRegistration>

A node registration and its signature as a pair.

Exceptions

NodeMapError sealed class NodeMapError : Exception
TimestampingError sealed class TimestampingError : Exception