はじめに
最近LightningNetworkが話題に出ることが多いですが、これはビットコインが抱えている以下3つの課題解決が出来るためです。
- 取引量が限られる(7件程度/秒)
- 送金手数料が高い。
- ブロックチェーンサイズが大きくなってきた。
- 取引の確定に時間がかかる。
実際にLightningNetworkのノードを立ち上げる手順を説明します。
接続先はtestnet(テスト環境)、OSはUbuntuを想定しています。
全体流れ
- Bitcoinフルノードの立ち上げ
- c-lightningのインストール
- configの設定
- その他の設定
- ノードの起動
Bitcoinフルノードの立ち上げ
最初にBitcoinのフルノードを立ち上げる必要があるのでまだの場合はお手軽にVPSでBitcoinフルノードを立ち上げる方法などを参考に立ち上げてください。
c-lightningのインストール
LightningNetworkは複数社からリリースされてますが今回はBlockstream社のc-lightningを使用します。理由は私が見た範囲で情報が一番多いからです。
詳細はGitHubで確認してください。
$ apt-get update
$ apt-get install -y \autoconf automake build-essential git libtool libgmp-dev \libsqlite3-dev python python3 net-tools zlib1g-dev
$ git clone https://github.com/ElementsProject/lightning.git
$ cd lightning
$ ./configure
$ make
configの設定
$ mkdir ~/.lightning
$ cd .lightning
~/.lightning/configファイルを作成して以下を記述する。
alias=ノードのエイリアス名
rgb=008000
port=9735
network=testnet
その他の設定
portの設定
mainnetもtestnetも9735を使用するので使えるように設定します。
18333はbitcoindがtestnetの時に使用し、mainnetの場合は8333を使用します。
$ ufw enable
$ ufw allow 9735
$ ufw reload
$ ufw status
状態: アクティブ
To Action From
-- ------ ----
18333 ALLOW Anywhere
9735 ALLOW Anywhere
18333 (v6) ALLOW Anywhere (v6)
9735 (v6) ALLOW Anywhere (v6)
PATHの設定
PATH設定してlightning-cliを使いやすくします。
~/.profile に記述
PATH="$PATH:/root/bitcoin-core/bin:/root/lightning/lightningd:/root/lightning/cli"
PATHを有効にする。
$ source ~/.profile
c-lightningの起動
LightningNetworkのノードを起動します。
必要に応じてdebug.logで状況を確認してください。
lightningd --log-level=debug >> .lightning/debug.log &
必要に応じてdebugログの確認をしてください。
$ tail -f ~/.lightning/debug.log
lightning-cli getinfo
コマンドで状況が確認できます。
$ lightning-cli getinfo
{
"id": "036a6d2352e476fbfd2152604e90c51949fb4ce36003a02198efef3390b5907126",
"port": 9735,
"address": [
],
"binding": [
{
"type": "ipv6",
"address": "::",
"port": 9735
}
],
"version": "v0.6rc2",
"blockheight": 1326203,
"network": "testnet"
}