Library
Module
Module type
Parameter
Class
Class type
OCaml interface to the official Bitcoin client API.
type txoutput_t = txid_t * int
type assoc_t = (string * Yojson.Safe.t) list
type conn_t = {
inet_addr : Unix.inet_addr;
host : string;
port : int;
username : string;
password : string;
}
module type HTTPCLIENT = sig ... end
Interface that any module offering HTTP POST client calls must obey. Note that the module may require POST calls to be wrapped under a custom monad, which must also be provided (use the identity monad if no actual monad is required).
module type CONNECTION = sig ... end
Module encapsulating all connection information.
module type ENGINE = sig ... end
Actual engine offering the Bitcoin API.
val amount_of_float : float -> amount_t
Converts a BTC quantity expressed as a float
into its amount_t
representation.
val float_of_amount : amount_t -> float
Converts a BTC quantity expressed as an amount_t
into its float
representation.
module Make
(Httpclient : HTTPCLIENT)
(Connection : CONNECTION) :
ENGINE with type 'a monad_t = 'a Httpclient.Monad.t
Functor that takes a concrete implementation of a HTTPCLIENT
and actual CONNECTION
information, and creates a module with signature ENGINE
offering an API for communicating with a Bitcoin client.