chainlib

Generic blockchain access library and tooling
Info | Log | Files | Refs | README | LICENSE

intro.texi (1101B)


      1 @chapter Overview
      2 
      3 Chainlib is an attempt at employing a universal interface to manipulate and access blockchains regardless of underlying architecture.
      4 
      5 It makes the following assumptions:
      6 
      7 @itemize
      8 @item A block MUST have a interpretable serializable format, and contains zero of more transactions
      9 @item A transaction MUST have a interpretable serializable format
     10 @item A transaction MUST have a nonce associated with a sender address. This uniquely identifies the transaction on the network.
     11 @item A transaction MUST have a fee bid to get the transaction executed on the network (a network that does not care about bids can just ignore this property).
     12 @item A transaction signature MAY be locked to a particular chain identifier
     13 @item The sender key of a transaction MAY be recovered by the signature of the transaction
     14 @end itemize
     15 
     16 Chainlib is specifically designed for building command line interface tools. It provides templates for handling configuration, argument parsing and environment variable processing to build RPC connections to chain nodes for network queries and signing operations.