Crate solana [] [src]

Modules

accountant

The Accountant 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 AccountantSkel is a microservice that exposes the high-level Accountant API to the network. Its message encoding is currently in flux. Clients should AccountantStub to interact with it.

accountant_stub

A AccountantStub is 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.

entry

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

event

An Event may be a Transaction or a Witness used to process a pending Transaction.

hash

A module for creating SHA-256 hashes.

historian

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

ledger

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

mint

A library for generating the chain's genesis block.

plan

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

Exposes a Result type that propagates one of many different Error types.

signature

The signature module provides functionality for public and private keys

streamer

A module for efficient batch processing of UDP packets.

transaction

The transaction module provides functionality for creating log transactions.