System Architecture

Bitcoind

External (p2p network):

  • discovers and connects to other nodes
  • send and receive messages to and from other nodes

Internal:

  • exposes RPC to pool software and to mAPI
  • optional REST Interface can be enabled

Pool Software

External (stratum protocol):

  • exposed API for ASIC Miners to connect and start mining block headers
  • send jobs to ASIC Miners
  • receive valid shares or valid block headers

Internal (MinerID):

  • request coinbase document from MinerID in order to include it in coinbase transaction
  • receive signed coinbase document (or coinbase2) from MinerID

mAPI

External (mAPI public interface):

  • expose mAPI calls to the public to advertise fee quote as well as receive transactions
  • accept callback registrations for event notifications
  • respond with fee quote and transaction responses (and Merkle Proofs)

Internal (Bitcoind RPC):

  • connect to Bitcoind RPC to submit transactions
  • receive transaction response (eg. txid)
  • provide event notifications for double spends and Merkle Proofs.