LoginSignup
2
1

More than 5 years have passed since last update.

ILPのテストネットで送金を試す

Last updated at Posted at 2018-04-19

はじめに

当記事は、ILPの公式ページからたどれる以下のチュートリアルに従い、テストネット上でILPを使って送金した時の手順です。

結論

  • Moneyd, ilp-spspをインストールして、テストネット上で送金した
  • 送金はPayment Channel上(つまりオフレジャー)で行われるため、残高確認の方法が分からない。

ILPとは

ILP(Interledger Protocol)は、異なる台帳間をつないで価値の交換を行うためのプロトコルです。

詳しくは、どらさんの下記の記事が分かりやすいです。

世界で一番分かりやすい Interledger Protocol

私の環境

Ubuntu 16.04で行いました。
作成されるファイルが分かりやすいように、「ilpuser」というユーザを作成してそのユーザで作業しています。

Moneydのインストール

InterLedgerネットワークに接続するには、Moneydというデーモンを介して接続します。

1.Node.jsのインストール

nvmを使って、Node.jsの最新版をインストールします。
(なぜかnpmでNode.jsをインストールした場合は、Moneydのインストール途中でエラーで止まってしまいました)

$ cd
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
$ export NVM_DIR="$HOME/.nvm"
$ [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
$ nvm --version
0.33.8
$ 
$ nvm install node
$ node -v
v9.11.1

2.Moneydのインストール

$ npm --version
5.6.0
$ npm install -g moneyd

表示されるメッセージの最後のほうに「+ moneyd@3.3.2」と表示されればMoneydのインストール完了です。

Moneydの設定

Moneydに「configure」オプションをつけて起動し、設定ファイルを生成します。
テストネットを使うので「--testnet」オプションもつけます。

$ moneyd configure --testnet

setting testnet rippled server...
setting config file location to /home/ilpuser/.moneyd.test.json
acquiring testnet account...
got testnet address "rNRCN6fk8xyMctdhpDjNwsM4RuUNKBXj7D"
waiting for testnet API to fund address...
selecting a parent from connector list...
writing config file...
written to /home/ilpuser/.moneyd.test.json

ホームディレクトリの直下に、「.moneyd.test.json」というファイルが生成され、アドレスやシークレットキーなどが入ります。

Moneydの起動

「start」オプションをつけて起動します。
下記、起動時にmoneydのロゴがアスキーアートで出ますが、Qiitaでは表示がくずれるので省略しています。

$ moneyd start --testnet

starting moneyd
2018-04-11T07:03:32.517Z connector:route-broadcaster info generated random routing secret.
2018-04-11T07:03:32.558Z connector:accounts info add account. accountId=parent
2018-04-11T07:03:32.565Z connector:accounts warn DEPRECATED: plugin accessed deprecated _log property. accountId=parent
2018-04-11T07:03:32.566Z connector:accounts info add account. accountId=local
2018-04-11T07:03:32.570Z connector:accounts warn DEPRECATED: plugin accessed deprecated _log property. accountId=local
2018-04-11T07:03:32.571Z connector:accounts warn DEPRECATED: plugin accessed deprecated _store property. accountId=local
2018-04-11T07:03:32.571Z connector:accounts warn DEPRECATED: plugin accessed deprecated _store property. accountId=local

2018-04-11T07:03:46.943Z connector:accounts info setting ilp address. oldAddress=unknown newAddress=test.amundsen.bmp.btp18q1xrp.xEv665x83ew6HKvr-3upnqwtJkhq51ayOHPk9IlXC3Y
2018-04-11T07:03:46.960Z connector:admin-api info listen called
2018-04-11T07:03:46.961Z connector:app info connector ready (republic attitude). address=test.amundsen.bmp.btp18q1xrp.xEv665x83ew6HKvr-3upnqwtJkhq51ayOHPk9IlXC3Y

SPSPのインストール

送金を行うには、SPSP(Simple Payment Setup Protocol)を使います。
こちらもnpmでインストールします。

$ npm install -g ilp-spsp

送金前の残高確認(やり方不明)

送金前の残高を確認します。後述するように、送金後も変化がありませんでした。

$ moneyd info --testnet
getting account...
balance:  9989.999988 XRP
account:  rsbjTxc6f7kgVN8VNMQGDFFhj5qJStMQwP
index  destination                         amount (drops)  balance (drops)  closing
0      rE75PyLPYbCGJ4SUiDLvtaCsuRXMd9x5ba  10000000        30000                

SPSPで送金

上記のilp-spspコマンドで、テストアドレスに送金します。

$ ilp-spsp send --amount 10 --receiver '$spsp.ilp-test.com'
paying 10 to "$spsp.ilp-test.com"...
sent!

送金後の残高確認・・・やり方が分からない!

$ moneyd info --testnet
getting account...
balance:  9989.999988 XRP
account:  rsbjTxc6f7kgVN8VNMQGDFFhj5qJStMQwP
index  destination                         amount (drops)  balance (drops)  closing
0      rE75PyLPYbCGJ4SUiDLvtaCsuRXMd9x5ba  10000000        30000                

moneydで残高確認しましたが、balanceも、destination balanceも変化がありません。
moneydを何度か再起動したり、別な金額で送金したり、SPSPサーバをたててそちらに送金したりしたところ、1時間後ぐらいにdestinationのbalanceが変わりました。

gitterで質問したところ、送金はPayment Channel上で行われるので、channel上に資金を追加するまで残高は変化しない。とのことでした。

他に何か分かったら追記します。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1