Module 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 = {
  1. id : Internal_pervasives.string;
  2. kind : Protocol_kind.t;
  3. bootstrap_accounts : (Account.t * Flexmasa.Internal_pervasives.Int64.t) Internal_pervasives.list;
  4. dictator : Account.t;
  5. expected_pow : Internal_pervasives.int;
  6. name : Internal_pervasives.string;
  7. hash : Internal_pervasives.string;
  8. time_between_blocks : Internal_pervasives.int Internal_pervasives.list;
  9. baking_reward_per_endorsement : Internal_pervasives.int Internal_pervasives.list;
  10. endorsement_reward : Internal_pervasives.int Internal_pervasives.list;
  11. blocks_per_roll_snapshot : Internal_pervasives.int;
  12. blocks_per_voting_period : Internal_pervasives.int;
  13. blocks_per_cycle : Internal_pervasives.int;
  14. preserved_cycles : Internal_pervasives.int;
  15. proof_of_work_threshold : Internal_pervasives.int64;
  16. timestamp_delay : Internal_pervasives.int Internal_pervasives.option;
  17. 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 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.

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).