Skip to content

Instantly share code, notes, and snippets.

@YoshihitoAso
Last active April 21, 2016 06:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save YoshihitoAso/a301aa86b9a43209e166e2e5339baace to your computer and use it in GitHub Desktop.
Save YoshihitoAso/a301aa86b9a43209e166e2e5339baace to your computer and use it in GitHub Desktop.
hydrachainのインストールに関するメモ

Ubuntu14.04環境にhydrachainをインストール

hydrachain http://hydrachain.com/

以下hydrachainのインストール手順。

実施した環境

この手順を実施したOS環境は以下の通り。

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.4 LTS
Release:	14.04
Codename:	trusty

Python仮想環境を作成する

Anacondaを利用してPythonの仮想環境を作成する。"hydrachain"という名前の仮想環境を作成する。

$ conda create -n hydrachain anaconda
$ source activate hydrachain

2016/4/20時点でのPythonのバージョンは以下の通り。

$ python --version
Python 2.7.11 :: Anaconda custom (64-bit)

pydevp2pのインストール

pydevp2p( https://pydevp2p.readthedocs.org/en/latest/ )をインストールする。 pydevp2pはEthereumのP2PスタックのPython実装である。 インストールはpipで可能である。

$ pip install devp2p

hydrachainをインストールする

本体以外で必要なモジュールをインストールする。

$ sudo apt-get install libssl-dev libffi-dev libtool python-dev autoconf automake

hydrachain本体のインストールは最新のソースコードをチェックアウトすることにより行う(gitが入ってなければ入れる)。

$ git clone https://github.com/HydraChain/hydrachain
$ cd hydrachain
$ python setup.py develop

hydrachainを起動する

シングルプロセスで複数ノードを起動

$ hydrachain -d datadir runmultiple --num_validators=3 --seed=42

同じマシン上に複数プロセスで複数ノードを起動

$ hydrachain -d <datadir> rundummy --num_validators=3 --seed=42 --node_num=0

3つのターミナルで3つのノードを立ち上げるような場合は下記の通り。

$ hydrachain -d datadir0 rundummy --node_num=0
$ hydrachain -d datadir1 rundummy --node_num=1
$ hydrachain -d datadir2 rundummy --node_num=2

rundummyコマンドは、同じマシンで動作するnum_validatorノード(アプリケーションのインスタンス)を自動的にセットアップする。 それぞれのインスタンスのノードは--node_num=<int>で定義され、また--seed=<int>ですべてのノードで利用される鍵の数を定義することができる。

なお5つ以下のノードで運用を行った場合、1台ストップしただけで、ネットワーク全体がストップする(コンセンサスが動かない状態)らしい。 実運用では6ノード以上の起動が必要。

参考) https://gitter.im/HydraChain/hydrachain/archives/2016/01/09

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment