mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-24 14:35:45 +00:00
resolved merge conflicts
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
This commit is contained in:
commit
7816d23de2
@ -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
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS = -W
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPER = a4
|
||||
BUILDDIR = build
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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"
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
It’s 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 can’t do that because the admin user doesn’t 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.
|
||||
|
||||
|
||||
@ -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>`_.
|
||||
|
||||
@ -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
|
||||
|
||||
23
setup.py
23
setup.py
@ -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 = [
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user