Ubuntu 16.04 を使用する。
Lightning Charge とは、clightning を REST API にするツール。
基本的に公式のとおりに入れれば入る。
Bitcoin および clightning(cln) のインストール
こちらで解説しました。
nodejs と npm のインストール
sudo apt update
sudo apt install curl
curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt install nodejs
node -v # バージョンが表示されれば成功
npm -v # バージョンが表示されれば成功
Lightning Charge は node のバージョンが新しすぎると動かないので、バージョンを簡単に変更できるようにn
を入れておく。
sudo npm i -g n
sudo su - # rootにならないと n が効かない
n 8.9.0 # とりあえずこのバージョンでは動いた
Lightning Charge のインストール
npm でやるとエラーが出るので、yarnで入れる
sudo npm i -g yarn
sudo yarn global add lightning-charge
早速起動。以下に注意する。
- 9112番ポートを開放するのを忘れずに
- "midori" が API アクセスの為のシークレットトークンとなるため、適当な文字列に置き換える
- ~/.lightning を lightning-dir に指定して lightningd を立ち上げた前提
- charge.db は ~/.lightning/charge.db に配置することにした
- --host を 0.0.0.0 にすると、外部からのアクセスも受け入れるようになる
charged --api-token midori --ln-path ~/.lightning --db-path ./charge.db --port 9112 --host 0.0.0.0
サーバ内部から叩いてみる。
curl http://api-token:midori@localhost:9112/info
結果が返ってくれば成功。
外部から叩く場合は、localhost
をIPアドレスに置き換えればよい。
curl http://api-token:midori@testnet.cln.green:9112/info
こうすると以下が返ってくる。
{"id":"031201e62297a420a3878d0d8b7c4206553d354097da1a9e7c34158303d9223569","alias":"HAPPYBAGEL","color":"031201","address":[],"binding":[{"type":"ipv6","address":"::","port":9735},{"type":"ipv4","address":"0.0.0.0","port":9735}],"version":"v0.6.2-4-gaab9155","blockheight":493441,"network":"testnet","msatoshi_fees_collected":0}