BitZeny(bitzenyd)をCentOS 6.9で動かす方法です。
CentOS 6.9のyumリポジトリで管理されるパッケージのバージョンが一部対応しておらず、その分は個別にインストールしています。CentOS 7以降ではまた違ってくると思います。
※構築/実行は自己責任でお願いします。基本的なことは知っている、もしくは調べられる人向けに書いているため、コマンドなど細かく説明していません。
※他のコインで書いた内容をコピーしているため、一部不要な手順があるかもしれません。
<環境>
https://github.com/bitzeny/bitzeny
https://github.com/bitzeny/bitzeny/archive/z1.1.0.tar.gz
BitZeny をビルドする
1-1. yumで揃うパッケージのインストール
~ $ yum install gcc gcc-c++ kernel-devel ~ $ yum install libtool automake autoconf ~ $ yum install pkgconfig
下記はCentOS 6.9のパッケージでは他のコインの実行時にエラーとなったため使いません。(boost-develは別サイトでエラーになるって見たので試しておらず、あくまでもらしい)。
※実行不要です ~ $ yum install openssl-devel ~ $ yum install boost-devel
OpenSSL起因はこんな感じのエラーです。
Error: OpenSSL appears to lack support for elliptic curve cryptography. For more information, visit https://en.bitcoin.it/wiki/OpenSSL_and_EC_Libraries
ここからはyumでインストールしたパッケージとバッティングするのが嫌なので、/home/wallet/common にウォレット用のライブラリをインストールします。
<参考サイト>
1-2. Berkeley DB 4.8のインストール
~ $ wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz ~ $ tar xvzf db-4.8.30.NC.tar.gz ~ $ cd db-4.8.30.NC/build_unix/ ~/db-4.8.30.NC/build_unix $ ../dist/configure --prefix=/home/wallet/common --enable-cxx ~/db-4.8.30.NC/build_unix $ make ~/db-4.8.30.NC/build_unix $ make install
1-3. OpenSSL(最新)のインストール
~ $ wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz ~ $ tar xvzf openssl-1.0.2n.tar.gz ~ $ cd openssl-1.0.2n/ ~/openssl-1.0.2n $ ./config --prefix=/home/wallet/common --openssldir=/home/wallet/common/openssl -fPIC shared ~/openssl-1.0.2n $ make ~/openssl-1.0.2n $ make install
1-4. Boost(最新)のインストール
~ $ wget https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.gz ~ $ tar xvzf boost_1_65_1.tar.gz ~ $ cd boost_1_65_1/ ~/boost_1_65_1 $ ./bootstrap.sh ~/boost_1_65_1 $ ./b2 --prefix=/home/wallet/common link=static runtime-link=static install
1-5. BitZenyのビルド
ビルドしたファイルの出力先は /home/wallet/bitzeny とします。
~ $ wget https://github.com/bitzeny/bitzeny/archive/z1.1.0.tar.gz ~ $ tar xvzf z1.1.0.tar.gz ~ $ cd bitzeny-z1.1.0/ ~/bitzeny-z1.1.0 $ ./autogen.sh ~/bitzeny-z1.1.0 $ LD_LIBRARY_PATH=/home/wallet/common/lib \ LIBS="-lssl -lcrypto -lrt" \ CPPFLAGS=-I/home/wallet/common/include \ LDFLAGS=-L/home/wallet/common/lib \ SSL_CFLAGS=-I/home/wallet/common/include \ SSL_LIBS=-L/home/wallet/common/lib \ CRYPTO_CFLAGS=-I/home/wallet/common/include \ CRYPTO_LIBS=-L/home/wallet/common/lib \ PKG_CONFIG_PATH=/home/wallet/common/lib/pkgconfig \ PKG_CONFIG_LIBDIR=/home/wallet/common/lib \ ./configure --prefix=/home/wallet/bitzeny \ --with-boost=/home/wallet/common \ --with-boost-libdir=/home/wallet/common/lib ~/bitzeny-z1.1.0 $ make ~/bitzeny-z1.1.0 $ make install ~/bitzeny-z1.1.0 $ ls -l /home/wallet/bitzeny/bin -rwxr-xr-x 1 wallet wallet 18209930 12月 18 23:02 2017 bitzeny-cli -rwxr-xr-x 1 wallet wallet 79061077 12月 18 23:02 2017 bitzenyd -rwxr-xr-x 1 wallet wallet 137261696 12月 18 23:02 2017 test_bitcoin
補足
今回のように任意の場所にライブラリを配置し、かつ、/etc/ld.so.conf にパスを通さない場合、BitZenyを起動する際には環境変数 LD_LIBRARY_PATH にライブラリのパスを設定しなければなりません。
~ $ export LD_LIBRARY_PATH=/home/wallet/common/lib ~ $ ./bitzenyd ~ $ ./bitzeny-cli stop
もしくは
~ $ LD_LIBRARY_PATH=/home/wallet/common/lib ./bitzenyd ~ $ LD_LIBRARY_PATH=/home/wallet/common/lib ./bitzeny-cli stop
.bashrc や .bash_profile への追加でもよいと思いますが、個人的には好きではありません。
BitZeny を起動する
2-1. bitzenyd の初回起動(エラー)
bitzenyd を実行すると起動しますが、設定ファイルが無いため、エラーになります。ただ初回起動時にウォレット等のディレクトリを作成するため、エラーでもよいので起動します。
~ $ LD_LIBRARY_PATH=/home/wallet/common/lib ./bitzenyd Error: To use the "-server" option, you must set a rpcpassword in the configuration file: /home/wallet/.bitzeny/bitzeny.conf It is recommended you use the following random password: rpcuser=bitzenyrpc rpcpassword=BFUKx53Cwr5zQAdnw3WwcUxJYdY5TSX7Qz1C662bmRHe (you do not need to remember this password) The username and password MUST NOT be the same. If the file does not exist, create it with owner-readable-only file permissions. It is also recommended to set alertnotify so you are notified of problems; for example: alertnotify=echo %s | mail -s "BitZeny Alert" admin@foo.com
2-2. bitzeny.conf の作成
/home/ユーザ名/.bitzeny 配下にウォレットのデータが作成されたため、設定ファイルの bitzeny.conf を作成します。rpcxxxの部分は自分の環境に合わせてください。
~ $ vi /home/ユーザ名/.bitzeny/bitzeny.conf rpcuser=user rpcpassword=pass rpcallowip=127.0.0.1 rpcallowip=192.168.1.* rpcport=9302 daemon=1 server=1 gen=0 addnode=xx.xx.xx.xx addnode=xx.xx.xx.xx addnode=xx.xx.xx.xx
addnodeは下記より取得し、10-20ほど設定してください。設定しないとデータの同期が始まりません。
https://c-cex.com/?id=ws&shownodes=zny
2-3. bitzenyd の起動
設定ファイル作成後に再度 bitzenyd を実行します。実行後は起動したことを確認するため、bitzeny-cli getinfo を実行します。
~ $ LD_LIBRARY_PATH=/home/wallet/common/lib ./bitzenyd BitZeny server starting ~ $ LD_LIBRARY_PATH=/home/wallet/common/lib ./bitzeny-cli getinfo { "version" : 1010000, "protocolversion" : 70006, "walletversion" : 60000, "balance" : 0.00000000, "blocks" : 7920, "timeoffset" : 0, "connections" : 8, "proxy" : "", "difficulty" : 0.01540543, "testnet" : false, "keypoololdest" : 1513605808, "keypoolsize" : 101, "paytxfee" : 0.00000000, "relayfee" : 0.00001000, "errors" : "" }
bitzenyd を停止するには、bitzeny-cli stop を実行します。
~ $ LD_LIBRARY_PATH=/home/wallet/common/lib ./bitzeny-cli stop BitZeny server stopping
2-4. ウォレットの暗号化
ウォレット(wallet.dat)を暗号化するには、bitzeny-cli encryptwallet を実行します。実行後には bitzenyd を再起動します。暗号化すると送金等一部の処理にパスワードが必要となります。
※Linux上ではコマンド履歴が残るため、Windowsで暗号化したwallet.datをLinuxへアップロードして使う、.bash_historyを削除するなどすることをオススメします。
~ $ LD_LIBRARY_PATH=/home/wallet/common/lib ./bitzeny-cli encryptwallet password wallet encrypted; BitZeny server stopping, restart to run with encrypted wallet. The keypool has been flushed, you need to make a new backup. ~ $ LD_LIBRARY_PATH=/home/wallet/common/lib ./bitzeny-cli stop ~ $ LD_LIBRARY_PATH=/home/wallet/common/lib ./bitzenyd
参考になりましたらBitZenyを寄付していただけると幸いです。
BitZenyアドレス:ZoZ3ReMKNcdKuUMKqQt3dnBs5fEL1JLBHv