Commit a4195131 authored by Wallet Guy's avatar Wallet Guy
Browse files

initial commit

parents
venv
.vscode
_build
\ No newline at end of file
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= python $(shell which sphinx-build)
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@import url('https://fonts.googleapis.com/icon?family=Material+Icons|Hammersmith+One|Raleway:900|Source+Sans+Pro:200');
/* Fonts */
body {
font-family: "Source Sans Pro", sans-serif;
font-weight: 600;
}
.rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend {
font-family: "Source Sans Pro", sans-serif;font-weight: 800;line-height: 1.4;
}
.rst-content .note .admonition-title, .rst-content .attention .admonition-title, .rst-content .tip .admonition-title, .rst-content .caution .admonition-title, .rst-content .warning .admonition-title{
font-family: "Roboto", sans-serif;font-weight: 500;line-height: 1.4;
}
h1{
font-family: "Hammersmith One", sans-serif;font-weight: 800;line-height: 1.4;
}
h2 {
font-family: "Roboto", sans-serif;font-weight: 600;line-height: 1.4;
}
h3{
padding: 10px 0;
border-bottom: 1px solid#eee;
}
h4 {
font-family: "Roboto", sans-serif;font-weight: 400;line-height: 1.4;
border-bottom: 1px solid#eee;
}
.section > .section > .section {
padding: 0 20px;
}
.rst-content pre.literal-block, .rst-content div[class^='highlight'] pre, .rst-content .linenodiv pre {
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;
font-size: 12px;
line-height: 1.4;
}
/* Background colour right hand panel white */
@media screen and (min-width: 1100px)
.wy-nav-content-wrap {
background: rgba(0,0,0,0);
}
.wy-nav-content-wrap {
background: white;
}
@media screen and (min-width: 1100px)
.wy-nav-content {
margin: 0;
background: white;
}
.wy-nav-content {
margin: 0;
background: white;
}
/* Code blocks */
.rst-content div[class^='highlight'] {
border: none;
overflow-x: auto;
}
.highlight {
background: #f7f8f9;
}
.highlight .nn {
font-weight: 300;
}
.highlight .nc {
font-weight: 300;
}
.highlight .k {
font-weight: 300;
}
.highlight .kn {
font-weight: 300;
}
.highlight .nd {
font-weight: 300;
}
.highlight .ni {
font-weight: 300;
}
.highlight .nl {
font-weight: 300;
}
.highlight .nf {
font-weight: 300;
}
.highlight .nt {
font-weight: 300;
}
.highlight .se {
font-weight: 300;
}
.highlight .ow {
font-weight: 300;
}
.highlight .kr {
font-weight: 300;
}
.highlight .kd {
font-weight: 300;
}
.highlight .kc {
font-weight: 300;
}
.highlight .gu {
font-weight: 300;
}
.highlight .gp {
font-weight: 300;
}
.highlight .gh {
font-weight: 300;
}
.highlight .cs {
background: #f7f8f9;
}
/* Left Nav Bar */
.wy-side-nav-search {
color: #1C2127;
background-color: #F7FAFD;
}
.wy-side-nav-search input[type=text] {
width: 100%;
border-radius: 50px;
padding-left: 18px;
padding-top: 9px;
padding-bottom: 6px;
border-color: #CDD5E2;
}
.wy-nav-side {
background: #F7FAFD;
color: #1C2127;
border-right: 1px solid #CDD5E2;
}
.wy-menu-vertical a {
color: #1C2127;
}
.wy-menu-vertical a:hover {
background: #F7FAFD;
color: #1C2127;
}
.wy-menu-vertical header, .wy-menu-vertical p.caption {
color: #1C2127;
}
.wy-menu-vertical li ul li a {
font-weight: 300;
}
.wy-menu-vertical li.current {
background: #F7FAFD;
color: #1C2127;
}
.wy-menu-vertical li.current a:hover {
background: #F7FAFD;
color: #1C2127;
}
.wy-menu-vertical li.toctree-l1.current>a {
border-bottom: 0px;
border-top: 0px;
}
.wy-menu-vertical li.current>a {
background: #F7FAFD;
color: #01ACE1;
font-weight: 400;
}
.wy-menu-vertical li.current>a:hover {
background: #F7FAFD;
color: #01ACE1;
}
.wy-menu-vertical li.toctree-l2.current>a {
background: #F7FAFD;
color: #01ACE1;
}
.wy-menu-vertical li.toctree-l2.current>a:hover {
background: #F7FAFD;
color: #01ACE1;
}
.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>a {
background: #F7FAFD;
color: #01ACE1;
}
.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>a:hover {
background: #F7FAFD;
color: #01ACE1;
}
.wy-menu-vertical li.toctree-l3.current li.toctree-l4.current>a {
background: #F7FAFD;
color: #01ACE1;
}
.wy-menu-vertical li.toctree-l3.current li.toctree-l4.current>a:hover {
background: #F7FAFD;
color: #01ACE1;
}
.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a {
background: #F7FAFD;
color: #1C2127;
}
.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a {
background: #F7FAFD;
color: #1C2127;
}
.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a:hover {
background: #F7FAFD;
color: #1C2127;
}
.wy-menu-vertical li.toctree-l2 a, .wy-menu-vertical li.toctree-l3 a, .wy-menu-vertical li.toctree-l4 a {
color: #1C2127;
}
.wy-menu-vertical li.toctree-l2 span.toctree-expand {
color: #1C2127;
}
.wy-menu-vertical li.toctree-l2>a:hover span.toctree-expand {
color: #1C2127;
}
.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a:hover span.toctree-expand {
background: #F7FAFD;
color: #1C2127;
}
/* Menu expand and collapse */
.fa-plus-square-o:before, .wy-menu-vertical li span.toctree-expand:before {
content: "+ ";
}
.fa-minus-square-o:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current>a span.toctree-expand:before {
content: "- ";
}
/* Logo */
.wy-side-nav-search>a.icon img.logo, .wy-side-nav-search .wy-dropdown>a.icon img.logo {
margin-top: 8px;
margin-bottom: 8px;
height: 70px;
float: left;
}
/* In page Table of contents */
.simple > li > p {
margin-top: 8px;
}
.rst-content .simple > li > ul > li > ul {
margin-top: -2px;
margin-bottom: 4px;
}
.rst-content .section ul p {
margin-bottom: 6px;
}
.toctree-wrapper > ul .toctree-l1 {
margin-top: 12px;
}
.rst-content .toctree-wrapper ul li ul {
margin-top: 6px;
}
/* Tip, note, warning, attention, caution, danger boxes - titles */
/* Remove exclamation mark (for all but Danger is added later) */
.fa-exclamation-circle:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .rst-content .admonition-title:before {
content: "";
}
/* Exclamation mark for Danger boxes only */
.rst-content .danger .admonition-title:before {
content: "";
margin-left: 5px;
}
.rst-content .admonition-title {
font-weight: 400;
padding-left: 8px;
padding-top: 10px;
}
.rst-content .tip .admonition-title {
color: #1C2127;
background: #F5FAFF;
}
.rst-content .note .admonition-title {
color: #1C2127;
background: #F5FAFF;
}
.rst-content .warning .admonition-title {
color: #1C2127;
background: #FFF5F5;
}
.rst-content .attention .admonition-title {
color: #1C2127;
background: #FFF5F5;
}
.rst-content .caution .admonition-title {
color: #1C2127;
background: #FFF5F5;
}
.rst-content .danger .admonition-title {
color: #1C2127;
background: #FFF5F5;
}
/* Tip, note, warning, attention, caution, danger boxes - text */
.rst-content .tip {
background: #F5FAFF;
}
.rst-content .note {
background: #F5FAFF;
}
.rst-content .warning {
background: #FFF5F5;
}
.rst-content .attention {
background: #FFF5F5;
}
.rst-content .caution {
background: #FFF5F5;
}
.rst-content .danger {
background: #FFF5F5;
}
/* Code (inline) */
.rst-content code.literal {
color: #1C2117;
}
/* Table */
/* Enable wrapping of text to remove horizontal scroll bar */
@media screen and (min-width: 767px) {
.wy-table-responsive table td {
white-space: normal !important;
}
.wy-table-responsive {
overflow: visible !important;
}
}
.rst-content table.docutils {
border: 1px solid #CDD5E2;
}
.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td {
background-color: #F7FAFD;
}
.rst-content table.docutils td {
border-bottom: 1px solid #CDD5E2;
border-left: 1px solid #CDD5E2;
}
.rst-content table.docutils th {
padding: 8px 16px;
background-color: white;
}
.rst-content table.docutils thead tr th p {
margin-top: 4px;
margin-bottom: 4px;
}
.rst-content table.docutils thead th {
font-weight: bold;
border-bottom: solid 1px #CDD5E2;
}
/* Quote-like note*/
.rst-content dl:not(.docutils) dt {
display: table;
margin: 0px 0px 12px 24px;
font-size: 90%;
line-height: normal;
background: white;
color: #1C2127;
border-bottom: 0px;
border-top: 0px;
padding: 0px;
position: relative;
margin-bottom: 8px;
padding-top: 0px;
}
import recommonmark
from recommonmark.transform import AutoStructify
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- Project information -----------------------------------------------------
project = 'Samourai Docs'
copyright = '2020, Samourai '
author = 'Samourai'
# The full version, including alpha/beta/rc tags
release = '1.0'
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'recommonmark'
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
html_theme_path = ["_themes", ]
# 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,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_logo = '_static/samourai.png'
master_doc = 'index'
def setup(app):
app.add_stylesheet('css/custom.css')
\ No newline at end of file
---------------------------------
Activate Address indexer
---------------------------------
By default, Dojo uses the Bitcoin daemon as its data
source for imports and rescans. While private, this
default option has many limitations.
To get rid of these limitations, MyDojo allows to install
a local indexer (addrindexrs) providing the best of both
worlds (no request sent to a third party, fast and real
time rescans, all transactions referencing the sdaddress
are retrieved).
Requirements
----------------------------------
The initial installation of the indexer requires an
additional 120GB of disk space (as of January 2020).
Main benefits
----------------------------------
- Fast, private and exhaustive real time rescans
- Allows the blocks explorer to display the detailed
activity of Bitcoin addresses
Known drawbacks
----------------------------------
- Additional disk space consumed by the index
- Increased duration of upgrades (from 5 to
20 minutes depending on the machine hosting
MyDojo)
- Slight increase of startup duration
- First indexing will require a few hours.
Configuration changes
----------------------------------
The local indexer is activated thanks to the modification of two
configuration options
- :ref:`INDEXER_INSTALL <to-config-indexer_install>` must be set to ``on``
- :ref:`NODE_ACTIVE_INDEXER <to-config-node-active_indexer>` must be set to
``local_indexer``
Example
----------------------------------
::
# Edit the indexer config template file
nano ./conf/docker-indexer.conf.tpl
#
# Set the value of INDEXER_INSTALL to "on"
# Save and exit nano
#
# Edit the nodejs config file (or the corresponding template file if it's your first installation of Dojo)
nano ./conf/docker-node.conf
#
# Set the value of NODE_ACTIVE_INDEXER to "local_indexer"
# Save and exit nano
#
#
# Launch the installation or the upgrade of your Dojo
# with the commands `dojo.sh install` or `dojo.sh upgrade`
#