Flexmasa.Mavryk_protocol
Create and manipulate bootstrap-parameters and accounts.
module Key : sig ... end
Manipulate public/private key pairs.
module Account : sig ... end
An account is a named key-pair.
module Voting_period : sig ... end
module Protocol_kind : sig ... end
type t = {
id : Internal_pervasives.string;
kind : Protocol_kind.t;
bootstrap_accounts : (Account.t * Flexmasa.Internal_pervasives.Int64.t)
Internal_pervasives.list;
dictator : Account.t;
expected_pow : Internal_pervasives.int;
name : Internal_pervasives.string;
hash : Internal_pervasives.string;
time_between_blocks : Internal_pervasives.int Internal_pervasives.list;
baking_reward_per_endorsement : Internal_pervasives.int
Internal_pervasives.list;
endorsement_reward : Internal_pervasives.int Internal_pervasives.list;
blocks_per_roll_snapshot : Internal_pervasives.int;
blocks_per_voting_period : Internal_pervasives.int;
blocks_per_cycle : Internal_pervasives.int;
preserved_cycles : Internal_pervasives.int;
proof_of_work_threshold : Internal_pervasives.int64;
timestamp_delay : Internal_pervasives.int Internal_pervasives.option;
custom_protocol_parameters : Ezjsonm.t Internal_pervasives.option;
}
t
wraps bootstrap parameters for sandboxed protocols.
val compare : t -> t -> Internal_pervasives.int
val default : Internal_pervasives.unit -> t
val protocol_parameters_json : t -> Ezjsonm.t
val sandbox : t -> Internal_pervasives.string
val protocol_parameters : t -> Internal_pervasives.string
val voting_period_to_string :
t ->
Voting_period.t ->
Internal_pervasives.string
val expected_pow : t -> Internal_pervasives.int
val id : t -> Internal_pervasives.string
val bootstrap_accounts : t -> Account.t Internal_pervasives.list
val kind : t -> Protocol_kind.t
val dictator_name : t -> Internal_pervasives.string
val dictator_secret_key : t -> Internal_pervasives.string
val sandbox_path : < paths : Paths.t.. > -> t -> Internal_pervasives.string
val protocol_parameters_path :
< paths : Paths.t.. > ->
t ->
Internal_pervasives.string
val ensure_script :
< paths : Paths.t.. > ->
t ->
Internal_pervasives.unit Genspio.Language.t
Build a Genspio
.EDSL.t script which generates the bootstrap-parameters JSON file.
val ensure :
< application_name : Internal_pervasives.string
; paths : Paths.t
; runner : Running_processes.State.t.. > ->
t ->
(Internal_pervasives.unit,
[> Internal_pervasives.System_error.t
| Internal_pervasives.Process_result.Error.t ])
Internal_pervasives.Asynchronous_result.t
Run the script created by ensure_script
, i.e. create the JSON bootstrap parameters.
val cli_term :
< manpager : Internal_pervasives.Manpage_builder.State.t.. > ->
t Cmdliner.Term.t
Create a Cmdliner
term which configures protocol-parameters (e.g. options like "--time-between-blocks"
).
module Pretty_print : sig ... end
Pretty-printers for protocol-dependent things (e.g. RPC JSON blobs).