diff --git a/docs/root/.vscode/settings.json b/docs/root/.vscode/settings.json
new file mode 100644
index 0000000..65e1ec0
--- /dev/null
+++ b/docs/root/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "makefile.extensionOutputFolder": "./.vscode"
+}
\ No newline at end of file
diff --git a/docs/root/requirements.txt b/docs/root/requirements.txt
index 7c839f5..d80d8f1 100644
--- a/docs/root/requirements.txt
+++ b/docs/root/requirements.txt
@@ -38,3 +38,4 @@ wget==3.2
zipp==3.8.0
nest-asyncio==1.5.5
sphinx-press-theme==0.8.0
+sphinx-documatt-theme
diff --git a/docs/root/source/_static/planet-mint-logo.png b/docs/root/source/_static/planet-mint-logo.png
new file mode 100644
index 0000000..c923c03
Binary files /dev/null and b/docs/root/source/_static/planet-mint-logo.png differ
diff --git a/docs/root/source/_static/planet-mint-logo.svg b/docs/root/source/_static/planet-mint-logo.svg
new file mode 100644
index 0000000..b8aa071
--- /dev/null
+++ b/docs/root/source/_static/planet-mint-logo.svg
@@ -0,0 +1,13 @@
+
+
+
diff --git a/docs/root/source/_static/planetmint-logo.png b/docs/root/source/_static/planetmint-logo.png
new file mode 100644
index 0000000..c923c03
Binary files /dev/null and b/docs/root/source/_static/planetmint-logo.png differ
diff --git a/docs/root/source/_static/planetmint-logo.svg b/docs/root/source/_static/planetmint-logo.svg
new file mode 100644
index 0000000..b8aa071
--- /dev/null
+++ b/docs/root/source/_static/planetmint-logo.svg
@@ -0,0 +1,13 @@
+
+
+
diff --git a/docs/root/source/_static/planetmint350x150.png b/docs/root/source/_static/planetmint350x150.png
new file mode 100644
index 0000000..3d10d7a
Binary files /dev/null and b/docs/root/source/_static/planetmint350x150.png differ
diff --git a/docs/root/source/_static/planetmint360x150white.png b/docs/root/source/_static/planetmint360x150white.png
new file mode 100644
index 0000000..70c1f59
Binary files /dev/null and b/docs/root/source/_static/planetmint360x150white.png differ
diff --git a/docs/root/source/basic-usage.md b/docs/root/source/basic-usage.md
index 243a161..ccb54f9 100644
--- a/docs/root/source/basic-usage.md
+++ b/docs/root/source/basic-usage.md
@@ -119,13 +119,19 @@ of the outgoing paperclips (100).
### Transaction Validity
When a node is asked to check if a transaction is valid, it checks several
-things. We documented those things in a post on *The Planetmint Blog*:
-["What is a Valid Transaction in Planetmint?"](https://blog.planetmint.io/what-is-a-valid-transaction-in-planetmint-9a1a075a9598)
+things. This got documentet by a BigchainDB post (previous version of Planetmint) at*The BigchainDB Blog*:
+["What is a Valid Transaction in BigchainDB?"](https://blog.bigchaindb.com/what-is-a-valid-transaction-in-planetmint-9a1a075a9598)
(Note: That post was about Planetmint Server v1.0.0.)
### Example Transactions
There are example Planetmint transactions in
-[the HTTP API documentation](./connecting/api/http-client-server-api)
+[the HTTP API documentation](./connecting/http-client-server-api)
and
[the Python Driver documentation](./connecting/drivers).
+
+## Contracts & Conditions
+
+Planetmint has been developed with simple logical gateways in mind. The logic got introduced by [cryptoconditions](https://https://docs.planetmint.io/projects/cryptoconditions). The cryptocondition documentation contains all details about how conditoins are defined and how they can be verified and fulfilled.
+
+The integration of such into the transaction schema of Planetmint is shown below.
\ No newline at end of file
diff --git a/docs/root/source/conf.py b/docs/root/source/conf.py
index 3c5f8c0..8dc1e0e 100644
--- a/docs/root/source/conf.py
+++ b/docs/root/source/conf.py
@@ -30,14 +30,14 @@ from os import rename, remove
# get version
_version = {}
-with open('../../../planetmint/version.py') as fp:
+with open("../../../planetmint/version.py") as fp:
exec(fp.read(), _version)
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
-sys.path.insert(0,parentdir)
-#sys.path.insert(0, "/home/myname/pythonfiles")
+sys.path.insert(0, parentdir)
+# sys.path.insert(0, "/home/myname/pythonfiles")
# -- General configuration ------------------------------------------------
@@ -48,84 +48,95 @@ sys.path.insert(0,parentdir)
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
-project = 'Planetmint'
+project = "Planetmint"
import sphinx_rtd_theme
extensions = [
- 'myst_parser',
- 'sphinx.ext.autosectionlabel',
- 'sphinx.ext.autodoc',
- 'sphinx.ext.intersphinx',
- 'sphinx.ext.coverage',
- 'sphinx.ext.viewcode',
- 'sphinx.ext.todo',
- 'sphinx.ext.napoleon',
- 'sphinxcontrib.httpdomain',
- 'aafigure.sphinxext',
+ "myst_parser",
+ "sphinx.ext.autosectionlabel",
+ "sphinx.ext.autodoc",
+ "sphinx.ext.intersphinx",
+ "sphinx.ext.coverage",
+ "sphinx.ext.viewcode",
+ "sphinx.ext.todo",
+ "sphinx.ext.napoleon",
+ "sphinxcontrib.httpdomain",
+ "aafigure.sphinxext",
#'sphinx_toolbox.collapse',
# Below are actually build steps made to look like sphinx extensions.
# It was the easiest way to get it running with ReadTheDocs.
- 'generate_http_server_api_documentation',
+ "generate_http_server_api_documentation",
]
try:
- remove('contributing/cross-project-policies/code-of-conduct.md')
- remove('contributing/cross-project-policies/release-process.md')
- remove('contributing/cross-project-policies/python-style-guide.md')
+ remove("contributing/cross-project-policies/code-of-conduct.md")
+ remove("contributing/cross-project-policies/release-process.md")
+ remove("contributing/cross-project-policies/python-style-guide.md")
except:
- print('done')
+ print("done")
+
def get_old_new(url, old, new):
filename = wget.download(url)
rename(old, new)
-get_old_new('https://raw.githubusercontent.com/planetmint/planetmint/master/CODE_OF_CONDUCT.md',
- 'CODE_OF_CONDUCT.md', 'contributing/cross-project-policies/code-of-conduct.md')
-get_old_new('https://raw.githubusercontent.com/planetmint/planetmint/master/RELEASE_PROCESS.md',
- 'RELEASE_PROCESS.md', 'contributing/cross-project-policies/release-process.md')
+get_old_new(
+ "https://raw.githubusercontent.com/planetmint/planetmint/master/CODE_OF_CONDUCT.md",
+ "CODE_OF_CONDUCT.md",
+ "contributing/cross-project-policies/code-of-conduct.md",
+)
-get_old_new('https://raw.githubusercontent.com/planetmint/planetmint/master/PYTHON_STYLE_GUIDE.md',
- 'PYTHON_STYLE_GUIDE.md', 'contributing/cross-project-policies/python-style-guide.md')
+get_old_new(
+ "https://raw.githubusercontent.com/planetmint/planetmint/master/RELEASE_PROCESS.md",
+ "RELEASE_PROCESS.md",
+ "contributing/cross-project-policies/release-process.md",
+)
-suppress_warnings = ['misc.highlighting_failure']
+get_old_new(
+ "https://raw.githubusercontent.com/planetmint/planetmint/master/PYTHON_STYLE_GUIDE.md",
+ "PYTHON_STYLE_GUIDE.md",
+ "contributing/cross-project-policies/python-style-guide.md",
+)
+
+suppress_warnings = ["misc.highlighting_failure"]
# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
+templates_path = ["_templates"]
# autodoc settings
-autodoc_member_order = 'bysource'
+autodoc_member_order = "bysource"
autodoc_default_options = {
- 'members': None,
+ "members": None,
}
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
-source_suffix = ['.rst', '.md']
+source_suffix = [".rst", ".md"]
# The encoding of source files.
#
# source_encoding = 'utf-8-sig'
# The master toctree document.
-master_doc = 'index'
+master_doc = "index"
autosectionlabel_prefix_document = True
# General information about the project.
now = datetime.datetime.now()
-copyright = str(now.year) + ', Planetmint Contributors'
-author = 'Planetmint Contributors'
+copyright = str(now.year) + ", Planetmint Contributors"
+author = "Planetmint Contributors"
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
-version = _version['__short_version__']
+version = _version["__short_version__"]
# The full version, including alpha/beta/rc tags.
-release = _version['__version__']
+release = _version["__version__"]
# The full version, including alpha/beta/rc tags.
# The language for content autogenerated by Sphinx. Refer to documentation
@@ -133,7 +144,7 @@ release = _version['__version__']
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
-language = 'en'
+language = "en"
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
@@ -169,7 +180,7 @@ exclude_patterns = []
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
+pygments_style = "sphinx"
# A list of ignored prefixes for module index sorting.
# modindex_common_prefix = []
@@ -186,7 +197,8 @@ todo_include_todos = False
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
-html_theme = 'press'
+html_theme = "press"
+# html_theme = 'sphinx_documatt_theme'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
@@ -195,7 +207,7 @@ html_theme = 'press'
# html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = [press.get_html_theme_path()]
+# html_theme_path = [press.get_html_theme_path()]
# The name for this set of Sphinx documents.
# " v documentation" by default.
@@ -209,7 +221,7 @@ html_theme = 'press'
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#
-html_logo = '_static/PLANETMINT_COLOR_POS.png'
+html_logo = "_static/planetmint-logo.png"
# The name of an image file (relative to this directory) to use as a favicon of
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
@@ -220,7 +232,7 @@ html_logo = '_static/PLANETMINT_COLOR_POS.png'
# 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_static_path = ["_static"]
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
@@ -300,34 +312,36 @@ html_static_path = ['_static']
# html_search_scorer = 'scorer.js'
# Output file base name for HTML help builder.
-htmlhelp_basename = 'Planetmintdoc'
+htmlhelp_basename = "Planetmintdoc"
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
- # The paper size ('letterpaper' or 'a4paper').
- #
- 'papersize': 'letterpaper',
-
- # The font size ('10pt', '11pt' or '12pt').
- #
- # 'pointsize': '10pt',
-
- # Additional stuff for the LaTeX preamble.
- #
- # 'preamble': '',
-
- # Latex figure (float) alignment
- #
- # 'figure_align': 'htbp',
+ # The paper size ('letterpaper' or 'a4paper').
+ #
+ "papersize": "letterpaper",
+ # The font size ('10pt', '11pt' or '12pt').
+ #
+ # 'pointsize': '10pt',
+ # Additional stuff for the LaTeX preamble.
+ #
+ # 'preamble': '',
+ # Latex figure (float) alignment
+ #
+ # 'figure_align': 'htbp',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
- (master_doc, 'Planetmint.tex', 'Planetmint Documentation',
- 'Planetmint Contributors', 'manual'),
+ (
+ master_doc,
+ "Planetmint.tex",
+ "Planetmint Documentation",
+ "Planetmint Contributors",
+ "manual",
+ ),
]
# The name of an image file (relative to this directory) to place at the top of
@@ -367,10 +381,7 @@ latex_documents = [
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
-man_pages = [
- (master_doc, 'planetmint', 'Planetmint Documentation',
- [author], 1)
-]
+man_pages = [(master_doc, "planetmint", "Planetmint Documentation", [author], 1)]
# If true, show URL addresses after external links.
#
@@ -383,9 +394,15 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
- (master_doc, 'Planetmint', 'Planetmint Documentation',
- author, 'Planetmint', 'One line description of project.',
- 'Miscellaneous'),
+ (
+ master_doc,
+ "Planetmint",
+ "Planetmint Documentation",
+ author,
+ "Planetmint",
+ "One line description of project.",
+ "Miscellaneous",
+ ),
]
# Documents to append as an appendix to all manuals.
diff --git a/docs/root/source/connecting/http-samples/api-index-response.http b/docs/root/source/connecting/http-samples/api-index-response.http
index 5f5b316..2b5b985 100644
--- a/docs/root/source/connecting/http-samples/api-index-response.http
+++ b/docs/root/source/connecting/http-samples/api-index-response.http
@@ -4,7 +4,7 @@ Content-Type: application/json
{
"assets": "/assets/",
"blocks": "/blocks/",
- "docs": "https://docs.planetmint.com/projects/server/en/v0.9.3/http-client-server-api.html",
+ "docs": "https://docs.planetmint.com/projects/server/en/v0.9.7/http-client-server-api.html",
"metadata": "/metadata/",
"outputs": "/outputs/",
"streamedblocks": "ws://localhost:9985/api/v1/streams/valid_blocks",
diff --git a/docs/root/source/connecting/http-samples/index-response.http b/docs/root/source/connecting/http-samples/index-response.http
index 052741f..b375262 100644
--- a/docs/root/source/connecting/http-samples/index-response.http
+++ b/docs/root/source/connecting/http-samples/index-response.http
@@ -6,7 +6,7 @@ Content-Type: application/json
"v1": {
"assets": "/api/v1/assets/",
"blocks": "/api/v1/blocks/",
- "docs": "https://docs.planetmint.com/projects/server/en/v0.9.3/http-client-server-api.html",
+ "docs": "https://docs.planetmint.com/projects/server/en/v0.9.7/http-client-server-api.html",
"metadata": "/api/v1/metadata/",
"outputs": "/api/v1/outputs/",
"streamedblocks": "ws://localhost:9985/api/v1/streams/valid_blocks",
@@ -15,7 +15,7 @@ Content-Type: application/json
"validators": "/api/v1/validators"
}
},
- "docs": "https://docs.planetmint.com/projects/server/en/v0.9.3/",
+ "docs": "https://docs.planetmint.com/projects/server/en/v0.9.7/",
"software": "Planetmint",
- "version": "0.9.3"
+ "version": "0.9.7"
}
diff --git a/docs/root/source/cryptoconditions.md b/docs/root/source/cryptoconditions.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/root/source/index.rst b/docs/root/source/index.rst
index 87db6d7..8c2d0b6 100644
--- a/docs/root/source/index.rst
+++ b/docs/root/source/index.rst
@@ -27,3 +27,10 @@ At a high level, one can communicate with a Planetmint network (set of nodes) us
terminology
troubleshooting
+
+.. toctree::
+ :maxdepth: 1
+ :caption: Cryptoconditions & Smart Contracts
+
+ Crypto Conditions & Smart Contracts
+ cryptoconditions
diff --git a/docs/root/source/network-setup/index.rst b/docs/root/source/network-setup/index.rst
index c6d65bf..1708f20 100644
--- a/docs/root/source/network-setup/index.rst
+++ b/docs/root/source/network-setup/index.rst
@@ -4,7 +4,7 @@
SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0)
Code is Apache-2.0 and docs are CC-BY-4.0
-Networks & Fedreations
+Networks & Federations
######################
diff --git a/docs/root/source/network-setup/network-setup.md b/docs/root/source/network-setup/network-setup.md
index 32b71b4..c4f1b36 100644
--- a/docs/root/source/network-setup/network-setup.md
+++ b/docs/root/source/network-setup/network-setup.md
@@ -199,7 +199,7 @@ If you want to start and manage the Planetmint and Tendermint processes yourself
## How Others Can Access Your Node
-If you followed the above instructions, then your node should be publicly-accessible with Planetmint Root URL `https://hostname` or `http://hostname:9984`. That is, anyone can interact with your node using the [Planetmint HTTP API](../connecting/api/http-client-server-api) exposed at that address. The most common way to do that is to use one of the [Planetmint Drivers](../connecting/drivers).
+If you followed the above instructions, then your node should be publicly-accessible with Planetmint Root URL `https://hostname` or `http://hostname:9984`. That is, anyone can interact with your node using the [Planetmint HTTP API](../connecting/http-client-server-api) exposed at that address. The most common way to do that is to use one of the [Planetmint Drivers](../connecting/drivers).
[bdb:software]: https://github.com/planetmint/planetmint/
[bdb:pypi]: https://pypi.org/project/Planetmint/#history
diff --git a/docs/root/source/network-setup/networks.md b/docs/root/source/network-setup/networks.md
index f1fe729..6007306 100644
--- a/docs/root/source/network-setup/networks.md
+++ b/docs/root/source/network-setup/networks.md
@@ -25,7 +25,7 @@ We now describe how *we* set up the external (public-facing) DNS records for a P
There were several goals:
* Allow external users/clients to connect directly to any Planetmint node in the network (over the internet), if they want.
-* Each Planetmint node operator should get an SSL certificate for their Planetmint node, so that their Planetmint node can serve the [Planetmint HTTP API](../connecting/api/http-client-server-api) via HTTPS. (The same certificate might also be used to serve the [WebSocket API](../connecting/api/websocket-event-stream-api).)
+* Each Planetmint node operator should get an SSL certificate for their Planetmint node, so that their Planetmint node can serve the [Planetmint HTTP API](../connecting/http-client-server-api) via HTTPS. (The same certificate might also be used to serve the [WebSocket API](../connecting/websocket-event-stream-api).)
* There should be no sharing of SSL certificates among Planetmint node operators.
* Optional: Allow clients to connect to a "random" Planetmint node in the network at one particular domain (or subdomain).
diff --git a/docs/root/source/node-setup/configuration.md b/docs/root/source/node-setup/configuration.md
index b0be925..682e5c2 100644
--- a/docs/root/source/node-setup/configuration.md
+++ b/docs/root/source/node-setup/configuration.md
@@ -109,7 +109,7 @@ If (no environment variables were set and there's no local config file), or you
## server.*
`server.bind`, `server.loglevel` and `server.workers`
-are settings for the [Gunicorn HTTP server](http://gunicorn.org/), which is used to serve the [HTTP client-server API](../connecting/api/http-client-server-api).
+are settings for the [Gunicorn HTTP server](http://gunicorn.org/), which is used to serve the [HTTP client-server API](../connecting/http-client-server-api).
`server.bind` is where to bind the Gunicorn HTTP server socket. It's a string. It can be any valid value for [Gunicorn's bind setting](http://docs.gunicorn.org/en/stable/settings.html#bind). For example:
@@ -166,7 +166,7 @@ export PLANETMINT_SERVER_WORKERS=5
These settings are for the
[aiohttp server](https://aiohttp.readthedocs.io/en/stable/index.html),
which is used to serve the
-[WebSocket Event Stream API](../connecting/api/websocket-event-stream-api).
+[WebSocket Event Stream API](../connecting/websocket-event-stream-api).
`wsserver.scheme` should be either `"ws"` or `"wss"`
(but setting it to `"wss"` does *not* enable SSL/TLS).
`wsserver.host` is where to bind the aiohttp server socket and
diff --git a/docs/root/source/node-setup/deploy-a-machine.md b/docs/root/source/node-setup/deploy-a-machine.md
index dc84990..2b0c149 100644
--- a/docs/root/source/node-setup/deploy-a-machine.md
+++ b/docs/root/source/node-setup/deploy-a-machine.md
@@ -25,7 +25,7 @@ using private IP addresses, but we don't cover that here.)
## Operating System
-**Use Ubuntu 18.04 or Ubuntu Server 18.04 as the operating system.**
+**Use Ubuntu 18.04 Server or above versions as the operating system.**
Similar instructions will work on other versions of Ubuntu,
and other recent Debian-like Linux distros,
diff --git a/docs/root/source/terminology.md b/docs/root/source/terminology.md
index 6827de7..fb4a5d0 100644
--- a/docs/root/source/terminology.md
+++ b/docs/root/source/terminology.md
@@ -11,8 +11,6 @@ There is some specialized terminology associated with Planetmint. To get started
## Planetmint Node
-**Planetmint node** is a machine (or logical machine) running [Planetmint Server](https://docs.planetmint.com/projects/server/en/latest/introduction.html) and related software. Each node is controlled by one person or organization.
-
**Planetmint node** is a machine (or logical machine) running [Planetmint Server](https://docs.planetmint.io/projects/server/en/latest/introduction.html) and related software. Each node is controlled by one person or organization.
## Planetmint Network
@@ -27,6 +25,10 @@ The people and organizations that run the nodes in a Planetmint network belong t
A Planetmint network is just a bunch of connected nodes. A consortium is an organization which has a Planetmint network, and where each node in that network has a different operator.
+## Validators
+
+A validator node is a Planetmint node that is a validator as it is defined for Tendermint (see [Tendermint Validator](https://docs.tendermint.com/master/nodes/validators.html)).
+
## Transactions
Are described in detail in `Planetmint Transactions Spec `_ .
diff --git a/setup.py b/setup.py
index 9e16fcf..77fb10c 100644
--- a/setup.py
+++ b/setup.py
@@ -84,6 +84,7 @@ docs_require = [
"zipp==3.8.0",
"nest-asyncio==1.5.5",
"sphinx-press-theme==0.8.0",
+ "sphinx-documatt-theme",
]
check_setuptools_features()