[][src]Crate exonum_node

Exonum node that handles consensus algorithm, interaction with other nodes and external clients.

Overview

This crate contains the following APIs:

  • Node encapsulates a full-fledged Exonum node
  • NodeChannel and ShutdownHandle allow to interact with the node (mind that NodeChannel is relatively low-level)
  • Configuration types, "rooted" in NodeConfig, allow to configure aspects of the Node behavior

There are also some types / methods excluded from the docs, but they are hidden for a reason: such APIs are considered an implementation detail and are exempt from semantic versioning. (In other words, these APIs may change or be removed in any release without prior warning.)

Modules

helpers

Helpers for an Exonum node.

proposer

Utilities allowing to customize proposal creation logic for an Exonum node.

Structs

ConnectInfo

Data needed to connect to a peer node.

ConnectListConfig

Stores mapping between IP addresses / domain names and public keys.

EventsPoolCapacity

Events pool capacities.

MemoryPoolConfig

Memory pool configuration parameters.

NetworkConfiguration

P2P network configuration of an Exonum node.

Node

Node capable of processing requests from external clients and participating in the consensus algorithm.

NodeApiConfig

HTTP API configuration options.

NodeBuilder

Builder for Node.

NodeChannel

Channel between the node and external event producers / consumers.

NodeConfig

Configuration for the Node.

PluginApiContext

Context supplied to a node plugin in wire_api method.

ServerRestartPolicy

HTTP server restart policy.

SharedNodeState

Shared part of the context, used to take some values from the Node. As there is no way to directly access the node state, this entity is regularly updated with information about the node and transfers this information to API.

ShutdownHandle

Handle allowing to shut down the node.

Enums

ExternalMessage

External messages sent to the node.

FlushPoolStrategy

Strategy to flush transactions into the pool.

Traits

ConfigManager

Interface of the configuration manager usable for updating node configuration on the fly.

NodePlugin

Plugin for Exonum node.