Skip to main content

Python implementation of the Helios Protocol Node

Project description

Python3.6

This is the beta stage of the HeliosProtocol node. It is currently under active development and is not yet complete.

Install

Py-helios-node install instructions:

  1. Make sure you have the correct version of python installed. The version is listed at the top of this document. Caution: do not upgrade your system python from 2 to 3 as this can cause massive problems. Instead, we recommend installing a new version of python using pyenv. To install pyenv, use the setup script found here. For completeness, we will summarize the current setup steps here:

    1. Install

      $ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
    2. Edit .bashrc

      $ vi ~/.bashrc

      add the lines

      export PATH="~/.pyenv/bin:$PATH"
      eval "$(pyenv init -)"
      eval "$(pyenv virtualenv-init -)"
    3. Reload .bashrc

      $ source ~/.bashrc
    4. Install python 3.6

      $ pyenv install 3.6.5
  2. Install git

    $ sudo apt install git

    or

    $ sudo yum install git
  3. Clone this repo

    $ git clone https://github.com/Helios-Protocol/py-helios-node
  4. Set python environment

    $ cd py-helios-node
    $ pyenv local 3.6.5
  5. Install the Helios Node

    $ pip3 install -e .
  6. Ensure that the slow version of RLP is uninstalled, and install a fresh copy of the fast one. This will force all external libraries that use RLP to switch to the fast one.

    $ pip3 uninstall rlp
    $ pip3 uninstall rlp-cython
    $ pip3 install rlp-cython

Configure

The Helios Protocol consensus mechanism is partially based on PoS. This requires that all nodes are associated with a wallet address that has a non-zero stake in order to run. So at this point, you have to configure the node software to use your wallet as a source of coins to stake.

  1. Create keystore file. This is an encrypted file that stores your private key. You will be able to create this with our wallet when it is released. But for now, you can just create a new wallet using MyEtherWallet, then save the wallet file. This file will work with Helios Protocol.

  2. Place keystore file within the directory helios/keystore

  3. Configure node to use your keystore file. Copy helios/helios_config.template.py to helios/helios_config.py. Then edit the new file and tell it the filename of your keystore file to use.

Open Ports in Firewall

The node software needs to have an open path for communication with other nodes on the network. If you have firewall software enabled, such as iptables, then you might have to open some ports to ensure this. The default installation of Ubuntu and Debian probably already have the ports open. Other distros such as Centos likely have most ports closed by default.

Debian and Ubuntu

$ sudo iptables -I INPUT -p tcp -m tcp --dport 30303 -j ACCEPT
$ sudo iptables -I INPUT -p tcp -m tcp --dport 30304 -j ACCEPT
$ sudo iptables-save

Centos 7

$ sudo firewall-cmd --permanent –zone=public --add-port=30303/tcp
$ sudo firewall-cmd --permanent –zone=public --add-port=30304/tcp
$ sudo firewall-cmd --reload

Start the node

$ helios

Then enter your keystore password when prompted. This password is never saved, it is only used to initially decrypt your keystore file.

This document is still a work in progress. More details will come soon.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py-helios-node-0.3.0.tar.gz (390.7 kB view details)

Uploaded Source

Built Distribution

py_helios_node-0.3.0-py3-none-any.whl (522.0 kB view details)

Uploaded Python 3

File details

Details for the file py-helios-node-0.3.0.tar.gz.

File metadata

  • Download URL: py-helios-node-0.3.0.tar.gz
  • Upload date:
  • Size: 390.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for py-helios-node-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c421f5b8c8a3b526bfac3c1b80cba52f9e14fb71a68918dd28bf6e9916ee30f1
MD5 c91aa75bbd87195f6cb01a212e7be543
BLAKE2b-256 4e307302e6f10a4e3af84c1329c3ea0ec01970816b28d97aa8accc3df44b13a7

See more details on using hashes here.

File details

Details for the file py_helios_node-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: py_helios_node-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 522.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for py_helios_node-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33879da92d74fc386598a28110ed872883b12055c5f9b1377744395567835d58
MD5 d45556e5094b2147f176bf6902551b89
BLAKE2b-256 d8262445b8af8c76d281b1831cb52e0607509b7f997e1f5d2416ec0b51ce0ae8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page