resolved merge conflicts

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
This commit is contained in:
Lorenz Herzberger 2022-05-16 16:28:44 +02:00
commit 7816d23de2
No known key found for this signature in database
GPG Key ID: FA5EE906EB55316A
11 changed files with 84 additions and 59 deletions

View File

@ -3,9 +3,17 @@
# SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0)
# Code is Apache-2.0 and docs are CC-BY-4.0
version: 2
build:
image: latest
os: ubuntu-20.04
tools:
python: "3.9"
python:
version: 3.9
pip_install: true
install:
- method: setuptools
path: .
- requirements: docs/root/requirements.txt

View File

@ -2,7 +2,7 @@
#
# You can set these variables from the command line.
SPHINXOPTS = -W
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER = a4
BUILDDIR = build

View File

@ -1,10 +1,38 @@
Sphinx~=1.0
recommonmark>=0.4.0
sphinx-rtd-theme>=0.1.9
sphinxcontrib-napoleon>=0.4.4
sphinxcontrib-httpdomain>=1.5.0
pyyaml>=4.2b1
aafigure>=0.6
packaging~=18.0
wget
jinja2==3.0.0
aafigure==0.6
alabaster==0.7.12
Babel==2.10.1
certifi==2021.10.8
charset-normalizer==2.0.12
commonmark==0.9.1
docutils==0.17.1
idna
imagesize==1.3.0
importlib-metadata==4.11.3
Jinja2==3.0.0
markdown-it-py==2.1.0
MarkupSafe==2.1.1
mdit-py-plugins==0.3.0
mdurl==0.1.1
myst-parser==0.17.2
packaging==21.3
pockets==0.9.1
Pygments==2.12.0
pyparsing==3.0.8
pytz==2022.1
PyYAML>=5.4.0
requests>=2.25i.1
six==1.16.0
snowballstemmer==2.2.0
Sphinx==4.5.0
sphinx-rtd-theme==1.0.0
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-httpdomain==1.8.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-napoleon==0.7
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
urllib3==1.26.9
wget==3.2
zipp==3.8.0

View File

@ -23,9 +23,6 @@ import sys
import inspect
from os import rename, remove
from recommonmark.parser import CommonMarkParser
# 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
@ -51,9 +48,12 @@ 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'
import sphinx_rtd_theme
extensions = [
'myst_parser',
'sphinx.ext.autosectionlabel',
'sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
@ -99,10 +99,6 @@ autodoc_default_options = {
'members': None,
}
source_parsers = {
'.md': CommonMarkParser,
}
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
@ -115,9 +111,8 @@ source_suffix = ['.rst', '.md']
# The master toctree document.
master_doc = 'index'
autosectionlabel_prefix_document = True
# General information about the project.
project = 'Planetmint'
now = datetime.datetime.now()
copyright = str(now.year) + ', Planetmint Contributors'
author = 'Planetmint Contributors'
@ -137,7 +132,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 = None
language = 'en'
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:

View File

@ -4,7 +4,7 @@ Content-Type: application/json
{
"assets": "/assets/",
"blocks": "/blocks/",
"docs": "https://docs.planetmint.com/projects/server/en/v0.9.1/http-client-server-api.html",
"docs": "https://docs.planetmint.com/projects/server/en/v0.9.2/http-client-server-api.html",
"metadata": "/metadata/",
"outputs": "/outputs/",
"streams": "ws://localhost:9985/api/v1/streams/valid_transactions",

View File

@ -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.1/http-client-server-api.html",
"docs": "https://docs.planetmint.com/projects/server/en/v0.9.2/http-client-server-api.html",
"metadata": "/api/v1/metadata/",
"outputs": "/api/v1/outputs/",
"streams": "ws://localhost:9985/api/v1/streams/valid_transactions",
@ -14,7 +14,7 @@ Content-Type: application/json
"validators": "/api/v1/validators"
}
},
"docs": "https://docs.planetmint.com/projects/server/en/v0.9.1/",
"docs": "https://docs.planetmint.com/projects/server/en/v0.9.2/",
"software": "Planetmint",
"version": "0.9.1"
"version": "0.9.2"
}

View File

