人人都能成为闪电网络节点:第6章安装lnd

决定安装lnd了,建议先烧柱香,拜拜中本聪,会减少些磨难和诡异。

C-lightning、LND和Éclair的关系和区别:

闪电网络驱动的基础技术区别在于编码语言。Éclair用的是Scala,LND用的是Go-Long,而C-lightning用的是C语言。通过建立在Ska之上,Éclair兼容所有的Java语言,这可以让许多企业很容易就在当前的技术平台上工作。Éclair已经开发了安卓钱包和付款流程API;LND更关注于配合开发人员在闪电网络上构建以比特币为基础的新应用程序。值得注意的是,因为只有一个闪电协议,尽管有三种不同的驱动形式,但所有的驱动都互相兼容。
除此之外,lightningcn群里有位Ronald Wiplinger老师说:Big difference between lnd and c-lightning is that lnd funds channels at both noods, while c-lightning has only one direction channels. Worse, it cannot have A to B and B to A. It must use A to B and back B to C to A.(注意留言时间是2019.3.25,以后不一定一直如此)。

lnd安装

环境:

浪潮云 ecs:2c4g,40g系统盘,300g数据盘,1m网络
ubuntu 16.04

系统安装之后只有ubuntu账户,没有root。
解决办法:
sudo passwd //输入两次当前用户密码
su //用这个密码登录root就可以了。

bitcoin core环境安装lnd

1、安装go

wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz

sha256sum go1.13.linux-amd64.tar.gz | awk -F " " '{ print $1 }'
安装完成,输出:
68a2297eb099d1a76097905a2ce334e3155004ec08cdea85f24527be3c48e856

image.png

sudo tar -xzvf go1.13.linux-amd64.tar.gz

export PATH=$PATH:/usr/local/go/bin

export GOROOT=/usr/local/go

export GOPATH=/data/go

2、安装lnd

go get -d github.com/lightningnetwork/lnd

cd $GOPATH/src/github.com/lightningnetwork/lnd

make && make install


make && make install

可以使用下面的命令检查安装结果:

make check


image.png

运行lnd

首先配置lnd.conf文件,注意这里的参数要与bitcoin.conf保持一致。

#https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf
[Application Options]
debuglevel=debug
#debughtlc=true
maxpendingchannels=5
alias=ytm.ltd
color=#68F442

[Bitcoin]
bitcoin.active=1
bitcoin.mainnet=1
bitcoin.node=bitcoind
# bitcoin.testnet=1

[bitcoind]
bitcoind.rpcuser=xxx #用户名一致
bitcoind.rpcpass=xxx #密码一致
[lnd使用zmq与bitcoind通信,这个必须要有,特别提醒:bitcoin.conf文件中也必须有zmqpubrawblock,zmqpubrawtx这两个选项]
bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 #zmq一致
bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333 #zmq一致
[autopilot]
autopilot.active=1
autopilot.maxchannels=5
autopilot.allocation=0.6

lnd --configfile=<填写自己的路径>/lnd.conf >/data/btc/lnd20190417.out //开启lnd,也可以加nohup后台运行。


lnd

附:安装btcd(如果不想使用bitcoin core,可以尝试btcd)

make btcd //安装btcd

cd /data/btc
vi btcd.conf //编辑btcd.conf文件

rpcuser=xxx
rpcpass=****
configfile=/data/btc/btcd.conf  # 我跟data放一起了,默认位置在/root/.btcd/btcd.conf)
datadir=/data/btc
logdir=/data/btc/logfile
maxpeers=50

nohup btcd --configfile=/data/btc/btcd.conf >/data/btc/20190417.out //后台运行btcd

终于看到久违的更新区块画面了


image.png

检查区块同步情况。痛苦的区块同步过程竟然达到3周,3周啊,之前在家里使用bitcoind只需要3天就同步完成了。
btcctl getinfo


同步了20万个区块,还没有完成

好的,下一章,我们继续lnd的管理。


参考文章:
闪电网络技术的前世今生
https://www.douban.com/note/680755028/
闪电网络lnd的github文档
https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md
[初版]人人都能搭建闪电网络
https://www.jianshu.com/p/4f997c5b57ff

推荐阅读更多精彩内容

  • 安装官方安装命令: go get google.golang.org/grpc 是安装不起的,会报: packag...
    一语惊雷阅读 22,370评论 3 20
  • .├── bccsp│ ├── aesopts.go│ ├── bccsp.go│ ├── ecdsa...
    简闻阅读 470评论 0 0
  • 1. 分布式系统核心问题 参考书籍:《区块链原理、设计与应用》 一致性问题例子:两个不同的电影院买同一种电影票,如...
    molscar阅读 672评论 0 0
  • 现在我想跟你说的是一些不起眼的事情比如,一朵花在阳台绽放一只鸟飞落在树上一群蚂蚁向洞口爬行还有,一场雪在天空飘扬一...
    夏小半001阅读 198评论 8 12
  • 有次半夜,一个病人跟我说,你们当大夫好啊,风吹不到,雨淋不到,日子过得挺逍遥的。 逍遥?知道什么叫逍遥吗?不知道吧...
    医林演艺阅读 123评论 0 0
  • 定时器在javascript中的作用1、制作动画2、异步操作3、函数缓冲与节流 定时器:setTimeout 只...
    暴走的金坤酸奶味阅读 105评论 0 0
  • 敬笃 当时间被放置在一个局促的空间里,总有人会沉睡,也会有人清醒。四季,总因为天地轮回,日月更替变换之后,才衍生了...
    山谷小道士阅读 279评论 2 4
  • 对象的 constructor 属性 可以返回创建该对象的函数, 也就是 构造函数 除了一些特殊对象 其他对象都具...
    崩鲨卡拉卡阅读 701评论 0 2