LoginSignup
5
6

More than 5 years have passed since last update.

LightningNetworkノードを立ち上げる方法(c-lightning編)

Last updated at Posted at 2018-03-11

はじめに

最近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"
}
5
6
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
5
6