16Jan
ライトニングネットワークを利用して、10 satoshiのテスト送金が出来たので、記事にします。
環境に関して、さくらのVPSの1Gを選びました。http://vps.sakura.ad.jp/specification/
さくらと契約後、Ubuntu 16.04.1を選択します。Ubuntuの初期設定はハッカーの手助けが必要です。
そして、Ubuntuにbitcoindをインストールします。
$ sudo apt-get update
$ sudo apt-get install autoconf libtool libprotobuf-c-dev libsodium-dev libbase58-dev libsqlite3-dev libgmp-dev libsqlite3-dev asciidoc
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:bitcoin/bitcoin
$ sudo apt-get update
$ sudo apt-get install bitcoind
SegWitはメインネットでactivateされてないので、テストネットを使います。
$ bitcoind -testnet -daemon
$ bitcoin-cli getnewaddress
テストネット用のfaucetから、ビットコインを入手します。https://testnet.manu.backend.hamburg/faucet
ライトニングネットワークの実装は複数ありますが、今回はBlockstream版を選択しました。https://www.reddit.com/r/Bitcoin/comments/5hw6wi/im_so_excited_for_lightning_network/
gitをインストール後、lightning.gitをインストールします。
$ sudo apt-get install git
$ sudo apt-get install autoconf libtool libprotobuf-c-dev libsodium-dev libbase58-dev libsqlite3-dev libgmp-dev libsqlite3-dev asciidoc
$ git clone https://github.com/ElementsProject/lightning.git
lightning.gitをインストール後、
$ cd lightning
~/lightning$ git submodule init
~/lightning$ git submodule update
~/lightning$ sudo apt-get install make
~/lightning$ make
lightningdを走らせます。
~/lightning$ cd
$ ./lightning/daemon/lightningd &
アドレスを作ります。
$ ./lightning/daemon/lightning-cli newaddr
今回、私は送り手ですが、受け手を見つけて、以下のRustyのstep通りに送信します。https://github.com/ElementsProject/lightning/blob/master/README.md
step 9に従って、チャネルをオープンします。
~/lightning$ ./contrib/lightning-open-channel xxx.xxx.xxx.xxx 42480 0.004
step 11に従って、PAYMENT-HASH値を受け手から入手します。
10,000 mill satoshi (10 satoshi) を送信する場合、ea78128977517d9b03183d0dd19fc0a311ab4e2638f7536a5131893ebcd075f4
~/lightning$ contrib/lightning-pay 035d…9339 100000 ea78128977517d9b03183d0dd19fc0a311ab4e2638f7536a5131893ebcd075f4
lightningd(8610): Connected json input
lightningd(8610): find_route:
lightningd(8610): via 035d…9339
contrib/lightning-pay: 1: contrib/lightning-pay: bc: not found
Paying fee 0 on 100000 (%). Send [Y/n]? Y
lightningd(8610): Connected json input
“already succeeded with amount 10000”
これでlightningdからlightningdへ10 satoshi送金出来ました。ただし、bitcoindでのトランザクションには反映されておらず、今後、検証を進める必要あります。
以上を約3日間で終えました。フロンティアパートナーズ合同会社の今井さんの手助けがあったので、Ubuntu, bitcoind, lightningdの環境構築から送金まで出来ましたが、Ubuntuに詳しくない場合、難易度は高いです。
以上