pub struct Configuration {Show 38 fields
pub environment: ExecutionEnvironment,
pub cardano_cli_path: PathBuf,
pub cardano_node_socket_path: PathBuf,
pub cardano_node_version: String,
pub network_magic: Option<u64>,
pub network: String,
pub chain_observer_type: ChainObserverType,
pub protocol_parameters: ProtocolParameters,
pub snapshot_uploader_type: SnapshotUploaderType,
pub snapshot_bucket_name: Option<String>,
pub snapshot_use_cdn_domain: bool,
pub server_ip: String,
pub server_port: u16,
pub run_interval: u64,
pub db_directory: PathBuf,
pub snapshot_directory: PathBuf,
pub data_stores_directory: PathBuf,
pub genesis_verification_key: HexEncodedGenesisVerificationKey,
pub reset_digests_cache: bool,
pub disable_digests_cache: bool,
pub store_retention_limit: Option<usize>,
pub era_reader_adapter_type: EraReaderAdapterType,
pub era_reader_adapter_params: Option<String>,
pub signed_entity_types: Option<String>,
pub snapshot_compression_algorithm: CompressionAlgorithm,
pub zstandard_parameters: Option<ZstandardCompressionParameters>,
pub cexplorer_pools_url: Option<String>,
pub signer_importer_run_interval: u64,
pub allow_unparsable_block: bool,
pub cardano_transactions_prover_cache_pool_size: usize,
pub cardano_transactions_database_connection_pool_size: usize,
pub cardano_transactions_signing_config: CardanoTransactionsSigningConfig,
pub cardano_transactions_prover_max_hashes_allowed_by_request: usize,
pub cardano_transactions_block_streamer_max_roll_forwards_per_poll: usize,
pub enable_metrics_server: bool,
pub metrics_server_ip: String,
pub metrics_server_port: u16,
pub persist_usage_report_interval_in_seconds: u64,
}
Expand description
Aggregator configuration
Fields§
§environment: ExecutionEnvironment
What kind of runtime environment the configuration is meant to.
cardano_cli_path: PathBuf
Cardano CLI tool path
cardano_node_socket_path: PathBuf
Path of the socket used by the Cardano CLI tool to communicate with the Cardano node
cardano_node_version: String
Cardano node version.
NOTE: This cannot be verified for now (see this issue). This is why it has to be manually given to the Aggregator
network_magic: Option<u64>
Cardano Network Magic number
useful for TestNet & DevNet
network: String
Cardano network
chain_observer_type: ChainObserverType
Cardano chain observer type
protocol_parameters: ProtocolParameters
Protocol parameters
snapshot_uploader_type: SnapshotUploaderType
Type of snapshot uploader to use
snapshot_bucket_name: Option<String>
Bucket name where the snapshots are stored if snapshot_uploader_type is Gcp
snapshot_use_cdn_domain: bool
Use CDN domain to construct snapshot urls if snapshot_uploader_type is Gcp
server_ip: String
Server listening IP
server_port: u16
Server listening port
run_interval: u64
Run Interval is the interval between two runtime cycles in ms
db_directory: PathBuf
Directory of the Cardano node store.
snapshot_directory: PathBuf
Directory to store snapshot
data_stores_directory: PathBuf
Directory to store aggregator data (Certificates, Snapshots, Protocol Parameters, …)
genesis_verification_key: HexEncodedGenesisVerificationKey
Genesis verification key
reset_digests_cache: bool
Should the immutable cache be reset or not
disable_digests_cache: bool
Use the digest caching strategy
store_retention_limit: Option<usize>
Max number of records in stores. When new records are added, oldest records are automatically deleted so there can always be at max the number of records specified by this setting.
era_reader_adapter_type: EraReaderAdapterType
Era reader adapter type
era_reader_adapter_params: Option<String>
Era reader adapter parameters
signed_entity_types: Option<String>
Signed entity types parameters (discriminants names in an ordered, case-sensitive, comma separated list).
The values MithrilStakeDistribution
and CardanoImmutableFilesFull
are prepended
automatically to the list.
snapshot_compression_algorithm: CompressionAlgorithm
Compression algorithm used for the snapshot archive artifacts.
zstandard_parameters: Option<ZstandardCompressionParameters>
Specific parameters when snapshot_compression_algorithm is set to zstandard.
cexplorer_pools_url: Option<String>
Url to CExplorer list of pools to import as signer in the database.
signer_importer_run_interval: u64
Time interval at which the signers in Self::cexplorer_pools_url will be imported (in minutes).
allow_unparsable_block: bool
If set no error is returned in case of unparsable block and an error log is written instead.
Will be ignored on (pre)production networks.
cardano_transactions_prover_cache_pool_size: usize
Cardano transactions prover cache pool size
cardano_transactions_database_connection_pool_size: usize
Cardano transactions database connection pool size
cardano_transactions_signing_config: CardanoTransactionsSigningConfig
Cardano transactions signing configuration
cardano_transactions_prover_max_hashes_allowed_by_request: usize
Maximum number of transactions hashes allowed by request to the prover of the Cardano transactions
cardano_transactions_block_streamer_max_roll_forwards_per_poll: usize
The maximum number of roll forwards during a poll of the block streamer when importing transactions.
enable_metrics_server: bool
Enable metrics server (Prometheus endpoint on /metrics).
metrics_server_ip: String
Metrics HTTP Server IP.
metrics_server_port: u16
Metrics HTTP Server listening port.
persist_usage_report_interval_in_seconds: u64
Time interval at which usage metrics are persisted in event database (in seconds).
Implementations§
source§impl Configuration
impl Configuration
sourcepub fn new_sample() -> Self
pub fn new_sample() -> Self
Create a sample configuration mainly for tests
sourcepub fn get_server_url(&self) -> String
pub fn get_server_url(&self) -> String
Build the server URL from configuration.
sourcepub fn get_network(&self) -> StdResult<CardanoNetwork>
pub fn get_network(&self) -> StdResult<CardanoNetwork>
Check configuration and return a representation of the Cardano network.
sourcepub fn get_sqlite_dir(&self) -> PathBuf
pub fn get_sqlite_dir(&self) -> PathBuf
Return the directory of the SQLite stores. If the directory does not exist, it is created.
sourcepub fn get_snapshot_dir(&self) -> StdResult<PathBuf>
pub fn get_snapshot_dir(&self) -> StdResult<PathBuf>
Return the snapshots directory.
sourcepub fn safe_epoch_retention_limit(&self) -> Option<u64>
pub fn safe_epoch_retention_limit(&self) -> Option<u64>
Same as the store retention limit but will never yield a value lower than 3.
This is in order to avoid pruning data that will be used in future epochs (like the protocol parameters).
sourcepub fn compute_allowed_signed_entity_types_discriminants(
&self,
) -> StdResult<BTreeSet<SignedEntityTypeDiscriminants>>
pub fn compute_allowed_signed_entity_types_discriminants( &self, ) -> StdResult<BTreeSet<SignedEntityTypeDiscriminants>>
Compute the list of signed entity discriminants that are allowed to be processed based on this configuration.
sourcepub fn allow_http_serve_directory(&self) -> bool
pub fn allow_http_serve_directory(&self) -> bool
Check if the HTTP server can serve static directories.
Trait Implementations§
source§impl Clone for Configuration
impl Clone for Configuration
source§fn clone(&self) -> Configuration
fn clone(&self) -> Configuration
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for Configuration
impl Debug for Configuration
source§impl<'de> Deserialize<'de> for Configuration
impl<'de> Deserialize<'de> for Configuration
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Documenter for Configuration
impl Documenter for Configuration
Auto Trait Implementations§
impl Freeze for Configuration
impl RefUnwindSafe for Configuration
impl Send for Configuration
impl Sync for Configuration
impl Unpin for Configuration
impl UnwindSafe for Configuration
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more