@ -7,7 +7,7 @@ Code is Apache-2.0 and docs are CC-BY-4.0
# Properties of Planetmint
### Decentralization
## Decentralization
Decentralization means that no one owns or controls everything, and there is no single point of failure.
@ -23,12 +23,12 @@ If someone has (or gets) admin access to a node, they can mess with that node (e
Its worth noting that not even the admin or superuser of a node can transfer assets. The only way to create a valid transfer transaction is to fulfill the current crypto-conditions on the asset, and the admin/superuser cant do that because the admin user doesnt have the necessary information (e.g. private keys).
### Byzantine Fault Tolerance
## Byzantine Fault Tolerance
[Tendermint](https://tendermint.io/) is used for consensus and transaction replication,
and Tendermint is [Byzantine Fault Tolerant (BFT)](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance).
### Node Diversity
## Node Diversity
Steps should be taken to make it difficult for any one actor or event to control or damage “enough” of the nodes. (Because Planetmint Server uses Tendermint, "enough" is ⅓.) There are many kinds of diversity to consider, listed below. It may be quite difficult to have high diversity of all kinds.
@ -39,7 +39,7 @@ Steps should be taken to make it difficult for any one actor or event to control
Note: If all the nodes are running the same code, i.e. the same implementation of Planetmint, then a bug in that code could be used to compromise all of the nodes. Ideally, there would be several different, well-maintained implementations of Planetmint Server (e.g. one in Python, one in Go, etc.), so that a consortium could also have a diversity of server implementations. Similar remarks can be made about the operating system.
### Immutability
## Immutability
The blockchain community often describes blockchains as “immutable.” If we interpret that word literally, it means that blockchain data is unchangeable or permanent, which is absurd. The data _can_ be changed. For example, a plague might drive humanity extinct; the data would then get corrupted over time due to water damage, thermal noise, and the general increase of entropy.

View File

@ -9,19 +9,17 @@ Code is Apache-2.0 and docs are CC-BY-4.0
There is some specialized terminology associated with Planetmint. To get started, you should at least know the following:
### Planetmint Node
## Planetmint Node
<<<<<<< HEAD
A **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.
=======
A **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.
>>>>>>> 3bfc3298f8210b135084e823eedd47f213538088
**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 Network
**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
A set of Planetmint nodes can connect to each other to form a **Planetmint network**. Each node in the network runs the same software. A Planetmint network may have additional machines to do things such as monitoring.
### Planetmint Consortium
## Planetmint Consortium
The people and organizations that run the nodes in a Planetmint network belong to a **Planetmint consortium** (i.e. another organization). A consortium must have some sort of governance structure to make decisions. If a Planetmint network is run by a single company, then the "consortium" is just that company.
@ -29,7 +27,7 @@ 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.
### Transactions
## Transactions
Are described in detail in `Planetmint Transactions Spec <https://github.com/planetmint/BEPs/tree/master/tx-specs/>`_ .
@ -80,10 +78,7 @@ You could do more elaborate things too. As one example, each time someone writes
### Role-Based Access Control (RBAC)
<<<<<<< HEAD
In September 2017, we published a [blog post about how one can define an RBAC sub-system on top of Planetmint](https://blog.planetmint.com/role-based-access-control-for-planetmint-assets-b7cada491997).
=======
In September 2017, BigchainDB published a [blog post about how one can define an RBAC sub-system on top of Planetmint](https://blog.bigchaindb.com/role-based-access-control-for-planetmint-assets-b7cada491997).
>>>>>>> 3bfc3298f8210b135084e823eedd47f213538088
At the time of writing (January 2018), doing so required the use of a plugin, so it's not possible using standard Planetmint (which is what's available on the [IPDB Testnet](https://test.ipdb.io/>). That may change in the future.
If you're interested, `contact IPDB <contact@ipdb.global>`_.

View File

@ -3,7 +3,7 @@
# SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0)
# Code is Apache-2.0 and docs are CC-BY-4.0
__version__ = '0.9.1'
__version__ = '0.9.2'
__short_version__ = '0.9'
# Supported Tendermint versions

View File

@ -35,6 +35,15 @@ def check_setuptools_features():
' $ pip3 install --upgrade setuptools\n'
'and then run this command again')
import pathlib
import pkg_resources
with pathlib.Path('docs/root/requirements.txt').open() as requirements_txt:
docs_require= [
str(requirement)
for requirement
in pkg_resources.parse_requirements(requirements_txt)
]
check_setuptools_features()
@ -43,18 +52,8 @@ dev_require = [
'ipython',
'watchdog',
'logging_tree',
'pre-commit'
]
docs_require = [
'Sphinx~=1.0',
'recommonmark>=0.4.0',
'sphinx-rtd-theme>=0.1.9',
'sphinxcontrib-httpdomain>=1.5.0',
'sphinxcontrib-napoleon>=0.4.4',
'aafigure>=0.6',
'wget',
'jinja2==3.0.0'
'pre-commit',
'twine'
]
tests_require = [

View File

@ -35,5 +35,5 @@ deps =
typing-extensions
-r{toxinidir}/docs/root/requirements.txt
extras = None
commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
commands = sphinx-build -b html -d {envtmpdir}/doctrees . {envtmpdir}/html