ptarmiganのnodeを建てる
環境
AWS EC2インスタンス。type: t2large、OS: ubuntu18.04 LTS
参考
依存ライブラリのインストール
公式のREADMEにしたがって、まずはビルドに必要な依存ライブラリをインストールする
code: instal libs
sudo apt install -y git autoconf pkg-config build-essential libtool wget jq bc
ソースの取得〜ビルド
これも公式の手順どおり
code: get source and build
cd ptarmigan
make full
バイナリにパスを通す
make が終わると ~/ptarmigan/install/にバイナリが配備されるのでそこへのパスを通す
code: path
echo 'export PATH=$PATH:~/ptarmigan/install' >> ~/.bashrc
source ~/.bashrc
起動
ログレベル系のオプションは特にない。bitcoinの設定(confファイルの場所とか)が全てデフォルトであれば特にオプションなどは必要ない。
code: launch
ptarmd
nodeIDの振り直し
nodeIDを作り直したいシーンは少ないかもしれませんが一応情報として。
ptarmdを起動した時のdirectoryに作成されているdbデータを削除することで、node情報をクリアできます。
取引情報等も全部くりあされるのでバックアップしてから削除することをおすすめします。
code: ptarm conf
rm -rf dbptarm/
送金する
node情報の確認
code: getinfo
ptarmcli -l
他のnodeと接続する
code: connect
$ ptarmcli -c 030ed8f399afe96184a03556fcf43ca8dad32b146d537e697d42a64560ee7c3a0b@52.194.255.154:9735
{
"result": "OK"
}
channel open
ptarmcliのヘルプを見ると設定ファイルを渡すことでchannel openできる様になってる。
この設定ファイルは、ptarmigan/install/pay_fundin.shを使うことで作成できる。
parameterはそれぞれ、<channel openに使う新しいaddress宛におくるsatoshi> <channelにfundingするsatoshi> <相手先nodeあらかじめ送るsatoshi>である。
なので、pay_fundin.shを呼び出した後、作成されたファイルを使ってchannelをopenする。
また、pay_fundin.shはbitcoin-cliを使って新しいaddressを作ってそこにchannel openに使うbtcを送金するので、同一サーバ上で動いている、bitcoindのwalletにある程度資金を入れておく必要がある。
code: pay_fundin
$ pay_fundin.sh 5300 5000 1000
create: fund_20190206025935.conf
$ ptarmcli -c 030ed8f399afe96184a03556fcf43ca8dad32b146d537e697d42a64560ee7c3a0b -f fund_20190206025935.conf
{
"result": {
"status": "Progressing"
}
}
invoiceの発行
code: invoice
$ ptarmcli -i 2500000
{
"result": {
"hash": "6bffceec619909b585ac493cb50cc3a8f7668f4d38c7f5579030ef4a18e79fc2",
"amount": 2500000,
"bolt11": "lntb25u1pw94q7knp4qfdm9t3jtfar5k3ghqgg2zpmh7t6cd7hhtdsy7849g2gwunpw4khcpp5d0luamrpnyymtpdvfy7t2rxr4rmkdr6d8rrl24usxrh55x88nlpqdq0wp6xzundd9nkzmsrzjqv8d3uue4l5krp9qx4t0eapu4rddx2c5d4fhu6tag2ny2c8w0saqk93hp5qqqdsqqqqqqqq2qqqqqeqqysqstjhj37c3u2xzhndrucatne4973txt6d5lxwrnwrsd975fpuumnynjj56qdaysq55z4x49aqexqcc3ww04jd3equesjenjmmf0u78sppjhkee"
}
}
送金する
code: pay
$ ptarmcli -r lntb25u1pw94q7knp4qfdm9t3jtfar5k3ghqgg2zpmh7t6cd7hhtdsy7849g2gwunpw4khcpp5d0luamrpnyymtpdvfy7t2rxr4rmkdr6d8rrl24usxrh55x88nlpqdq0wp6xzundd9nkzmsrzjqv8d3uue4l5krp9qx4t0eapu4rddx2c5d4fhu6tag2ny2c8w0saqk93hp5qqqdsqqqqqqqq2qqqqqeqqysqstjhj37c3u2xzhndrucatne4973txt6d5lxwrnwrsd975fpuumnynjj56qdaysq55z4x49aqexqcc3ww04jd3equesjenjmmf0u78sppjhkee
---------------------------------
blockchain: bitcoin testnet
amount_msat=2500000
timestamp= 1549435862 : 2019-02-06T06:51:02Z
min_final_cltv_expiry=9
payee=025bb2ae325a7a3a5a28b81085083bbf97ac37d7badb0278f52a14877261756d7c
payment_hash=6bffceec619909b585ac493cb50cc3a8f7668f4d38c7f5579030ef4a18e79fc2
------------------------
030ed8f399afe96184a03556fcf43ca8dad32b146d537e697d42a64560ee7c3a0b
short_channel_id=16370d0000360000
fee_base_msat=10
fee_proportional_millionths=100
cltv_expiry_delta=36
------------------------
---------------------------------
{
"result": "start payment..."
}
closeする
code: close
$ ptarmcli -c 030ed8f399afe96184a03556fcf43ca8dad32b146d537e697d42a64560ee7c3a0b -x
{
"result": "Start Mutual Close"
}