This module contains several class types used to provide I/O services for the client, the wallet, etc.

This interface is independent of the backend. This is intended for the client library code, so it can be independent of the backend. The client, and each other client-like systems (wallet apps, in-browser widgets, etc.), are responsible for providing a backend-specific implementation.

To find examples on how these methods are called, you can have a look at

  • src/bin_client/
  • src/lib_client_base/
  • src/lib_client_base_unix/
type ('a, 'b) lwt_format = ('a, Format.formatter, unit, 'b Lwt.t) format4
class type printer = object ... end

printer is a class for objects that provide output functions to display information to the end-user.

class type prompter = object ... end

prompter is a class of objects that provide input functions to request data from the end-user, whether normal inputs or passwords.

class type io = object ... end
class type wallet = object ... end

Operations on the wallet.

class type chain = object ... end

Accessor on the chain.

class type block = object ... end

Operations on blocks.

class type io_wallet = object ... end

Primitives for input, output and wallet. The general organisation of the code in this module is to provide small classes that are also combined into bigger classes. It allows different client library functions to only depend on some features, but not all, so that these functions can be used in places that only have access to these features.

class type io_rpcs = object ... end

Primitives for input, output and RPCs.

class type ui = object ... end

User interface related operations.

class type ux_options = object ... end

User experience options.

class type full = object ... end

A comprehensive class type gathering the above class types, that is used for #Protocol_client_context.full.

class simple_printer : (string -> string -> unit Lwt.t) -> printer

A simple printer can be used to implement a printer as it is done in class Client_context_unix.unix_logger.

val null_printer : printer