Skip to main content

Crate starfish_config

Crate starfish_config 

Source

Structs§

AdmissionParameters
Per-peer, per-RPC concurrency caps for the inbound consensus gRPC server.
Authority
Represents one authority in the committee.
AuthorityIndex
Each authority is uniquely identified by its AuthorityIndex in the Committee. AuthorityIndex is between 0 (inclusive) and the total number of authorities (exclusive) limited by u8 to 255.
AuthorityKeyPair
AuthorityPublicKey
Authority key represents the identity of an authority. It is only used for identity sanity checks and not used for verification.
Blake3Hasher
Committee
Committee is the set of authorities that participate in the consensus protocol for this epoch. Its configuration is stored and computed on chain. It has at most MAX_COMMITTEE_SIZE (255) authorities.
DefaultHashFunctionWrapper
NetworkKeyPair
NetworkPrivateKey
NetworkPublicKey
Network key is used for TLS and as the network identity of the authority.
Parameters
Operational configurations of a consensus authority.
ProtocolKeyPair
ProtocolKeySignature
ProtocolPublicKey
Protocol key is used for signing blocks and verifying block signatures.
TonicParameters

Constants§

COMMITS_PER_FETCH_CEILING
Ceiling on the commits a commit-sync fetch may request, for regular and fast commit sync alike. A client requests at most its own commit_sync_batch_size or fast_commit_sync_batch_size commits, both validated against this at startup. Enforced while decoding each response message, before its entries are materialised.
DIGEST_LENGTH
HEADERS_PER_FETCH_CEILING
Ceiling on the headers a fetch response may carry, for header sync and commit sync alike. The server truncates its response to its own max_headers_per_header_sync_fetch or max_headers_per_commit_sync_fetch, both validated against this at startup, so a client can reject a response past it as misbehaviour while still accepting a peer configured above its own cap. Enforced while decoding each response message, before its entries are materialised.
INTENT_MESSAGE_LENGTH
MAX_COMMITTEE_SIZE
Maximum number of authorities in a committee. A block header stores the end of its ancestor list, up to one ancestor per authority, as a u8.
MAX_HEADERS_OR_SHARDS_PER_BUNDLE
Ceiling on the number of headers, and on the number of shards, a bundle may declare. Enforced while decoding, before the entries are materialised, so a peer cannot make the decoder build a vector far larger than the configured caps allow it to keep. Both caps are validated against it at startup.
TRANSACTIONS_PER_FETCH_CEILING
Ceiling on the transaction entries a fetch request or response may carry, for transaction sync and regular commit sync alike. A client requests at most its own max_transactions_per_transaction_sync_fetch or max_transactions_per_commit_sync_fetch, both validated against this at startup, and the server returns at most one entry per requested reference. Enforced while decoding each message, before its entries are materialised.

Functions§

local_committee_and_keys
Creates a committee for local testing, and the corresponding key pairs for the authorities.

Type Aliases§

DefaultHashFunction
Fast hash function (Blake3) for consensus-related operations. Since transactions are encoded, their serializations are increased by approximately three times, making Blake3’s higher throughput beneficial for overall performance.
Epoch
Committee of the consensus protocol is updated each epoch.
Stake
Voting power of an authority, roughly proportional to the actual amount of IOTA staked by the authority. Total stake / voting power of all authorities should sum to 10,000.