Browse Source

Tweak documentation for clarity

master
Neil Booth 8 years ago
parent
commit
038d9a9720
  1. 25
      docs/ARCHITECTURE.rst

25
docs/ARCHITECTURE.rst

@ -31,14 +31,17 @@ Handles JSON Electrum client connections over TCP or SSL. One
instance per client session. Should be the only component concerned instance per client session. Should be the only component concerned
with the details of the Electrum wire protocol. with the details of the Electrum wire protocol.
Not started until the block processor has caught up with the daemon. Not started until the Block Processor has caught up with bitcoind.
Daemon Daemon
------ ------
Encapsulates the RPC wire protcol with bitcoind for the whole server. Encapsulates the RPC wire protcol with bitcoind for the whole server.
Transparently handles temporary daemon errors, and fails over if Transparently handles temporary bitcoind connection errors, and fails
necessary. over if necessary.
Notifies the Mempool when the list of mempool transaction hashes is
updated.
Block Processor Block Processor
@ -49,7 +52,7 @@ transaction and undo information) and for handling block chain
reorganisations. reorganisations.
When caught up, processes new blocks as they are found, and flushes When caught up, processes new blocks as they are found, and flushes
the updates to the database immediately. the updates to the Database immediately.
When syncing uses caches for in-memory state updates since the prior When syncing uses caches for in-memory state updates since the prior
flush. Occasionally flushes state to the storage layer when caches flush. Occasionally flushes state to the storage layer when caches
@ -58,10 +61,10 @@ get large.
Prefetcher Prefetcher
---------- ----------
Cooperates with the block processor to asynchronously prefetch blocks Cooperates with the Block Processor to asynchronously prefetch blocks
from bitcoind. Once it has caught up it additionally requests mempool from bitcoind. Once it has caught up it additionally asks the Daemon
transaction hashes from bitcoind. Serves blocks to the block to refresh its view of bitcoind's mempool transaction hashes. Serves
processor via a queue, and the mempool hashes to the Mempool object. blocks to the Block Processor via a queue.
Mempool Mempool
------- -------
@ -70,14 +73,14 @@ Handles all the details of maintaining a representation of bitcoind's
mempool state. Obtains the list of current mempool transaction hashes mempool state. Obtains the list of current mempool transaction hashes
from the Daemon when notified by the Prefetcher. from the Daemon when notified by the Prefetcher.
Notifies the controller that addresses have been touched when the Notifies the Controller that addresses have been touched when the
mempool refreshes (or implicitly when a new block is found). mempool refreshes (or implicitly when a new block is found).
Database Database
-------- --------
The database. Flushed chain state is stored in the DB backend, such The underlying data store, made up of the DB backend (such as
as leveldb, along with metadata on the host filesystem. `leveldb`) and the host filesystem.
IRC IRC
--- ---

Loading…
Cancel
Save