【闪电网络】运行桌面钱包Eclair

桌面钱包Eclair是闪电网络最早的具有图形界面的桌面钱包。它运行独立的闪电网络节点,直接连入闪电网络。
Eclair需要和Bitcoin Core全节点同时运行,调用Bitcoin Core的 RPC 接口,使用Bitcoin Core钱包中的 BTC 创建支付通道。

操作方法

  1. 运行Bitcoin Core全节点

设置Bitcoin Core的配置文件bitcoin.conf

testnet=1 # 运行在testnet
server=1 # 接受 JSON-RPC 命令
txindex=1

rpcuser=yourusername # JSON-RPC连接的用户名
rpcpassword=yourpassword # JSON-RPC连接的密码
zmqpubrawblock=tcp://127.0.0.1:29000 # 在本地的29000端口公开区块信息
zmqpubrawtx=tcp://127.0.0.1:29000 # 在本地的29000端口公开交易信息

addresstype=p2sh-segwit
deprecatedrpc=signrawtransaction # eclair需要用到signrawtransaction这个命令
  1. 下载Eclair,修改配置文件

Windows 环境安装最方便,直接下载exe文件安装就行。
Mac/Linux环境下,需要Java运行环境(JRE)。而且特地需要JRE1.8,我试了最新版的JRE1.11,不行。

设置配置文件~/.eclair/eclair.conf为:

eclair.chain=testnet
eclair.bitcoind.rpcuser=yourusername
eclair.bitcoind.rpcpassword=yourpassword

可以看到:

  • bitcoin.conf的testnet=1
  • eclair.conf的eclair.chain=testnet

这表示bitcoin core运行在testnet,因为testnet的全节点只需要20多 GB,同步更快,而且可以免费获得的testnet的 BTC用于测试,不用担心丢币,方便熟悉操作流程。

如果想改用mainnet,将这两个参数改为:

  • bitcoin.conf的testnet=0
  • eclair.conf的eclair.chain=mainnet
  1. 运行 Eclair

双击文件,或者运行命令:
java -jar eclair-node-gui-<version>-<commit_id>.jar

  1. 创建支付通道

Channel->Open Channel输入目标节点的URI,锁入通道中的 BTC 金额。

《【闪电网络】运行桌面钱包Eclair》

可以在节点浏览器找一个比较大的节点连接,主网的节点可以在这里找到:

测试网的节点可以在这里找到:

  1. 支付

像素画板游戏为例,复制支付界面的payment request:

《【闪电网络】运行桌面钱包Eclair》

在Eclair打开支付界面,Channel->Send Payment,粘贴进来。

《【闪电网络】运行桌面钱包Eclair》

点击 send,弹出支付成功的提示,交易被展示在 Activity 栏。

《【闪电网络】运行桌面钱包Eclair》

计划

虽然把闪电网络手机、桌面钱包的操作学会了,但还有很多不清楚的地方,后面打算把这些问题搞清楚。

  • 闪电网络支付时发生了什么?
  • 为什么要和Bitcoin全节点一起运行,不能是Bitcion的轻钱包吗?
  • 交易时为什么需要Payment Channel双方都在线?
  • 交易为什么要先发起Payment Request?
  • 节点浏览器是怎么统计到在线的闪电网络节点的?
  • 交易是如何在网络内传播的?
  • 闪电网络节点需要执行那些任务?
  • 闪电网络手机钱包的设计难点在哪?
    原文作者:周宇盛
    原文地址: https://www.jianshu.com/p/f33ad7fc751e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