Mavryk_proxy.Light
Code related to the light mode that is protocol-independent. See src/proto_*/lib_client/light.ml
files for protocol-dependent code.
type sources_config = private {
min_agreement : float;
A float between 0 (exclusive) and 1 (inclusive), representing the minimum ratio of endpoints that must agree on data for said data to be accepted. 1 means "require all enpoints to agree" (the default).
*)uris : Uri.t list;
The list of endpoint URIs used for Light mode consensus. This list must contain at least 2 endpoints (one for data retrieval, one for check).
*)}
See mk_sources_config
smart constructor to build values.
type sources = private {
min_agreement : float;
A float between 0 (exclusive) and 1 (inclusive), representing the minimum ratio of endpoints that must agree on data for said data to be accepted. 1 means "require all enpoints to agree" (the default).
*)endpoints : (Uri.t * Mavryk_rpc.Context.simple) list;
The list of endpoint URIs used for Light mode consensus. This list must contain at least 2 endpoints (one for data retrieval, one for check).
*)}
See sources_config_to_sources
to build values.
val destruct_sources_config :
Mavryk_base.TzPervasives.Data_encoding.json ->
(sources_config, string) Stdlib.result
Ad-hoc type safe JSON parsing function until json-data-encoding
library provides a result
-returning alternative.
val sources_config_to_uris : sources_config -> Uri.t list
sources_config_to_uris sources
returns the Uri
s contained * in sources
.
val sources_config_to_sources :
(Uri.t -> Mavryk_rpc.Context.simple) ->
sources_config ->
sources
sources_config_to_sources f config
transforms the value config
(which was obtained by parsing the CLI) into a value used by core algorithms of the light mode.
val hash_of_block :
Mavryk_shell_services.Block_services.block ->
Mavryk_base.TzPervasives.Block_hash.t option
None
if the given block is symbolic, otherwise its concrete hash.