仮想通貨サービス BitCapitalZ の日記

仮想通貨関連のブログです Ripple, Ethereum 仮想通貨2.0に注目しています

【リップル】Rippleゲートウェイ(Gateway)の作り方5 Gatewaydの用意【Ripple】

【重要】この記事を書いた後、公式インストール手順が更新されており現在はこの通りに行っても正しくインストールできない可能性があります。ご注意下さい。


【リップル】Rippleゲートウェイ(Gateway)の作り方4 独自IOUの管理・引き出し機能が欲しい【Ripple】 - 仮想通貨サービス BitCapitalZ の日記
で書いた通り、Gatewayd をいじっていきたいと思います。

まずは Gatewayd をビルドして実行できるようにします。環境は ubuntu 13.10 ですが、14.04とかでも問題ないです。というか 14.04 が Gatewayd の推奨環境のようですね(2014/11/08時点)。

Gatewayd のソースコードをもってきます。gatewayd にカレントディレクトリを移動させます。

$ git clone git@github.com:ripple/gatewayd.git
$ cd gatewayd

gatewayd/install.md at master · ripple/gatewayd · GitHub を参考にインストールをしていきます。


必要なパッケージのインストール

$ sudo apt-get -y install git python-software-properties python g++ make libpq-dev
$ sudo add-apt-repository -y ppa:chris-lea/node.js
$ sudo apt-get -y update
$ sudo apt-get -y install nodejs postgresql postgresql-client

必要な NPM インストール。カレントディレクトリが gatewayd になっている必要があります。

$ sudo npm install --global pg grunt grunt-cli forever db-migrate jshint
$ sudo npm install pm2 -g --unsafe-perm
$ npm install --save

PostgresSQL の設定をします。

$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
$ sudo vim /etc/postgresql/9.1/main/pg_hba.conf
- local   all             postgres                                peer
+ local   all             postgres                                ident
$ sudo /etc/init.d/postgresql restart
$ sudo -u postgres psql -c "create user gatewayd_user with password 'password'"
$ sudo -u postgres psql -c "create database gatewayd_db with owner gatewayd_user encoding='utf8'"

config.json の用意

$ cp config/config-example.json config/config.json
$ vim config/config.json
{
+  "DATABASE_URL": "postgres://gatewayd_user:password@localhost:5432/gatewayd_db",


lib/data/database.json の用意

$ cp lib/data/database.example.json lib/data/database.json
$ vim lib/data/database.json

'development': {
-  "ENV": "DATABASE_URL"
+  "ENV": "postgres://gatewayd_user:password@localhost:5432/gatewayd_db"
}

※フォーラムにてシングルクォート(')だとダメでダブルクォート(")だと問題ないという報告がありました。


Postgres の DB に migrate を行います。

$ grunt migrate

起動します!!

$ bin/gateway start

Starting gateway processes and running `pm2 list`...
┌──────────┬────┬──────┬──────┬────────┬───────────┬────────┬─────────────┬─────────────┐
│ App name │ id │ mode │ PID  │ status │ restarted │ uptime │      memory │    watching │
├──────────┼────┼──────┼──────┼────────┼───────────┼────────┼─────────────┼─────────────┤
│ outgoing │ 0  │ fork │ 5368 │ online │         0 │ 1s     │ 48.988 MB   │ unactivated │
└──────────┴────┴──────┴──────┴────────┴───────────┴────────┴─────────────┴─────────────┘

 Use `pm2 desc[ribe] <id>` to get more details

これでとりあえず、Gatewayd が動きました。


こちらで世の中の Ripple ゲートウェイのリスト化をしております
http://pobits.info/ripple/gateways

他にもお困りな事等ありましたら、下記のフォーラムにご質問下さい。
Ripple Stellar Ethereum 等次世代仮想通貨掲示板 in BitCapitalZ