ビットコインなどデジタルマネーについての研究・普及・交流の推進を行う一般社団法人

menu

日本デジタルマネー協会 / ビットコイン / Bitcoin

ライトニングネットワークを利用するマイクロ送金テスト

Pocket

ライトニングネットワークを利用して、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に詳しくない場合、難易度は高いです。

以上

Pocket

関連記事