OpenCBDC Transaction Processor
|
Project-wide configuration options. More...
#include <config.hpp>
Data Fields | |
size_t | m_stxo_cache_depth {defaults::stxo_cache_depth} |
Depth of the spent transaction cache in the atomizer, in blocks. | |
size_t | m_window_size {defaults::window_size} |
Maximum number of unconfirmed transactions in atomizer-cli. | |
size_t | m_input_count {defaults::input_count} |
Number of inputs in fixed-size transactions from atomizer-cli. | |
size_t | m_output_count {defaults::output_count} |
Number of outputs in fixed-size transactions from atomizer-cli. | |
double | m_invalid_rate {0.0} |
Proportion of invalid transactions sent from atomizer-cli. | |
double | m_fixed_tx_rate {defaults::fixed_tx_rate} |
Proportion of fixed transactions sent from atomizer-cli. | |
size_t | m_shard_completed_txs_cache_size |
The number of completed transactions that each locking shard (2PC) keeps in memory for responding to queries through the read-only endpoint. | |
std::vector< network::endpoint_t > | m_atomizer_endpoints |
List of atomizer endpoints, ordered by atomizer ID. | |
std::vector< network::endpoint_t > | m_archiver_endpoints |
List of archiver endpoints, ordered by archiver ID. | |
std::vector< network::endpoint_t > | m_sentinel_endpoints |
List of sentinel endpoints, ordered by sentinel ID. | |
std::vector< network::endpoint_t > | m_watchtower_client_endpoints |
List of watchtower client endpoints, ordered by watchtower ID. | |
std::vector< network::endpoint_t > | m_watchtower_internal_endpoints |
List of watchtower internal endpoints, ordered by watchtower ID. | |
std::vector< network::endpoint_t > | m_shard_endpoints |
List of shard endpoints, ordered by shard ID. | |
std::vector< network::endpoint_t > | m_atomizer_raft_endpoints |
List of atomizer raft endpoints, ordered by atomizer ID. | |
size_t | m_batch_size {defaults::batch_size} |
Maximum transaction batch size for one log entry in the raft atomizer or one batch in the coordinator. | |
size_t | m_target_block_interval {defaults::target_block_interval} |
Target block creation interval in the atomizer in milliseconds. | |
std::vector< logging::log_level > | m_atomizer_loglevels |
List of atomizer log levels by atomizer ID. | |
int32_t | m_election_timeout_upper |
Raft election timeout upper bound in milliseconds. | |
int32_t | m_election_timeout_lower |
Raft election timeout lower bound in milliseconds. | |
int32_t | m_heartbeat {defaults::heartbeat} |
Raft heartbeat timeout in milliseconds. | |
int32_t | m_snapshot_distance {0} |
Raft snapshot distance, in number of log entries. | |
int32_t | m_raft_max_batch {defaults::raft_max_batch} |
Maximum number of raft log entries to batch into one RPC message. | |
std::vector< logging::log_level > | m_shard_loglevels |
List of shard log levels by shard ID. | |
std::vector< std::string > | m_shard_db_dirs |
List of shard DB paths by shard ID. | |
std::vector< shard_range_t > | m_shard_ranges |
List of shard UHS ID ranges by shard ID. | |
std::optional< privkey_t > | m_seed_privkey |
private key used for initial seed. | |
size_t | m_seed_value {0} |
output value to use for initial seed. | |
size_t | m_seed_from {0} |
starting index for faked input used for initial seed. | |
size_t | m_seed_to {0} |
ending index for faked input used for initial seed. | |
std::vector< logging::log_level > | m_sentinel_loglevels |
List of sentinel log levels by sentinel ID. | |
std::vector< logging::log_level > | m_archiver_loglevels |
List of archiver log levels by archiver ID. | |
std::vector< logging::log_level > | m_watchtower_loglevels |
List of archiver log levels by watchtower ID. | |
std::vector< std::string > | m_archiver_db_dirs |
List of archiver DB paths by archiver ID. | |
bool | m_fixed_tx_mode {false} |
Flag set if m_input_count or m_output_count are greater than zero. | |
bool | m_twophase_mode {false} |
Flag set if the architecture is two-phase commit. | |
std::vector< std::vector< network::endpoint_t > > | m_locking_shard_endpoints |
List of locking shard endpoints, ordered by shard ID then node ID. | |
std::vector< std::vector< network::endpoint_t > > | m_locking_shard_raft_endpoints |
List of locking shard raft endpoints, ordered by shard ID then node ID. | |
std::vector< std::vector< network::endpoint_t > > | m_locking_shard_readonly_endpoints |
List of locking shard read-only endpoints, ordered by shard ID then node ID. | |
std::vector< std::vector< network::endpoint_t > > | m_coordinator_endpoints |
List of coordinator endpoints, ordered by shard ID then node ID. | |
std::vector< std::vector< network::endpoint_t > > | m_coordinator_raft_endpoints |
List of coordinator raft endpoints, ordered by shard ID then node ID. | |
size_t | m_coordinator_max_threads {defaults::coordinator_max_threads} |
Coordinator thread count limit. | |
std::vector< logging::log_level > | m_coordinator_loglevels |
List of coordinator log levels, ordered by coordinator ID. | |
size_t | m_initial_mint_count {defaults::initial_mint_count} |
Number of outputs in the initial mint transaction. | |
size_t | m_initial_mint_value {defaults::initial_mint_value} |
Value for all outputs in the initial mint transaction. | |
size_t | m_watchtower_block_cache_size |
Number of blocks to store in watchtower block caches. | |
size_t | m_watchtower_error_cache_size |
Number of errors to store in watchtower error caches. | |
size_t | m_loadgen_count {0} |
Number of load generators over which to split pre-seeded UTXOs. | |
std::unordered_map< size_t, privkey_t > | m_sentinel_private_keys |
Private keys for sentinels. | |
std::unordered_set< pubkey_t, hashing::null > | m_sentinel_public_keys |
Public keys for sentinels. | |
size_t | m_attestation_threshold {defaults::attestation_threshold} |
Number of sentinel attestations needed for a compact transaction. | |
Project-wide configuration options.
Definition at line 132 of file config.hpp.
std::vector<std::string> cbdc::config::options::m_archiver_db_dirs |
List of archiver DB paths by archiver ID.
Definition at line 208 of file config.hpp.
std::vector<network::endpoint_t> cbdc::config::options::m_archiver_endpoints |
List of archiver endpoints, ordered by archiver ID.
Definition at line 154 of file config.hpp.
std::vector<logging::log_level> cbdc::config::options::m_archiver_loglevels |
List of archiver log levels by archiver ID.
Definition at line 204 of file config.hpp.
std::vector<network::endpoint_t> cbdc::config::options::m_atomizer_endpoints |
List of atomizer endpoints, ordered by atomizer ID.
Definition at line 152 of file config.hpp.
std::vector<logging::log_level> cbdc::config::options::m_atomizer_loglevels |
List of atomizer log levels by atomizer ID.
Definition at line 171 of file config.hpp.
std::vector<network::endpoint_t> cbdc::config::options::m_atomizer_raft_endpoints |
List of atomizer raft endpoints, ordered by atomizer ID.
Definition at line 164 of file config.hpp.
size_t cbdc::config::options::m_attestation_threshold {defaults::attestation_threshold} |
Number of sentinel attestations needed for a compact transaction.
Definition at line 260 of file config.hpp.
Referenced by cbdc::atomizer::atomizer_raft::tx_notify().
size_t cbdc::config::options::m_batch_size {defaults::batch_size} |
Maximum transaction batch size for one log entry in the raft atomizer or one batch in the coordinator.
Definition at line 167 of file config.hpp.
Referenced by cbdc::config::read_raft_options().
std::vector<std::vector<network::endpoint_t> > cbdc::config::options::m_coordinator_endpoints |
List of coordinator endpoints, ordered by shard ID then node ID.
Definition at line 226 of file config.hpp.
std::vector<logging::log_level> cbdc::config::options::m_coordinator_loglevels |
List of coordinator log levels, ordered by coordinator ID.
Definition at line 234 of file config.hpp.
size_t cbdc::config::options::m_coordinator_max_threads {defaults::coordinator_max_threads} |
Coordinator thread count limit.
Definition at line 232 of file config.hpp.
std::vector<std::vector<network::endpoint_t> > cbdc::config::options::m_coordinator_raft_endpoints |
List of coordinator raft endpoints, ordered by shard ID then node ID.
Definition at line 230 of file config.hpp.
int32_t cbdc::config::options::m_election_timeout_lower |
Raft election timeout lower bound in milliseconds.
Definition at line 176 of file config.hpp.
Referenced by cbdc::coordinator::controller::controller(), and cbdc::config::read_raft_options().
int32_t cbdc::config::options::m_election_timeout_upper |
Raft election timeout upper bound in milliseconds.
Definition at line 173 of file config.hpp.
Referenced by cbdc::coordinator::controller::controller(), and cbdc::config::read_raft_options().
bool cbdc::config::options::m_fixed_tx_mode {false} |
Flag set if m_input_count or m_output_count are greater than zero.
Causes the atomizer-cli to send fixed-size transactions.
Definition at line 211 of file config.hpp.
Referenced by cbdc::config::read_loadgen_options().
double cbdc::config::options::m_fixed_tx_rate {defaults::fixed_tx_rate} |
Proportion of fixed transactions sent from atomizer-cli.
Definition at line 144 of file config.hpp.
Referenced by cbdc::config::read_loadgen_options().
int32_t cbdc::config::options::m_heartbeat {defaults::heartbeat} |
Raft heartbeat timeout in milliseconds.
Definition at line 179 of file config.hpp.
Referenced by cbdc::coordinator::controller::controller(), and cbdc::config::read_raft_options().
size_t cbdc::config::options::m_initial_mint_count {defaults::initial_mint_count} |
Number of outputs in the initial mint transaction.
Definition at line 237 of file config.hpp.
Referenced by cbdc::config::read_loadgen_options().
size_t cbdc::config::options::m_initial_mint_value {defaults::initial_mint_value} |
Value for all outputs in the initial mint transaction.
Definition at line 239 of file config.hpp.
Referenced by cbdc::config::read_loadgen_options().
size_t cbdc::config::options::m_input_count {defaults::input_count} |
Number of inputs in fixed-size transactions from atomizer-cli.
Definition at line 138 of file config.hpp.
Referenced by cbdc::config::read_loadgen_options().
double cbdc::config::options::m_invalid_rate {0.0} |
Proportion of invalid transactions sent from atomizer-cli.
Definition at line 142 of file config.hpp.
Referenced by cbdc::config::read_loadgen_options().
size_t cbdc::config::options::m_loadgen_count {0} |
Number of load generators over which to split pre-seeded UTXOs.
Definition at line 251 of file config.hpp.
Referenced by cbdc::config::read_loadgen_options().
std::vector<std::vector<network::endpoint_t> > cbdc::config::options::m_locking_shard_endpoints |
List of locking shard endpoints, ordered by shard ID then node ID.
Definition at line 216 of file config.hpp.
std::vector<std::vector<network::endpoint_t> > cbdc::config::options::m_locking_shard_raft_endpoints |
List of locking shard raft endpoints, ordered by shard ID then node ID.
Definition at line 220 of file config.hpp.
std::vector<std::vector<network::endpoint_t> > cbdc::config::options::m_locking_shard_readonly_endpoints |
List of locking shard read-only endpoints, ordered by shard ID then node ID.
Definition at line 224 of file config.hpp.
size_t cbdc::config::options::m_output_count {defaults::output_count} |
Number of outputs in fixed-size transactions from atomizer-cli.
Definition at line 140 of file config.hpp.
Referenced by cbdc::config::read_loadgen_options().
int32_t cbdc::config::options::m_raft_max_batch {defaults::raft_max_batch} |
Maximum number of raft log entries to batch into one RPC message.
Definition at line 183 of file config.hpp.
Referenced by cbdc::coordinator::controller::controller(), and cbdc::config::read_raft_options().
size_t cbdc::config::options::m_seed_from {0} |
starting index for faked input used for initial seed.
Definition at line 197 of file config.hpp.
std::optional<privkey_t> cbdc::config::options::m_seed_privkey |
private key used for initial seed.
Definition at line 193 of file config.hpp.
size_t cbdc::config::options::m_seed_to {0} |
ending index for faked input used for initial seed.
Definition at line 199 of file config.hpp.
size_t cbdc::config::options::m_seed_value {0} |
output value to use for initial seed.
Definition at line 195 of file config.hpp.
std::vector<network::endpoint_t> cbdc::config::options::m_sentinel_endpoints |
List of sentinel endpoints, ordered by sentinel ID.
Definition at line 156 of file config.hpp.
std::vector<logging::log_level> cbdc::config::options::m_sentinel_loglevels |
List of sentinel log levels by sentinel ID.
Definition at line 202 of file config.hpp.
std::unordered_map<size_t, privkey_t> cbdc::config::options::m_sentinel_private_keys |
Private keys for sentinels.
Definition at line 254 of file config.hpp.
std::unordered_set<pubkey_t, hashing::null> cbdc::config::options::m_sentinel_public_keys |
Public keys for sentinels.
Definition at line 257 of file config.hpp.
Referenced by cbdc::atomizer::atomizer_raft::tx_notify().
size_t cbdc::config::options::m_shard_completed_txs_cache_size |
The number of completed transactions that each locking shard (2PC) keeps in memory for responding to queries through the read-only endpoint.
Definition at line 148 of file config.hpp.
std::vector<std::string> cbdc::config::options::m_shard_db_dirs |
List of shard DB paths by shard ID.
Definition at line 187 of file config.hpp.
std::vector<network::endpoint_t> cbdc::config::options::m_shard_endpoints |
List of shard endpoints, ordered by shard ID.
Definition at line 162 of file config.hpp.
std::vector<logging::log_level> cbdc::config::options::m_shard_loglevels |
List of shard log levels by shard ID.
Definition at line 185 of file config.hpp.
std::vector<shard_range_t> cbdc::config::options::m_shard_ranges |
List of shard UHS ID ranges by shard ID.
Each shard range is inclusive of the start and end of the range.
Definition at line 190 of file config.hpp.
int32_t cbdc::config::options::m_snapshot_distance {0} |
Raft snapshot distance, in number of log entries.
Definition at line 181 of file config.hpp.
Referenced by cbdc::config::read_raft_options().
size_t cbdc::config::options::m_stxo_cache_depth {defaults::stxo_cache_depth} |
Depth of the spent transaction cache in the atomizer, in blocks.
Definition at line 134 of file config.hpp.
size_t cbdc::config::options::m_target_block_interval {defaults::target_block_interval} |
Target block creation interval in the atomizer in milliseconds.
Definition at line 169 of file config.hpp.
bool cbdc::config::options::m_twophase_mode {false} |
Flag set if the architecture is two-phase commit.
Definition at line 213 of file config.hpp.
size_t cbdc::config::options::m_watchtower_block_cache_size |
Number of blocks to store in watchtower block caches.
(0=unlimited). Defaults to 1 hour of blocks.
Definition at line 243 of file config.hpp.
std::vector<network::endpoint_t> cbdc::config::options::m_watchtower_client_endpoints |
List of watchtower client endpoints, ordered by watchtower ID.
Definition at line 158 of file config.hpp.
size_t cbdc::config::options::m_watchtower_error_cache_size |
Number of errors to store in watchtower error caches.
(0=unlimited).
Definition at line 247 of file config.hpp.
std::vector<network::endpoint_t> cbdc::config::options::m_watchtower_internal_endpoints |
List of watchtower internal endpoints, ordered by watchtower ID.
Definition at line 160 of file config.hpp.
std::vector<logging::log_level> cbdc::config::options::m_watchtower_loglevels |
List of archiver log levels by watchtower ID.
Definition at line 206 of file config.hpp.
size_t cbdc::config::options::m_window_size {defaults::window_size} |
Maximum number of unconfirmed transactions in atomizer-cli.
Definition at line 136 of file config.hpp.
Referenced by cbdc::config::read_loadgen_options().