Evm_node_config.Configuration
val pp_supported_network : Stdlib.Format.formatter -> supported_network -> unit
type log_filter_config = {
max_nb_blocks : int;
Maximum block range for get_logs
.
max_nb_logs : int;
Maximum number of logs that get_logs
can return.
chunk_size : int;
Number of blocks that will be filtered in a batch before checking if the bound on produced logs has been reached. See get_logs
for more details.
}
type time_between_blocks =
| Nothing
Does not produce any block if not forced by the private RPC
*)| Time_between_blocks of float
Maximum time interval between blocks. If transactions are present in the tx pool, blocks will be created as soon as possible. However, if there are no transactions to include, a block is produced after time_between_blocks
.
type kernel_execution_config = {
preimages : string;
Path to the preimages directory.
*)preimages_endpoint : Uri.t option;
Endpoint where pre-images can be fetched individually when missing.
*)native_execution_policy : native_execution_policy;
Policy deciding when to use the native execution for supported kernels.
*)}
type blueprints_publisher_config = {
max_blueprints_lag : int;
The maximum advance (in blueprints) the Sequencer accepts to have before trying to send its backlog again.
*)max_blueprints_ahead : int;
The maximum advance (in blueprints) the Sequencer accepts.
*)max_blueprints_catchup : int;
The maximum number of blueprints the Sequencer resends at once.
*)catchup_cooldown : int;
The maximum number of Layer 1 blocks the Sequencer waits after resending its blueprints before trying to catch-up again.
*)dal_slots : int list option;
When set to Some l
, l is the list of DAL slot indices to use to publish blueprints, when set to None
the sequencer is not allowed to use the DAL.
}
type history_mode =
| Archive
Keeps all blocks, operations and states.
*)| Rolling of garbage_collector_parameters
| Full of garbage_collector_parameters
Keep all blocks and transactions. Keep operations and states for a period defined by garbage_collector_parameters
.
val history_mode_partial_eq : history_mode -> history_mode -> bool
Compare history modes and ignore garbage_collector_parameters
RPC server implementation.
Parameters for monitoring websocket connection heartbeats.
val chain_id : supported_network -> Evm_node_lib_dev_encoding.L2_types.chain_id
type l2_chain = {
chain_id : Evm_node_lib_dev_encoding.L2_types.chain_id;
chain_family : Evm_node_lib_dev_encoding.L2_types.ex_chain_family;
}
type websockets_config = {
max_message_length : int;
monitor_heartbeat : monitor_websocket_heartbeat option;
rate_limit : websocket_rate_limit option;
}
type experimental_features = {
drop_duplicate_on_injection : bool;
blueprints_publisher_order_enabled : bool;
enable_send_raw_transaction : bool;
overwrite_simulation_tick_limit : bool;
rpc_server : rpc_server;
spawn_rpc : int option;
l2_chains : l2_chain list option;
enable_tx_queue : tx_queue option;
periodic_snapshot_path : string option;
}
Configuration settings for experimental features, with no backward compatibility guarantees.
type sequencer = {
time_between_blocks : time_between_blocks;
max_number_of_chunks : int;
The maximum number of chunks per blueprints.
*)sequencer : sequencer_key option;
The key used to sign the blueprints.
*)blueprints_publisher_config : blueprints_publisher_config;
sunset_sec : int64;
}
type rpc = {
port : int;
addr : string;
cors_origins : string list;
cors_headers : string list;
max_active_connections : Tezos_rpc_http_server.RPC_server.Max_active_rpc_connections.t;
batch_limit : limit;
restricted_rpcs : restricted_rpcs;
}
type gcp_kms = {
pool_size : int;
authentication_method : gcp_authentication_method;
authentication_retries : int;
authentication_frequency_min : int;
authentication_retry_backoff_sec : int;
authentication_timeout_sec : int;
gcloud_path : string;
}
type t = {
public_rpc : rpc;
private_rpc : rpc option;
websockets : websockets_config option;
log_filter : log_filter_config;
kernel_execution : kernel_execution_config;
sequencer : sequencer;
observer : observer option;
proxy : proxy;
gcp_kms : gcp_kms;
tx_pool_timeout_limit : int64;
tx_pool_addr_limit : int64;
tx_pool_tx_per_addr_limit : int64;
keep_alive : bool;
rollup_node_endpoint : Uri.t;
verbose : Tezos_base.TzPervasives.Internal_event.level;
experimental_features : experimental_features;
fee_history : fee_history;
finalized_view : bool;
history_mode : history_mode option;
db : db;
opentelemetry : Octez_telemetry.Opentelemetry_config.t;
}
val is_tx_queue_enabled : t -> bool
val retrieve_chain_family :
l2_chains:l2_chain list option ->
Evm_node_lib_dev_encoding.L2_types.ex_chain_family
chain_family_from_l2_chains t
returns the chain_family in the experimental feature if there's only one chain.
This function will be removed when multichain is implemented
val history_mode_encoding :
history_mode Tezos_base.TzPervasives.Data_encoding.t
val pp_history_mode_debug : Stdlib.Format.formatter -> history_mode -> unit
val pp_history_mode_info : Stdlib.Format.formatter -> history_mode -> unit
val native_execution_policy_encoding :
native_execution_policy Tezos_base.TzPervasives.Data_encoding.t
val encoding :
?network:supported_network ->
string ->
t Tezos_base.TzPervasives.Data_encoding.t
encoding data_dir
is the encoding of t
based on data dir data_dir
.
If encoding
is passed, some default values are set according to the selected network, for a more straightforward UX.
val rpc_server_encoding : rpc_server Tezos_base.TzPervasives.Data_encoding.t
Encoding for rpc_server
.
val save :
force:bool ->
data_dir:string ->
t ->
string ->
unit Tezos_base.TzPervasives.tzresult Lwt.t
save ~force ~data_dir configuration config_file
writes the config_file
file. If force
is true
, existing configurations are overwritten.
val load_file :
?network:supported_network ->
data_dir:string ->
string ->
t Tezos_base.TzPervasives.tzresult Lwt.t
val load :
?network:supported_network ->
data_dir:string ->
string ->
t Tezos_base.TzPervasives.tzresult Lwt.t
load ~data_dir config_file
loads the configuration stored in config_file
with preimage directory relative to data_dir
.
val sequencer_key : t -> sequencer_key Tezos_base.TzPervasives.tzresult
sequencer_key config
returns the key the sequencer should use, or fails.
val gcp_key_from_string_opt : string -> gcp_key option
val observer_config_exn : t -> observer Tezos_base.TzPervasives.tzresult
observer_config_exn config
returns the observer config of config
or fails
val observer_config_dft :
evm_node_endpoint:Uri.t ->
?rollup_node_tracking:bool ->
unit ->
observer
observer_config_dft ()
returns the default observer config populated with given value.
val make_pattern_restricted_rpcs : string -> restricted_rpcs
val string_of_history_mode_debug : history_mode -> string
val string_of_history_mode_info : history_mode -> string
val history_mode_of_string_opt : string -> history_mode option
val gc_param_from_retention_period : days:int -> garbage_collector_parameters
retention ~days
returns the GC parameters to retain days
of history when provided or the default otherwise.
val default_history_mode : history_mode
module Cli : sig ... end
val time_between_blocks_encoding :
time_between_blocks Tezos_base.TzPervasives.Data_encoding.t
val pp_time_between_blocks :
Stdlib.Format.formatter ->
time_between_blocks ->
unit
describe ()
prints the JSON schema of the configuration file to the standard output.
val pp_print_json : data_dir:string -> Stdlib.Format.formatter -> t -> unit
val observer_evm_node_endpoint : supported_network -> string
val default_gcp_kms : gcp_kms