diff --git a/docs/ARCHITECTURE.rst b/docs/ARCHITECTURE.rst index 2701d83..6ac192d 100644 --- a/docs/ARCHITECTURE.rst +++ b/docs/ARCHITECTURE.rst @@ -1,5 +1,5 @@ -Components -========== +Architecture +============ .. image:: https://docs.google.com/drawings/d/1Su_DR2c8__-4phm12hAzV65fL2tNm_1IhKr4XivkW6Q/pub?w=720&h=540 :target: https://docs.google.com/drawings/d/1Su_DR2c8__-4phm12hAzV65fL2tNm_1IhKr4XivkW6Q/pub?w=960&h=720 diff --git a/docs/RPC-INTERFACE.rst b/docs/RPC-INTERFACE.rst index 83cc13e..2e932ea 100644 --- a/docs/RPC-INTERFACE.rst +++ b/docs/RPC-INTERFACE.rst @@ -1,5 +1,5 @@ -The ElectrumX RPC Interface -=========================== +RPC Interface +============= You can query the status of a running server, and affect its behaviour by sending JSON RPC commands to the LocalRPC port it is listening on. diff --git a/docs/conf.py b/docs/conf.py index dbacfb2..46487af 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -20,7 +20,7 @@ # -- Project information ----------------------------------------------------- project = 'ElectrumX' -copyright = '2018, Neil Booth' +copyright = '2016-2018, Neil Booth' author = 'Neil Booth' # The short X.Y version @@ -80,7 +80,14 @@ html_theme = 'alabaster' # further. For a list of options available for each theme, see the # documentation. # -# html_theme_options = {} +html_theme_options = { + 'description': 'Lightweight Electrum Server in Python', + 'github_user': 'kyuupichan', + 'github_repo': 'electrumx', + 'github_button': True, + 'github_type': 'star', + 'github_banner': True, +} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, @@ -94,9 +101,12 @@ html_static_path = ['_static'] # defined by theme itself. Builtin themes are using these templates by # default: ``['localtoc.html', 'relations.html', 'sourcelink.html', # 'searchbox.html']``. -# -# html_sidebars = {} +html_sidebars = { + '**': [ + 'about.html', 'navigation.html', 'searchbox.html', + ] +} # -- Options for HTMLHelp output --------------------------------------------- @@ -152,4 +162,4 @@ texinfo_documents = [ (master_doc, 'ElectrumX', 'ElectrumX Documentation', author, 'ElectrumX', 'One line description of project.', 'Miscellaneous'), -] \ No newline at end of file +] diff --git a/docs/features.rst b/docs/features.rst new file mode 100644 index 0000000..d158592 --- /dev/null +++ b/docs/features.rst @@ -0,0 +1,26 @@ +Features +======== + +- Efficient, lightweight reimplementation of electrum-server +- Fast synchronization of bitcoin mainnet from Genesis. Recent + hardware should synchronize in well under 24 hours. The fastest + time to height 448k (mid January 2017) reported is under 4h 30m. On + the same hardware JElectrum would take around 4 days and + electrum-server probably around 1 month. +- The full current Electrum protocol is implemented. +- Various configurable means of controlling resource consumption and + handling denial of service attacks. These include maximum + connection counts, subscription limits per-connection and across all + connections, maximum response size, per-session bandwidth limits, + and session timeouts. +- Minimal resource usage once caught up and serving clients; tracking the + transaction mempool appears to be the most expensive part. +- Fully asynchronous processing of new blocks, mempool updates, and + client requests. Busy clients should not noticeably impede other + clients' requests and notifications, nor the processing of incoming + blocks and mempool updates. +- Daemon failover. More than one daemon can be specified, and + ElectrumX will failover round-robin style if the current one fails + for any reason. +- Peer discovery protocol removes need for IRC +- Coin abstraction makes compatible altcoin and testnet support easy. diff --git a/docs/index.rst b/docs/index.rst index 4564cf6..6d5a4a3 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,17 +1,12 @@ -.. ElectrumX documentation master file, created by - sphinx-quickstart on Mon Mar 5 22:39:16 2018. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. +========= +ElectrumX +========= .. image:: https://travis-ci.org/kyuupichan/electrumx.svg?branch=master :target: https://travis-ci.org/kyuupichan/electrumx .. image:: https://coveralls.io/repos/github/kyuupichan/electrumx/badge.svg :target: https://coveralls.io/github/kyuupichan/electrumx -========= -ElectrumX -========= - A reimplementation of Electrum-Server for a future with bigger blocks. :Licence: MIT @@ -32,43 +27,14 @@ available . .. _Dockerfile: https://github.com/lukechilds/docker-electrumx -Features -======== - -- Efficient, lightweight reimplementation of electrum-server -- Fast synchronization of bitcoin mainnet from Genesis. Recent - hardware should synchronize in well under 24 hours. The fastest - time to height 448k (mid January 2017) reported is under 4h 30m. On - the same hardware JElectrum would take around 4 days and - electrum-server probably around 1 month. -- The full current Electrum protocol is implemented. -- Various configurable means of controlling resource consumption and - handling denial of service attacks. These include maximum - connection counts, subscription limits per-connection and across all - connections, maximum response size, per-session bandwidth limits, - and session timeouts. -- Minimal resource usage once caught up and serving clients; tracking the - transaction mempool appears to be the most expensive part. -- Fully asynchronous processing of new blocks, mempool updates, and - client requests. Busy clients should not noticeably impede other - clients' requests and notifications, nor the processing of incoming - blocks and mempool updates. -- Daemon failover. More than one daemon can be specified, and - ElectrumX will failover round-robin style if the current one fails - for any reason. -- Peer discovery protocol removes need for IRC -- Coin abstraction makes compatible altcoin and testnet support easy. - - .. toctree:: - :maxdepth: 2 - :caption: Contents: - ENVIRONMENT + features HOWTO + ENVIRONMENT + protocol-new PEER_DISCOVERY RPC-INTERFACE - protocol-new ARCHITECTURE @@ -76,5 +42,4 @@ Indices and tables ================== * :ref:`genindex` -* :ref:`modindex` * :ref:`search` diff --git a/docs/protocol-basics.rst b/docs/protocol-basics.rst index aee447e..469f906 100644 --- a/docs/protocol-basics.rst +++ b/docs/protocol-basics.rst @@ -123,3 +123,28 @@ key. .. note:: The Genesis block coinbase is unspendable and therefore not indexed. It will not show with the above P2PK script hash subscription. + +.. _status: + +Status +------ + +To calculate the `status` of a :ref:`script hash