Crate solana [] [src]

Modules

accountant

The accountant module tracks client balances, and the progress of pending transactions. It offers a high-level public API that signs transactions on behalf of the caller, and a private low-level API for when they have already been signed and verified.

accountant_skel

The accountant_skel module is a microservice that exposes the high-level Accountant API to the network. Its message encoding is currently in flux. Clients should use AccountantStub to interact with it.

accountant_stub

The accountant_stub module is a client-side object that interfaces with a server-side Accountant object via the network interface exposed by AccountantSkel. Client code should use this object instead of writing messages to the network directly. The binary encoding of its messages are unstable and may change in future releases.

crdt

The crdt module defines a data structure that is shared by all the nodes in the network over a gossip control plane. The goal is to share small bits of of-chain information and detect and repair partitions.

ecdsa
entry

The entry module is a fundamental building block of Proof of History. It contains a unique ID that is the hash of the Entry before it, plus the hash of the transactions within it. Entries cannot be reordered, and its field num_hashes represents an approximate amount of time since the last Entry was created.

event

The event module handles events, which may be a Transaction, or a Witness used to process a pending Transaction.

hash

The hash module provides functions for creating SHA-256 hashes.

historian

The historian module provides a microservice for generating a Proof of History. It manages a thread containing a Proof of History Recorder.

ledger

The ledger module provides functions for parallel verification of the Proof of History ledger.

mint

The mint module is a library for generating the chain's genesis block.

packet

The packet module defines data structures and methods to pull data from the network.

plan

The plan module provides a domain-specific language for payment plans. Users create Plan objects that are given to an interpreter. The interpreter listens for Witness events, which it uses to reduce the payment plan. When the plan is reduced to a Payment, the payment is executed.

recorder

The recorder module provides an object for generating a Proof of History. It records Event items on behalf of its users. It continuously generates new hashes, only stopping to check if it has been sent an Event item. It tags each Event with an Entry, and sends it back. The Entry includes the Event, the latest hash, and the number of hashes since the last event. The resulting stream of entries represents ordered events in time.

result

The result module exposes a Result type that propagates one of many different Error types.

signature

The signature module provides functionality for public, and private keys.

streamer

The streamer module defines a set of services for effecently pulling data from udp sockets.

subscribers

The subscribers module defines data structures to keep track of nodes on the network. The network is arranged in layers:

transaction

The transaction module provides functionality for creating log transactions.