{ "info": { "author": "Tommy Mckinnon", "author_email": "tommy@heliosprotocol.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.6" ], "description": "Helios Protocol Node\n====================\n\n|Python3.6|\n\nThis is the beta stage of the HeliosProtocol node. It is currently under\nactive development and is not yet complete.\n\nInstall\n-------\n\nPy-helios-node install instructions:\n\n1) Make sure you have the correct version of python installed. The\n version is listed at the top of this document. Caution: do not\n upgrade your system python from 2 to 3 as this can cause massive\n problems. Instead, we recommend installing a new version of python\n using `pyenv `__. To install pyenv,\n use the setup script found\n `here `__. For\n completeness, we will summarize the current setup steps here:\n\n 1) Install\n\n .. code:: bash\n\n $ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash\n\n 2) Edit .bashrc\n\n .. code:: bash\n\n $ vi ~/.bashrc\n\n add the lines\n\n .. code:: bash\n\n export PATH=\"~/.pyenv/bin:$PATH\"\n eval \"$(pyenv init -)\"\n eval \"$(pyenv virtualenv-init -)\"\n\n 3) Reload .bashrc\n\n .. code:: bash\n\n $ source ~/.bashrc\n\n 4) Install python 3.6\n\n .. code:: bash\n\n $ pyenv install 3.6.5\n\n2) Install git\n\n .. code:: bash\n\n $ sudo apt install git\n\n or\n\n .. code:: bash\n\n $ sudo yum install git\n\n3) Clone this repo\n\n .. code:: bash\n\n $ git clone https://github.com/Helios-Protocol/py-helios-node\n\n4) Set python environment\n\n .. code:: bash\n\n $ cd py-helios-node\n $ pyenv local 3.6.5\n\n5) Install the Helios Node\n\n .. code:: bash\n\n $ pip3 install -e .\n\n6) Ensure that the slow version of RLP is uninstalled, and install a\n fresh copy of the fast one. This will force all external libraries\n that use RLP to switch to the fast one.\n\n .. code:: bash\n\n $ pip3 uninstall rlp\n $ pip3 uninstall rlp-cython\n $ pip3 install rlp-cython\n\nConfigure\n---------\n\nThe Helios Protocol consensus mechanism is partially based on PoS. This\nrequires that all nodes are associated with a wallet address that has a\nnon-zero stake in order to run. So at this point, you have to configure\nthe node software to use your wallet as a source of coins to stake.\n\n1) Create keystore file. This is an encrypted file that stores your\n private key. You will be able to create this with our wallet when it\n is released. But for now, you can just create a new wallet using\n `MyEtherWallet `__, then save the wallet\n file. This file will work with Helios Protocol.\n2) Place keystore file within the directory helios/keystore\n3) Configure node to use your keystore file. Copy\n helios/helios\\_config.template.py to helios/helios\\_config.py. Then\n edit the new file and tell it the filename of your keystore file to\n use.\n\nOpen Ports in Firewall\n----------------------\n\nThe node software needs to have an open path for communication with\nother nodes on the network. If you have firewall software enabled, such\nas iptables, then you might have to open some ports to ensure this. The\ndefault installation of Ubuntu and Debian probably already have the\nports open. Other distros such as Centos likely have most ports closed\nby default.\n\nDebian and Ubuntu\n\n.. code:: bash\n\n $ sudo iptables -I INPUT -p tcp -m tcp --dport 30303 -j ACCEPT\n $ sudo iptables -I INPUT -p tcp -m tcp --dport 30304 -j ACCEPT\n $ sudo iptables-save\n\nCentos 7\n\n.. code:: bash\n\n $ sudo firewall-cmd --permanent \u2013zone=public --add-port=30303/tcp\n $ sudo firewall-cmd --permanent \u2013zone=public --add-port=30304/tcp\n $ sudo firewall-cmd --reload\n\nStart the node\n--------------\n\n.. code:: bash\n\n $ helios\n\nThen enter your keystore password when prompted. This password is never\nsaved, it is only used to initially decrypt your keystore file.\n\nThis document is still a work in progress. More details will come soon.\n\n.. |Python3.6| image:: https://img.shields.io/badge/python-3.6-blue.svg\n :target: https://www.python.org/downloads/release/python-360/\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Helios-Protocol/py-helios-node", "keywords": "helios protocol blockchain node vm", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "py-helios-node", "package_url": "https://pypi.org/project/py-helios-node/", "platform": "", "project_url": "https://pypi.org/project/py-helios-node/", "project_urls": { "Homepage": "https://github.com/Helios-Protocol/py-helios-node" }, "release_url": "https://pypi.org/project/py-helios-node/0.3.0/", "requires_dist": [ "asyncio-cancel-token (==0.1.0a2)", "aiohttp (<4.0.0,>=2.3.1)", "async-lru (<1.0.0,>=0.1.0)", "eth-hash (<1,>=0.2.0)", "netifaces (>=0.10.7<1)", "pysha3 (<2.0.0,>=1.0.0)", "upnpclient (<1,>=0.0.8)", "async-generator (==1.10)", "bloom-filter (==1.3)", "cachetools (<3.0.0,>=2.1.0)", "coincurve (<9.0.0,>=8.0.0)", "ipython (<7.0.0,>=6.2.1)", "plyvel (==1.0.5)", "helios-web3 (>=5.0.2)", "lahja (==0.8.0)", "websockets (>=3.0.0)", "cryptography (<3.0.0,>=2.0.3)", "cytoolz (<1.0.0,>=0.9.0)", "eth-bloom (<2.0.0,>=1.0.3)", "eth-keys (<1.0.0,>=0.2.0b3)", "eth-typing (<3.0.0,>=2.0.0)", "eth-utils (<2.0.0,>=1.2.0)", "lru-dict (>=1.1.6)", "py-ecc (<2.0.0,>=1.4.2)", "pyethash (<1.0.0,>=0.1.27)", "trie (<2.0.0,>=1.3.5)", "sortedcontainers (>=2.0.4)", "pbkdf2 (>=1.3)", "rlp-cython (>=2.1.5)", "uvloop (==0.11.2) ; platform_system == \"Linux\" or platform_system == \"Darwin\"", "termcolor (<2.0.0,>=1.1.0) ; extra == 'benchmark'", "helios-web3 (>=5.0.2) ; extra == 'benchmark'", "bumpversion (<1,>=0.5.3) ; extra == 'dev'", "wheel ; extra == 'dev'", "setuptools (>=36.2.0) ; extra == 'dev'", "tox (==2.7.0) ; extra == 'dev'", "twine ; extra == 'dev'", "coincurve (<9.0.0,>=8.0.0) ; extra == 'dev'", "plyvel (==1.0.5) ; extra == 'dev'", "asyncio-cancel-token (==0.1.0a2) ; extra == 'dev'", "aiohttp (<4.0.0,>=2.3.1) ; extra == 'dev'", "async-lru (<1.0.0,>=0.1.0) ; extra == 'dev'", "eth-hash (<1,>=0.2.0) ; extra == 'dev'", "netifaces (>=0.10.7<1) ; extra == 'dev'", "pysha3 (<2.0.0,>=1.0.0) ; extra == 'dev'", "upnpclient (<1,>=0.0.8) ; extra == 'dev'", "async-generator (==1.10) ; extra == 'dev'", "bloom-filter (==1.3) ; extra == 'dev'", "cachetools (<3.0.0,>=2.1.0) ; extra == 'dev'", "ipython (<7.0.0,>=6.2.1) ; extra == 'dev'", "helios-web3 (>=5.0.2) ; extra == 'dev'", "lahja (==0.8.0) ; extra == 'dev'", "websockets (>=3.0.0) ; extra == 'dev'", "hypothesis (==3.69.5) ; extra == 'dev'", "pytest (<3.7,>=3.6) ; extra == 'dev'", "pytest-asyncio (==0.9.0) ; extra == 'dev'", "pytest-cov (==2.5.1) ; extra == 'dev'", "pytest-watch (<5,>=4.1.0) ; extra == 'dev'", "pytest-xdist (==1.18.1) ; extra == 'dev'", "py-solc (==3.2.0) ; extra == 'dev'", "matplotlib ; extra == 'dev'", "py-evm (>=0.2.0-alpha.14) ; extra == 'dev'", "pytest (~=3.2) ; extra == 'dev'", "Sphinx (<1.8.0,>=1.5.5) ; extra == 'dev'", "sphinx-rtd-theme (>=0.1.9) ; extra == 'dev'", "sphinxcontrib-asyncio (>=0.2.0) ; extra == 'dev'", "flake8 (==3.5.0) ; extra == 'dev'", "mypy (==0.620) ; extra == 'dev'", "cryptography (<3.0.0,>=2.0.3) ; extra == 'dev'", "cytoolz (<1.0.0,>=0.9.0) ; extra == 'dev'", "eth-bloom (<2.0.0,>=1.0.3) ; extra == 'dev'", "eth-keys (<1.0.0,>=0.2.0b3) ; extra == 'dev'", "eth-typing (<3.0.0,>=2.0.0) ; extra == 'dev'", "eth-utils (<2.0.0,>=1.2.0) ; extra == 'dev'", "lru-dict (>=1.1.6) ; extra == 'dev'", "py-ecc (<2.0.0,>=1.4.2) ; extra == 'dev'", "pyethash (<1.0.0,>=0.1.27) ; extra == 'dev'", "trie (<2.0.0,>=1.3.5) ; extra == 'dev'", "sortedcontainers (>=2.0.4) ; extra == 'dev'", "pbkdf2 (>=1.3) ; extra == 'dev'", "rlp-cython (>=2.1.5) ; extra == 'dev'", "eth-hash[pysha3] ; (implementation_name == \"cpython\") and extra == 'dev'", "eth-hash[pycryptodome] ; (implementation_name == \"pypy\") and extra == 'dev'", "uvloop (==0.11.2) ; (platform_system == \"Linux\" or platform_system == \"Darwin\") and extra == 'dev'", "pytest-asyncio-network-simulator (==0.1.0a2) ; (python_version >= \"3.6\") and extra == 'dev'", "py-evm (>=0.2.0-alpha.14) ; extra == 'doc'", "pytest (~=3.2) ; extra == 'doc'", "Sphinx (<1.8.0,>=1.5.5) ; extra == 'doc'", "sphinx-rtd-theme (>=0.1.9) ; extra == 'doc'", "sphinxcontrib-asyncio (>=0.2.0) ; extra == 'doc'", "async-generator (==1.10) ; extra == 'helios'", "bloom-filter (==1.3) ; extra == 'helios'", "cachetools (<3.0.0,>=2.1.0) ; extra == 'helios'", "coincurve (<9.0.0,>=8.0.0) ; extra == 'helios'", "ipython (<7.0.0,>=6.2.1) ; extra == 'helios'", "plyvel (==1.0.5) ; extra == 'helios'", "helios-web3 (>=5.0.2) ; extra == 'helios'", "lahja (==0.8.0) ; extra == 'helios'", "websockets (>=3.0.0) ; extra == 'helios'", "uvloop (==0.11.2) ; (platform_system == \"Linux\" or platform_system == \"Darwin\") and extra == 'helios'", "asyncio-cancel-token (==0.1.0a2) ; extra == 'hp2p'", "aiohttp (<4.0.0,>=2.3.1) ; extra == 'hp2p'", "async-lru (<1.0.0,>=0.1.0) ; extra == 'hp2p'", "eth-hash (<1,>=0.2.0) ; extra == 'hp2p'", "netifaces (>=0.10.7<1) ; extra == 'hp2p'", "pysha3 (<2.0.0,>=1.0.0) ; extra == 'hp2p'", "upnpclient (<1,>=0.0.8) ; extra == 'hp2p'", "aiohttp (<4.0.0,>=2.3.1) ; extra == 'hvm'", "async-lru (<1.0.0,>=0.1.0) ; extra == 'hvm'", "cryptography (<3.0.0,>=2.0.3) ; extra == 'hvm'", "cytoolz (<1.0.0,>=0.9.0) ; extra == 'hvm'", "eth-bloom (<2.0.0,>=1.0.3) ; extra == 'hvm'", "eth-keys (<1.0.0,>=0.2.0b3) ; extra == 'hvm'", "eth-typing (<3.0.0,>=2.0.0) ; extra == 'hvm'", "eth-utils (<2.0.0,>=1.2.0) ; extra == 'hvm'", "lru-dict (>=1.1.6) ; extra == 'hvm'", "py-ecc (<2.0.0,>=1.4.2) ; extra == 'hvm'", "pyethash (<1.0.0,>=0.1.27) ; extra == 'hvm'", "trie (<2.0.0,>=1.3.5) ; extra == 'hvm'", "sortedcontainers (>=2.0.4) ; extra == 'hvm'", "pbkdf2 (>=1.3) ; extra == 'hvm'", "rlp-cython (>=2.1.5) ; extra == 'hvm'", "coincurve (<9.0.0,>=8.0.0) ; extra == 'hvm-extra'", "plyvel (==1.0.5) ; extra == 'hvm-extra'", "eth-hash[pysha3] ; (implementation_name == \"cpython\") and extra == 'hvm-extra'", "eth-hash[pycryptodome] ; (implementation_name == \"pypy\") and extra == 'hvm-extra'", "flake8 (==3.5.0) ; extra == 'lint'", "mypy (==0.620) ; extra == 'lint'", "hypothesis (==3.69.5) ; extra == 'test'", "pytest (<3.7,>=3.6) ; extra == 'test'", "pytest-asyncio (==0.9.0) ; extra == 'test'", "pytest-cov (==2.5.1) ; extra == 'test'", "pytest-watch (<5,>=4.1.0) ; extra == 'test'", "pytest-xdist (==1.18.1) ; extra == 'test'", "py-solc (==3.2.0) ; extra == 'test'", "matplotlib ; extra == 'test'", "pytest-asyncio-network-simulator (==0.1.0a2) ; (python_version >= \"3.6\") and extra == 'test'" ], "requires_python": "", "summary": "Python implementation of the Helios Protocol Node", "version": "0.3.0" }, "last_serial": 5101638, "releases": { "0.3.0": [ { "comment_text": "", "digests": { "md5": "d45556e5094b2147f176bf6902551b89", "sha256": "33879da92d74fc386598a28110ed872883b12055c5f9b1377744395567835d58" }, "downloads": -1, "filename": "py_helios_node-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d45556e5094b2147f176bf6902551b89", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 522005, "upload_time": "2019-04-05T00:57:44", "url": "https://files.pythonhosted.org/packages/d8/26/2445b8af8c76d281b1831cb52e0607509b7f997e1f5d2416ec0b51ce0ae8/py_helios_node-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c91aa75bbd87195f6cb01a212e7be543", "sha256": "c421f5b8c8a3b526bfac3c1b80cba52f9e14fb71a68918dd28bf6e9916ee30f1" }, "downloads": -1, "filename": "py-helios-node-0.3.0.tar.gz", "has_sig": false, "md5_digest": "c91aa75bbd87195f6cb01a212e7be543", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 390731, "upload_time": "2019-04-05T00:57:47", "url": "https://files.pythonhosted.org/packages/4e/30/7302e6f10a4e3af84c1329c3ea0ec01970816b28d97aa8accc3df44b13a7/py-helios-node-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d45556e5094b2147f176bf6902551b89", "sha256": "33879da92d74fc386598a28110ed872883b12055c5f9b1377744395567835d58" }, "downloads": -1, "filename": "py_helios_node-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d45556e5094b2147f176bf6902551b89", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 522005, "upload_time": "2019-04-05T00:57:44", "url": "https://files.pythonhosted.org/packages/d8/26/2445b8af8c76d281b1831cb52e0607509b7f997e1f5d2416ec0b51ce0ae8/py_helios_node-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c91aa75bbd87195f6cb01a212e7be543", "sha256": "c421f5b8c8a3b526bfac3c1b80cba52f9e14fb71a68918dd28bf6e9916ee30f1" }, "downloads": -1, "filename": "py-helios-node-0.3.0.tar.gz", "has_sig": false, "md5_digest": "c91aa75bbd87195f6cb01a212e7be543", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 390731, "upload_time": "2019-04-05T00:57:47", "url": "https://files.pythonhosted.org/packages/4e/30/7302e6f10a4e3af84c1329c3ea0ec01970816b28d97aa8accc3df44b13a7/py-helios-node-0.3.0.tar.gz" } ] }