原文链接: What is Lightning Network and How to Try It Today
上篇中我们介绍了闪电网络,现在让我们来试用它。
运行闪电网络节点
截至2018年2月,LN已经部署并在比特币测试网上成功通过测试。 它也被部署到了主网,但是现在严格来说并不推荐使用它(除非你很鲁莽),因为它还不够稳定。 你会冒着失去你的比特币的风险! 由于我们不想这样做,我们将在测试网上尝试它。
- 首先,我们需要一个比特币节点连接到测试网并完全同步。 我们将使用Bitcoin Core节点,您可以从https://bitcoin.org/en/wallets/desktop/windows/bitcoincore/下载该节点。
- 第一次运行时,Bitcoin Core将连接到主网并开始同步。 这不是我们想要的。
- 不要等待同步完成。 打开设置,然后单击打开配置文件按钮。
- 文本编辑器将打开默认的比特币核心配置。 将其替换为以下内容:
testnet=1 server=1 rpcuser=foo rpcpassword=bar txindex=1 zmqpubrawblock=tcp://127.0.0.1:29000 zmqpubrawtx=tcp://127.0.0.1:29000 这些设置将比特币核心切换到测试网络并设置一些基本和必需的配置。保存文件并重新启动节点。重启后,Bitcoin Core的窗口应该包含[testnet],这意味着它现在已连接到测试网络。这一次你必须等待完全同步。
同时,请访问https://github.com/ACINQ/eclair/releases并下载我们将在实验中使用的由ACINQ开发的LN客户端Eclair。如果您现在尝试运行Eclair,它将无法启动,因为比特币节点没有完全同步。所以,在同步完成后继续阅读。
当节点正在同步时,您可以访问https://explorer.acinq.co/ - 这是LN拓扑可视化服务。它还将节点位置映射到世界地图,这非常有趣。
节点同步后,运行Eclair。它看起来像这样(但在你的情况下,它没有打开的频道):
在左下角是您的节点标识符(同样,请注意右下角:应该说TEST,意思是LN节点连接到比特币测试网)。选项卡(所有节点,所有通道)应该有计数器。如果不是这种情况,请等待几分钟让节点获取节点和频道信息。
就是这样!现在你有一个完全同步的比特币节点连接到测试网络和一个随时可用的LN节点!
存储比特币
为了转移一些BTC,我们首先需要拥有BTC,这很明显,但通过挖掘获得它们会非常低效。为了解决这个问题,有服务称为 faucet,它允许你获得免费的比特币(这种服务也存在于其他区块链中,而不仅仅是比特币)。要获得一些比特币,请访问https://testnet.coinfaucet.eu/en/并输入您的比特币地址(您可以从比特币核心客户端获得)。比特币将与下一个采矿块一起交付(是的,在测试网中有采矿),您可以通过区块链探索者进行跟踪。 https://live.blockcypher.com/btc-testnet/
现在,我们已经准备好使用闪电网络了!
开通闪电网络的通道
我们先打开一个LN通道。
- 去我上面提到的LN浏览器(https://explorer.acinq.co/)。在站点上的搜索字段中键入endurance以找到我们要连接的节点(稍后将说明此部分)。在“节点信息”窗口中,找到“复制URI”链接并单击它 - 我们将使用URI连接到此节点。
- 转到Eclair,点击Channels菜单,然后选择“Open channel”。将节点URI粘贴到目标节点URI。在Capacity字段中,输入您希望锁定在频道中的金额(即您计划要支付的最高金额)。就我们的目的而言,100毫托就足够了。点击连接打开一个频道。
- 在“Local Channels”选项卡中,应显示一个新通道:
- 新渠道的状态将迅速变为WAIT_FOR_FUNDING_CONFIRMED,这意味着开放交易的渠道已创建并发送至比特币网络。现在您需要等待两个新块:一个包含交易,另一个包含交易确认。您可以在上面提到的blockchain资源管理器中跟踪新块:https://live.blockcypher.com/btc-testnet/
- 当交易被挖矿产生的区块确认后,渠道状态将移至NORMAL,这意味着渠道已创建并准备好接收LN交易。
用比特币买咖啡
创建Eclair的同一家公司还创建了一家销售比特币咖啡的示范网上商店:https://starblocks.acinq.co/我们将从中购买咖啡,并将通过比特币通过LN付款!
与主比特币网络不同,LN不允许在没有地址所有者许可的情况下将比特币任意发送到任何地址。愿意收到付款的一方必须创建付款请求,这是发票的一种类似物。然后,派对将付款请求(通过QU代码,链接或原始)交给付款方,付款方使用读取请求并执行付款的应用程序。
所以,为了买一杯咖啡:
- 访问演示商店:https://starblocks.acinq.co/
- 将任何咖啡加入购物车并结账。该页面将显示要扫描的QR码,但由于我们使用的是桌面LN客户端,因此我们不会使用它。相反,我们需要原始支付请求,即同一页面上的以lnt开头的字符串 - 只需将其复制到缓冲区即可。矿看起来像这样:
- 切换到Eclair,转到频道菜单,选择发送付款,然后粘贴付款请求。 Eclair会解析请求并从中提取一些信息(如节点ID,支付哈希,产品名称和价格)。
- 不要点击立即发送!让我们来检查一下。在Eclair中,找到我们连接的节点的ID,并将其与您要发送付款的节点的ID进行比较。他们不匹配!所以,我们正在向没有打开渠道的节点发送付款。
- 好的,点击发送...,付款成功!咖啡价格从锁定在渠道中的金额中提取,演示商店显示成功的付款消息。怎么来的?您没有向商店的节点开放渠道。事实证明,您连接的节点已连接到您付款的节点。那endurance节点是一个中间人!
- 转到LN浏览器并找到两个节点。由于通道的可视化,您可以看到两个节点确实在它们之间有一个通道。
今天就到这里!我鼓励您尝试其他用例和其他LN客户端和应用程序 - 在testnet中,它是很简单的,您不会冒任何风险。
主网如何?
截至2018年2月,Lightning Network尚未准备好实际支付。是的,它被部署到主网络,是的,主网络中有LN节点。但技术还在开发完善中,发送真正的比特币非常危险。但是你仍然可以看看它,感谢这项服务:https://lnmainnet.gaben.win/
链接和资源
- What is the Lightning Network and how can it help Bitcoin scale?
- Lightning Network Tech Talk at Coinbase
- Lightning Networks Part I: Revocable Transactions – technical explanation of LN
- LND Overview and Developer Guide – just enough information about Lightning Network Daemon to build applications
- Mobile (Android) Ecalir wallet for the testnet
- Zap – another desktop application
- Lightning Charge – a simple drop-in solution for accepting lightning payments
- SegWit, BitcoinCash: Technical details explained
- Is Segwit needed for Lightning Network?
全篇完结。