教你如何在Linux系统上建立自己的闪电网络节点和通道?
- 链闻ChainNews
- 2018-07-05 01:46
本文介绍在 Linux 系统先后通过同步比特币网络数据、运行闪电网络节点、发送比特币到你的闪电网络地址、建立通道、收款和支付等步骤,建立闪电网络节点和通道的实施步骤。
如何在 Linux 系统建立自己的闪电网络节点和通道
下面你需要准备一个硬盘储存大于 200 G 的 VPS 环境和 Ubuntu 16.04 系统。推荐用 DigitalOcean 的虚拟主机,文中的配置是 320G 硬盘 /6 核 /16GRAM。费用为 80$/ 月
uname -a Linux docker-s-6vcpu-16 gb-sgp1-01 4.4.0-109-generic #132-Ubuntu SMP Tue Jan 9 19:52:39 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
另外,你需要安装 docker 环境,如果你用的 DigitalOcean,请在 One-click APP 中选择 Docker 17.12。
第一步,同步比特币网络数据
构建 docker 镜像
git clone https://github.com/dougvk/lightning-node.git cd lightning-node docker build . -t dougvk/bitcoind
运行比特币节点
mkdir -p /scratch/bitcoin/mainnet/bitcoind
docker run --name bitcoind_mainnet -d -v /scratch/bitcoin/mainnet/bitcoind:/data -p 8333:8333 -p 9735:9735 dougvk/bitcoind:latest
docker logs bitcoind_mainnet --tail "10"
将下列内容写到文件 /usr/local/bin/bitcoin-cli
!/usr/bin/env bashdocker run --rm --network container:bitcoind_mainnet -v /scratch/bitcoin/mainnet/bitcoind:/data dougvk/bitcoind:latest bitcoin-cli "$@"
查看比特币节点运行情况
chmod +x /usr/local/bin/bitcoin-cli bitcoin-cli getinfo
第二步,运行闪电网络节点
现在我们需要运行你的闪电网络节点了。用 tmux 或打开一个窗口监视闪电网络日志情况
mkdir -p /scratch/bitcoin/mainnet/clightning
docker run --rm --name lightning --network container:bitcoind_mainnet -v /scratch/bitcoin/mainnet/bitcoind:/root/.bitcoin -v /scratch/bitcoin/mainnet/clightning:/root/.lightning --entrypoint /usr/bin/lightningd cdecker/lightningd:master --network=bitcoin --log-level=debug
将下列内容写到文件 /usr/local/bin/lightning-cli 中
!/usr/bin/env bash
docker run --rm -v /scratch/bitcoin/mainnet/clightning:/root/.lightning --entrypoint /usr/bin/lightning-cli cdecker/lightningd:master "$@"
运行
chmod +x /usr/local/bin/lightning-cli
检查闪电网络状况
第三步,发送比特币到你的闪电网络地址
现在你需要将一点比特币发送到你的闪电网络地址上,我发了 0.001 BTC 到闪电网络地址。现在闪电网络还处于起步状态,很多地方需要改进,所以不要发送大量比特币。
lightning-cli newaddr
等待确认后查看资金情况
lightning-cli listfunds { "outputs" : [ { "txid" : "690652a94e13ae09e6a32556ce0a7b70043b321cdfb4db87ee144ce494dfd76e", "output" : 1, "value" : 100000 } ] }
现在你需要把自己连接到闪电网络中了,去 https://lnmainnet.gaben.win/ 找到一个节点,点击找到详情。
然后用 lightning-cli 命令连接这个闪电网络节点
lightning-cli connect 02c119d2fd2e98a88f50d0d2ee4213255b7b8ec2be3a95f9aabd6afb09dd25b083 98.186.249.155:9735
{ "id" : "02c119d2fd2e98a88f50d0d2ee4213255b7b8ec2be3a95f9aabd6afb09dd25b083" }
查看闪电网络节点连接情况,我已经连接了两个节点
lightning-cli getpeers
{ "peers" : [ { "state" : "GOSSIPING", "peerid" : "02f6725f9c1c40333b67faea92fd211c183050f28df32cac3f9d69685fe9665432", "netaddr" : [ "104.198.32.198:9735" ], "connected" : true, "owner" : "lightning_gossipd" }, { "state" : "GOSSIPING", "peerid" : "02c119d2fd2e98a88f50d0d2ee4213255b7b8ec2be3a95f9aabd6afb09dd25b083", "netaddr" : [ "98.186.249.155:9735" ], "connected" : true, "owner" : "lightning_gossipd" } ] }
第四步,建立通道
在资金到账后,下面我们需要和某个已存在的闪电网络节点建立通道了。我选择了节点 02f6725f9c1c40333b67faea92fd211c183050f28df32cac3f9d69685fe9665432 来建立闪电通道,其中 2000 satoshi 是通道建立费用
lightning-cli fundchannel 02f6725f9c1c40333b67faea92fd211c183050f28df32cac3f9d69685fe9665432 2000
{ "tx" : "020000000001016ed7df94e44c14ee87dbb4df1c323b04707b0ace5625a3e609ae13
4ea95206690100000017160014db08f81ac41d0c47ebff7ce173ddaa45b22d1253fffff
fff02d007000000000000220020f92834320b66494ec5fefbf0a9052c7b4549730af446
d004b477cc24ec9afb0d4750010000000000160014781b3864b779a54cf464e277a8f
d93c38e8ab048024730440220549dc897e5a582a4c72a0ab8e1695b6ddc7d413e87b
532b75f801d335e0e1ccf02205d5fec4bd7193dfbf6a22587ce6877bbcf9440998aaa7c
d3a858a4e232cd17c601210301077c8d2e9e97fcf8f2e9a4d60bdf2c266da3b66f2103
e8444ec0a7c358d88800000000" }
第五步,收款和支付
收款
如果你想通过闪电网络收款的话可以运行以下命令。
lightning-cli invoice
其中 label 和 description 是支付的标签和说明,amount 是数量,单位为聪。
lightning-cli invoice 100 fist myfistLNpayment
{ "rhash" : "e762cc7be38cad612a30cc076992d3c1c897971868fffc4ca6b1e825f6e5841e", "expiry_time" : 1516615363, "bolt11" : "lnbc1n1pdxt29npp5ua3vc7lr3jkkz23 sesrknyknc8yf09ccdrllcn9xk85ztah9 ss0qdqcd4ukv6 tnw3xyuurp09kk2 mn5cqpg987a88kj4 t6wzthvqx6ky9zyys8ued6p5y7eh2k74u9z4nsqr4l8fh5e38 gpch0 syv6 tuq7u83486c9 hk3xs9pfuzx8r48evn757y0 spd9fvph" }
这样我们就生成了 bolt11 地址,即上面那个 JSON 结构中的 lnbcXXXX
bolt11 地址中包含了支付的所有信息,我们可以解码一下这个地址
lightning-cli decodepay lnbc1n1pdxt29npp5ua3vc7lr3jkkz23 sesrknyknc8yf09ccdrllcn9xk85ztah9 ss0qdqcd4ukv6 tnw3xyuurp09kk2 mn5cqpg987a88kj4 t6wzthvqx6ky9zyys8ued6p5y7eh2k74u9z4nsqr4l8fh5e38 gpch0 syv6 tuq7u83486c9 hk3xs9pfuzx8r48evn757y0 spd9fvph
{ "currency" : "bc", "timestamp" : 1516611763, "expiry" : 3600, "payee" : "03c3fa4e2b2c11ab9d4a078e13f0dfb091423e0f06d7d9cc1d9c9ba3b9a5ad5d50", "msatoshi" : 100, "description" : "myfistLNpayment", "payment_hash" : "e762cc7be38cad612a30cc076992d3c1c897971868fffc4ca6b1e825f6e5841e", "signature" : "3044022029fdd39ed2aaf4e12eec01b5621444240fccb741a13d9baadeaf0a2ace001
d7e022074de9989d01c5df02334be03dc3c6a7d60b7b44d02853c118e3a9f2c9fa9e2
3e" }
上面收款的金额和描述就显示了出来
把上面的 bolt11 支付地址发给对方就可以等待收款了
支付
在我们知道了对方的 bolt11 支付地址后,我们就可以用以下命令进行支付了
lightning-cli pay bolt11_addr
在拿到付款方的 bolt11 地址后,我们用上面的 lightning-cli decodepay bolt11 解码出收款方的 payee hash 然后查看通道
lightning-cli getroute 03c3fa4e2b2c11ab9d4a078e13f0dfb091423e0f06d7d9cc1d9c9ba3b9a5ad5d50
如果通道存在的话就可以付款了
lightning-cli pay lnbc1n1pdxt29npp5ua3vc7lr3jkkz23 sesrknyknc8yf09ccdrllcn9xk85ztah9 ss0qdqcd4ukv6 tnw3xyuurp09kk2 mn5cqpg987a88kj4 t6wzthvqx6ky9zyys8ued6p5y7eh2k74u9z4nsqr4l8fh5e38 gpch0 syv6 tuq7u83486c9 hk3x9pfuzx8r48evn757y0 spd9fvph
{ "preimage" : "xd2005e012ff32b79f88fe976599c5dceeb99b111b81aa5087b815f2e4cdc59a" }
这样我们就完成了收付款的流程
参考说明
本文主要参考了 https://medium.com/@dougvk/run-your-own-mainnet-lightning-node-2d2eab628a8b 和 https://github.com/ElementsProject/lightning#opening-a-channel-on-the-bitcoin-testnet
其他文档包括:
闪电网络测试网络部署 https://interfect.github.io/#!/posts/009-Ride-the-Lightning.md
闪电网络 windows 部署 https://medium.com/@jadmubaslat/bitcoin-lightning-network-node-easy-setup-tutorial-for-windows-desktop-users-a-how-to-guide-9937b5a8a669
- 闪电网络
- linux
相关文章
资讯
- 7天前
探索DeepSeek全场景部署实践,优刻得举办AI专题分享会
- 2周前
神州鲲泰问学一体机DeepSeek版发布:垂直场景深度赋能,破局企业AI落地难题
- 1个月前
易联众“智鼎云帆大模型平台”全面接入DeepSeek
- 2024-12-21
第五届中国人工智能大赛成果发布会成功举办
- 2024-12-13
北京电信聚焦“上云用数” 推动国产算力应用与智算创新发展
- 2024-12-05
讯飞智作超拟人数字人功能全面开放,开启全民定制新潮流
- 2024-11-25
探索未来之路 激发AI创新 “天翼云·息壤杯”高校AI大赛北京区域赛开赛
- 2024-11-24
亚马逊向Anthropic追加40亿美元投资 加速人工智能创新与应用
- 2024-11-24
科大讯飞:拟推首期员工持股计划
- 2024-11-17
彰显青年风采 传承科学家精神 中国科技青年风采荟在浙江温州举行
- 2024-11-12
2024AI+研发数字(AiDD)峰会深圳站圆满收官!
- 2024-11-09
200余支队伍蓉城“百模论剑”,“人工智能+”全国性赛事报名倒计时3天
- 2024-10-19
三个老发明家献给盛世的礼物---“录味机”
- 2024-10-18
颠覆传统 新味十足 ——2024首届海南智能餐饮烹饪大赛成功举办
- 2024-10-18
首届中国智能锁科技创新大会:德施曼核心科技引领行业,发起科创基金
原创
荐读
-
5G+AR加持 晨星机器人掀起“智能化+人机交互”制造新趋势
2021世界制造业大会于11月22日在合肥落下帷幕。为期四天的大会中,作为向世界展示智能制造全面能力的窗口,联想展示了一系列让人惊喜的创新产品。现场展示的ThinkPad X1 Fold整体重量仅有1公斤,折叠起来之后的厚度大约为24毫米。当保持半开状态时,可以像拿本书一样握住,并且能同时运行两个应用程序。使用固定在中间的键盘之后,瞬间变...
-
智能手机竞争中失败,日本在联网汽车领域举步维艰
据外媒报道,在制造带有数字联网服务的汽车的竞争中,丰田汽车和日产汽车面临着被本土市场拖累的风险。与美国和欧洲的汽车消费者不同的是,日本消费者不愿意为这些联网功能和服务买单。结果就是:日本只有10%的汽车...
-
2020年河南省将推广应用3万台工业机器人
到2020年,推广应用3万台工业机器人,建设1000条智能生产线、300个智能车间、150个智能工厂……4月16日,在2018两岸智能装备制造郑州论坛上,河南省工信委发布了《2017年河南省智能制造白皮书》,河南智能制造的2020...