<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>puton.eth</title>
        <link>https://paragraph.com/@puton</link>
        <description>🔥🔥🔥</description>
        <lastBuildDate>Wed, 26 Aug 2026 00:43:32 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>puton.eth</title>
            <url>https://storage.googleapis.com/papyrus_images/a1373e8529d331169fcfa8d604845da6156f7fb741fc85fc248e31d874ca1cf1.jpg</url>
            <link>https://paragraph.com/@puton</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[深圳电信开启IPv6支持]]></title>
            <link>https://paragraph.com/@puton/ipv6</link>
            <guid>GeWve8kfx5oLgeHvq4yo</guid>
            <pubDate>Sun, 14 Nov 2021 07:39:43 GMT</pubDate>
            <description><![CDATA[为什么要开启IPv6开启IPv6其实并没有什么卵用，大部分情况下根本用不上IPv6。不过还是有几个场景能用上：家用摄像头、远程下载控制等。给每个内网设备分配一个IPv6地址，可以供公网访问。访问IPv6 only的网站，比如北邮pt站等。用IPv6联机。双方都有IPv6，且游戏支持IPv6的情况下，可以直接填IPv6地址来联机，不用再打通网络。有了IPv6显得自己很时尚如何开启IPv6工信部强推下，2018年国内三大运营商大部分已经支持IPv6。但是光猫上一般不会默认开启IPv6，需要进行一些设置。 深圳电信开通IPv6已经非常容易，只需要打开光猫改几个配置就好。别的地区，移动联通等运营商基本同理，也可以参考。开启IPv6需要的条件光猫支持，取决于运营商该地区已有IPv6资源，取决于运营商路由器具备IPv6功能，华硕梅林等常见固件的较新版本都支持上网设备具备IPv6功能，Android、iOS、Linux、Windows近几年的版本都支持修改光猫配置，支持IPv6并开启桥接光猫背面会有写管理地址，一般是192.168.1.1之类的，打开管理页面。 通过超级账号登录，一般来讲账号是...]]></description>
            <content:encoded><![CDATA[<h2 id="h-ipv6" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">为什么要开启IPv6</h2><p>开启IPv6其实并没有什么卵用，大部分情况下根本用不上IPv6。不过还是有几个场景能用上：</p><ol><li><p>家用摄像头、远程下载控制等。给每个内网设备分配一个IPv6地址，可以供公网访问。</p></li><li><p>访问IPv6 only的网站，比如北邮pt站等。</p></li><li><p>用IPv6联机。双方都有IPv6，且游戏支持IPv6的情况下，可以直接填IPv6地址来联机，不用再打通网络。</p></li><li><p><s>有了IPv6显得自己很时尚</s></p></li></ol><h2 id="h-ipv6" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">如何开启IPv6</h2><p>工信部强推下，2018年国内三大运营商大部分已经支持IPv6。但是光猫上一般不会默认开启IPv6，需要进行一些设置。</p><p>深圳电信开通IPv6已经非常容易，只需要打开光猫改几个配置就好。别的地区，移动联通等运营商基本同理，也可以参考。</p><h3 id="h-ipv6" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">开启IPv6需要的条件</h3><ol><li><p>光猫支持，取决于运营商</p></li><li><p>该地区已有IPv6资源，取决于运营商</p></li><li><p>路由器具备IPv6功能，华硕梅林等常见固件的较新版本都支持</p></li><li><p>上网设备具备IPv6功能，Android、iOS、Linux、Windows近几年的版本都支持</p></li></ol><h3 id="h-ipv6" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">修改光猫配置，支持IPv6并开启桥接</h3><p>光猫背面会有写管理地址，一般是192.168.1.1之类的，打开管理页面。</p><p>通过超级账号登录，一般来讲账号是admin，密码nE7jA%5m。<strong>注意光猫背面写着的账号密码并不是超级账号，只是普通账号，权限不够，这里我们要用的是超级账号。</strong></p><p>如果登录不上，常见的超级账号还有：telecomadmin 、 useradmin 、 admin，常见密码：nE7jA%5m 、 admin，都可以试一下，实在不行在网上搜一下你所在地区的超级账号密码是多少。</p><p>如果上面的方法都登录不上，可以参考：</p><blockquote><p>用电信天翼网关背后的useradmin 帐号和密码登录 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://192.168.1.1/">http://192.168.1.1</a> 下载<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://192.168.1.1/backupsettings.conf">http://192.168.1.1/backupsettings.conf</a> 用记事本打开，找到telecomadmin+8位数，这个就是你电信天翼网关超级用户的密码 注：有些机型的超级账户是 useradmin</p><p>引用自<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://bbs.mo2g.com/thread-675-1-1.html">http://bbs.mo2g.com/thread-675-1-1.html</a></p></blockquote><p>通过<strong>超级账号</strong>登录上之后，会来到这样的古朴的界面：</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/023c9c5b51bb6ebf3b6de7011776781c6c0765447cd5bebb03d968dceb98a7e3.png" alt="具有最高权限的电信光猫管理界面" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">具有最高权限的电信光猫管理界面</figcaption></figure><p>但是如果你进去之后是下面这种酷炫的界面，说明是普通账号，权限不够：</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1889d2e8d13bcdfbcac082540d8ff132053a98151d2357d3e8d7fce6acb04d02.png" alt="天翼网关普通用户界面" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">天翼网关普通用户界面</figcaption></figure><p>通过超级账号登录之后，打开网络-宽带设置，记住你的Internet项的VID，我这里是41。</p><p>把之前的INTERNET删掉，再新建一个INTERNET，按下图配置，记得填上自己的VID。</p><p>IP模式是IPv4&amp;IPv6，连接模式是桥接。这样就达到了目的。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/566ce68b042eb9a3c490730437d174dee87747f91a6ed003e2decdfd00aa8a71.png" alt="电信光猫IPv6和桥接的配置" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">电信光猫IPv6和桥接的配置</figcaption></figure><h2 id="h-ipv6" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">配置路由器，获取IPv6地址</h2><p>光猫改到桥接模式之后，需要用路由器来拨号，将你的路由器配置为PPPoE模式，填上ADSL账号，确保能够正常上网。</p><p>以Merlin固件为例，打开IPv6，按如下配置就能获取到IPv6地址：</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/abce318e0d77522c7b699b08e2709a639f65ae0331ebdd213cc585e5dacbc591.png" alt="路由器IPv6配置" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">路由器IPv6配置</figcaption></figure><p>系统记录-IPv6 里面能看到IPv6地址的分配情况，可以看到IPv6运行在DHCP-PD模式，路由器已经拿到了IPv6地址，局域网设备也都分配到了一个IPv6地址。</p><p>DHCP-PD是比较常见的模式，目前看到的运营商都是采用这个模式，可能也会有不同。多折腾一下就好。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b12701227133fd108af09e4df66dda7d73990c5d62bca527697fce9518a1a227.png" alt="路由器获取IPv6地址成功" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">路由器获取IPv6地址成功</figcaption></figure><h2 id="h-ipv6" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">检查设备IPv6地址，测试连接状况</h2><p>以Mac为例，网络-TCP/IP 里面能看到IPv6地址，代表获取成功。</p><p>有时候可能会看到fe80开头的地址，这种是内网地址，并不是获取到了公网IPv6地址，不能以此作为判断依据。</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c4ffa75823e4ae0fd61946885751aec0e18ac3bd5f1b3aaebcdb9938c2d76535.png" alt="Mac网络配置里看到已经获取到IPv6地址" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Mac网络配置里看到已经获取到IPv6地址</figcaption></figure><p>在<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://ipv6-test.com/">http://ipv6-test.com</a>测试到IPv6已经正常连通：</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f5829d4495fc4f239dbce97c20821b8db97b5d63947ebd125edbe00e86158586.png" alt="IPv6测试已经连通" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">IPv6测试已经连通</figcaption></figure><h2 id="h-ipv6" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">IPv6的注意事项</h2><p>目前三大运营商固网对IPv6依然还在测试状态，并没有正式启用，按这个教程不一定能配通，可能会遇到各种各样的问题。比如获取不到IPv6地址，获取到地址之后不能上网等。</p><p>IPv6的国内路由还很糟糕，例如北京教育网IPv6到全国大部分地区都会绕美国HE，延迟在200ms以上，不建议使用。</p><p>IPv6海外出口带宽很糟糕，不建议用来访问海外网站。</p><p>在同时有IPv4和IPv6地址的情况下，主流浏览器并不会选择IPv6地址，可以放心。</p>]]></content:encoded>
            <author>puton@newsletter.paragraph.com (puton.eth)</author>
        </item>
        <item>
            <title><![CDATA[⚡️闪电网络简明教程]]></title>
            <link>https://paragraph.com/@puton/Cu6C7x3i34ZM1EHZ5bA4</link>
            <guid>Cu6C7x3i34ZM1EHZ5bA4</guid>
            <pubDate>Sun, 14 Nov 2021 07:32:38 GMT</pubDate>
            <description><![CDATA[闪电网络是什么闪电网络是目前比特币的一个发展趋势，它解决了比特币的小额高频转账的问题。 比特币实现了区块链账本，通过算力竞争的方式实现账本的一致性，这种方式注定了账本的使用成本高、速度慢、容量小。目前比特币主网的处理速度上限大概是7TPS，也就是一秒钟只能处理7次转账。比特币的出块速度是每10分钟出一次块，为了保证安全一般把转账确认设置为6个区块，也就是说一次转账至少需要60分钟才能被彻底确认。比特币作为区块链账本毫无问题，但是要用作小额高频支付工具力不从心。 为了解决这些问题，产生了许多技术方向，例如ETH目前要上线的PoS、EOS独创的DPoS、IOTA的tangle等，另外就是今天要说的闪电网络Lightning Network。（说句题外话，扩容区块只是一个临时缓解的办法，并没有解决根本问题。就算区块大小扩容十倍，7TPS也顶多到70TPS而已，依然非常低） 闪电网络依赖隔离见证（SegWit），隔离见证在2017年8月被主网确认正式生效。隔离见证有两个用处，一是变相扩容了区块（几乎等效于区块大小从1M扩容到2M）、二是为闪电网络提供底层支持。有了隔离见证，闪电网络就具备...]]></description>
            <content:encoded><![CDATA[<h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">闪电网络是什么</h2><p>闪电网络是目前比特币的一个发展趋势，它解决了比特币的小额高频转账的问题。</p><p>比特币实现了区块链账本，通过算力竞争的方式实现账本的一致性，这种方式注定了账本的使用成本高、速度慢、容量小。目前比特币主网的处理速度上限大概是7TPS，也就是一秒钟只能处理7次转账。比特币的出块速度是每10分钟出一次块，为了保证安全一般把转账确认设置为6个区块，也就是说一次转账至少需要60分钟才能被彻底确认。比特币作为区块链账本毫无问题，但是要用作小额高频支付工具力不从心。</p><p>为了解决这些问题，产生了许多技术方向，例如ETH目前要上线的PoS、EOS独创的DPoS、IOTA的tangle等，另外就是今天要说的闪电网络Lightning Network。（说句题外话，扩容区块只是一个临时缓解的办法，并没有解决根本问题。就算区块大小扩容十倍，7TPS也顶多到70TPS而已，依然非常低）</p><p>闪电网络依赖隔离见证（SegWit），隔离见证在2017年8月被主网确认正式生效。隔离见证有两个用处，一是变相扩容了区块（几乎等效于区块大小从1M扩容到2M）、二是为闪电网络提供底层支持。有了隔离见证，闪电网络就具备可行性了。</p><p>2017年12月6日，闪电网络协议规范RC1版本发布，同时ACINQ,、Lightning Labs、Blockstream三个团队正在着手进行软件开发。</p><p>截止到2018年7月，这三个团队都分别发布了闪电网络节点软件，还上线了第一款钱包eclair发布在Google Play。</p><p>目前闪电网络主网上运行的节点数量有2837个，处于Active状态的Channel有10042个，闪电网络总共托管了94.40BTC。这个数字每天都在增长，你可以在<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://1ml.com/">1ML</a>看到具体数字。</p><p>知名网站CoinGate已经支持闪电网络支付，另外还有几家网站（Bitrefill、Blockstream、HodlMonkey、TorGuard）也支持了闪电网络。闪电网络目前的状态是<strong>几乎</strong>已经正式上线，虽然开发者警告不要放太多钱进去以防丢失。我们可以认为闪电网络已经不会再有大改动。</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">闪电网络的原理</h2><p>闪电网络通过引入智能合约的思想来完成交易。通过事先约定的智能合约，将大量的交易放在链下进行，不受区块链速度的限制，只将最终的确认环节放在链上。这样大大提升了交易速度。</p><p>闪电网络的基础是隔离见证（SegWit），隔离见证在2017年8月被主网确认正式生效。隔离见证有两个用处，一是变相扩容了区块（几乎等效于区块大小从1M扩容到2M）、二是为闪电网络提供底层支持。有了隔离见证，闪电网络就具备可行性了。</p><p>闪电网络通过的核心概念可以分为两大块，其一是RSMC（Recoverable Sequence Maturity Contract），用来完成两个节点之间的交易确认，其二是HTLC（Hashed Timelock Contract），用来将多个节点连接成一个网络，实现跨节点支付。</p><h3 id="h-rsmc" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">RSMC：实现两个节点之间的交易确认</h3><blockquote><p>首先假定交易双方之间存在一个“微支付通道”（资金池）。交易双方先预存一部分资金到“微支付通道”里，初始情况下双方的分配方案等于预存的金额。每次发生交易，需要对交易后产生资金分配结果共同进行确认，同时签字把旧版本的分配方案作废掉。任何一方需要提现时，可以将他手里双方签署过的交易结果写到区块链网络中，从而被确认。从这个过程中可以可以看到，只有在提现时候才需要通过区块链。</p><p>任何一个版本的方案都需要经过双方的签名认证才合法。任何一方在任何时候都可以提出提现，提现时需要提供一个双方都签名过的资金分配方案（意味着肯定是某次交易后的结果，被双方确认过，但未必是最新的结果）。在一定时间内，如果另外一方拿出证明表明这个方案其实之前被作废了（非最新的交易结果），则资金罚没给质疑方；否则按照提出方的结果进行分配。罚没机制可以确保了没人会故意拿一个旧的交易结果来提现。</p><p>引用自：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://yeasy.gitbooks.io/blockchain_guide/content/bitcoin/lightning_network.html">https://yeasy.gitbooks.io/blockchain_guide/content/bitcoin/lightning_network.html</a></p></blockquote><p>简单来说，通过RSMC实现了两个节点之间的交易确认：</p><ol><li><p>A创建和B的支付通道Channel</p></li><li><p>A投入准备金100元</p></li><li><p>A给B转账实际上是在扣除准备金，A可以多次给B转账（发生在链下，不用区块确认）</p></li><li><p>A或者B关闭闪电网络通道，进行提现，闪电网络将A、B的最终余额写入链上</p></li></ol><p>可以看到转账都发生在链下，只有关闭通道才会产生一次链上交易</p><h3 id="h-htlc" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">HTLC：将多个节点连接成一个网络，实现跨节点支付</h3><p>可以看到，RSMC实现了两个节点之间的交易，但在现实场景中这显然不够。举个例子：</p><p>消费者A要在B、C、D网站上买东西，A要分别开通到B、C、D的交易通道，每个通道都要存入一定的准备金。如果A只和B交易一次就关闭通道，那实际上闪电网络并没有降低交易成本。</p><p>这个时候HTLC就应运而生了，HTLC实现了将闪电网络上的节点连接成一个网络，一笔交易可以路由经多个节点最终到达目的。</p><blockquote><p>微支付通道是通过 Hashed Timelock Contract 来实现的，中文意思是“哈希的带时钟的合约”。这个其实就是限时转账。理解起来也很简单，通过智能合约，双方约定转账方先冻结一笔钱，并提供一个哈希值，如果在一定时间内有人能提出一个字符串，使得它哈希后的值跟已知值匹配（实际上意味着转账方授权了接收方来提现），则这笔钱转给接收方。</p><p>不太恰当的例子，约定一定时间内，有人知道了某个暗语（可以生成匹配的哈希值），就可以拿到这个指定的资金。</p><p>推广一步，甲想转账给丙，丙先发给甲一个哈希值。甲可以先跟乙签订一个合同，如果你在一定时间内能告诉我一个暗语，我就给你多少钱。乙于是跑去跟丙签订一个合同，如果你告诉我那个暗语，我就给你多少钱。丙于是告诉乙暗语，拿到乙的钱，乙又从甲拿到钱。最终达到结果是甲转账给丙。这样甲和丙之间似乎构成了一条完整的虚拟的“支付通道”。</p><p>引用自：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://yeasy.gitbooks.io/blockchain_guide/content/bitcoin/lightning_network.html">https://yeasy.gitbooks.io/blockchain_guide/content/bitcoin/lightning_network.html</a></p></blockquote><p>简单来说：</p><ol><li><p>A需要转账50给C</p></li><li><p>A和B有交易通道（余额大于50），B和C有交易通道（余额大于50）</p></li><li><p>A -&gt; B -&gt; C，交易完成</p></li></ol><p>换成刚才那个例子：</p><p>消费者A要在B、C、D网站上买东西。消费者A和一个比较大的节点Z开通通道，网站B、C、D也和这个大节点Z开通通道。交易得以完成。消费者A只需要和Z打通，不需要关心网站BCD，网站BCD也只需要和Z打通不需要关心消费者A。</p><p>HTLC机制可以扩展到许多节点的场景，这里的节点Z并不一定就是同一个节点，只要闪电网络最终能找到一条可用的通道就能完成支付。可以是A-&gt;Z1-&gt;Z2-&gt;Zn….-&gt;B。</p><p>你可以在这里看到目前闪电网络的节点连接情况：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://lnmainnet.gaben.win/">https://lnmainnet.gaben.win/</a></p><h4 id="h-htlc" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0">HTLC的路由和手续费机制</h4><p>开通通道需要存入准备金，一个足够大的节点需要大量的准备金来维持交易。目前最大的节点LN.SHITCOIN.COM已经存入了43.79478257BTC，大概是30万美元。节点不可能无偿提供服务，闪电网络设计了一套手续费体系来维持闪电网络的运行。</p><p>闪电网络上的每一个节点，都可以设置自己的手续费（fee）大小。</p><p>如果节点Z1设置了手续费1元，Z2设置了手续费2元，A-&gt;Z1-&gt;Z2-&gt;B这条支付路径里，A就需要额外付给Z1 1元，Z2 2元。</p><p>闪电网络的交易通常不只有一条通路，可能有很多条。客户端在发起支付之前可以通过getroute方法来确定每条通路的手续费情况，可以选择一条最便宜的通路来完成交易。</p><p>闪电网络的节点充满竞争，手续费太高可能造成你的节点无人使用，闪电网络节点理论上都会维持在一个相对低廉的手续费水平。</p><p>笔者通过闪电网络支付了一个<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.lightningspin.com/">在线轮盘赌网站</a>，共花费手续费0.0000000204BTC，大概等于0.001元人民币。挑选一个手续费低的节点还能做到更低。就目前来看闪电网络的转账手续费几乎可以忽略不计。</p><h2 id="h-eclair" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">体验闪电网络：eclair</h2><p>闪电网络拥有一套完整的协议规范，在2017年12月发布了RC1版本。现在常见的闪电网络节点软件都是按照协议规范书写的，运行在同一个闪电网络上，可以互相兼容。</p><p>eclair是ACINQ团队创造的闪电网络程序，涵盖了Windows、Linux、macOS、Android平台。</p><p>桌面平台：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ACINQ/eclair">https://github.com/ACINQ/eclair</a></p><p>安卓平台：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ACINQ/eclair-wallet">https://github.com/ACINQ/eclair-wallet</a></p><p>以安卓为例，下载安卓钱包客户端：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/ACINQ/eclair-wallet/releases">https://github.com/ACINQ/eclair-wallet/releases</a></p><p>朝eclair钱包充值一定数量的BTC（不要充值太多）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d9e69d8872d63eba18924772f5490df084547b59ec4bfe44268ab88f7d7a1655.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>创建一个通道，这里可以选择ACINQ团队的官方通道，存入一定数量的BTC（不用担心，这里输入的金额只是通道保证金，随时可以取回）</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b22d125f1a7bf02e366c8f81a4f39be2a40abbc8090a8b4e58784de3986306b1.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>选择一个收款方测试支付是否成功（因为手续费极低，可以测试转账一毛两毛的）</p><p>可以在这个网站搏一搏运气，最低支付一元钱：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.lightningspin.com/">https://www.lightningspin.com/</a></p><p>以上是闪电网络钱包的使用方法，非常简单方便。</p><h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">搭建一个自己的闪电网络节点</h2><p>如果你不满足只是使用闪电网络，你还可以自己搭建一个闪电网络节点，参与到闪电网络中来，并且收取转账手续费。</p><h3 id="h-docker" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">一、购买云主机并安装Docker</h3><p>除了临时测试外，不推荐使用自己的PC来搭建节点，一是因为国内网络环境恶劣造成很大麻烦，二是因为闪电网络的机制要求节点随时在线，长时间不在线容易被攻击。</p><p>运行比特币全节点需要磁盘空间在200G以上，并且这个大小还在持续增长。</p><p>以Vultr为例，购买NJ节点5$方案+20$的200G磁盘，月付25$。Vultr常年有新用户注册优惠活动，通过邀请链接注册送20$，足够跑一个月：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.vultr.com/?ref=6897056">https://www.vultr.com/?ref=6897056</a> （注意需要双币信用卡）</p><p>在Vultr购买主机可以选择预装Docker。需要自己安装Docker可以相应教程。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">二、运行比特币全节点</h3><p>clone项目到本地，编译bitcoind docker镜像</p><pre data-type="codeBlock" text="git clone https://github.com/dougvk/lightning-node.git
cd lightning-node
docker build . -t dougvk/bitcoind
"><code>git clone https:<span class="hljs-comment">//github.com/dougvk/lightning-node.git</span>
cd lightning<span class="hljs-operator">-</span>node
docker build . -t dougvk<span class="hljs-operator">/</span>bitcoind
</code></pre><p>运行bitcoind</p><pre data-type="codeBlock" text="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
"><code>mkdir <span class="hljs-operator">-</span>p <span class="hljs-operator">/</span>scratch<span class="hljs-operator">/</span>bitcoin<span class="hljs-operator">/</span>mainnet<span class="hljs-operator">/</span>bitcoind
docker run <span class="hljs-operator">-</span><span class="hljs-operator">-</span>name bitcoind_mainnet <span class="hljs-operator">-</span>d <span class="hljs-operator">-</span>v <span class="hljs-operator">/</span>scratch<span class="hljs-operator">/</span>bitcoin<span class="hljs-operator">/</span>mainnet<span class="hljs-operator">/</span>bitcoind:<span class="hljs-operator">/</span>data <span class="hljs-operator">-</span>p <span class="hljs-number">8333</span>:<span class="hljs-number">8333</span> <span class="hljs-operator">-</span>p <span class="hljs-number">9735</span>:<span class="hljs-number">9735</span> dougvk<span class="hljs-operator">/</span>bitcoind:latest
</code></pre><p>这样就启动了比特币全节点。比特币的数据文件存在了<code>/scratch</code>目录下。这个命令暴露了两个必要的对外端口8333和9735，不用担心，RPC端口并没有被暴露。</p><p>节点启动之后就开始了同步过程，需要同步180G左右的数据，大约需要12h。</p><p>通过这个命令可以查看同步进度：</p><pre data-type="codeBlock" text="docker run --rm --network container:bitcoind_mainnet -v /scratch/bitcoin/mainnet/bitcoind:/data dougvk/bitcoind:latest bitcoin-cli getblockchaininfo
{
  &quot;chain&quot;: &quot;main&quot;,
  &quot;blocks&quot;: 532914,
  &quot;headers&quot;: 532914,
  &quot;bestblockhash&quot;: &quot;0000000000000000001f2deba673d0bb65ac20a3690240324b0bb6bfe9286e23&quot;,
  &quot;difficulty&quot;: 5178671069072.251,
  &quot;mediantime&quot;: 1532152533,
  &quot;verificationprogress&quot;: 0.9999936154754053,
  &quot;initialblockdownload&quot;: false,
  &quot;chainwork&quot;: &quot;0000000000000000000000000000000000000000026ea366193d216bb3d37ef4&quot;,
  &quot;size_on_disk&quot;: 200991969130,
  &quot;pruned&quot;: false,
  &quot;softforks&quot;: [
    {
      &quot;id&quot;: &quot;bip34&quot;,
      &quot;version&quot;: 2,
      &quot;reject&quot;: {
        &quot;status&quot;: true
      }
    },
    {
      &quot;id&quot;: &quot;bip66&quot;,
      &quot;version&quot;: 3,
      &quot;reject&quot;: {
        &quot;status&quot;: true
      }
    },
    {
      &quot;id&quot;: &quot;bip65&quot;,
      &quot;version&quot;: 4,
      &quot;reject&quot;: {
        &quot;status&quot;: true
      }
    }
  ],
  &quot;bip9_softforks&quot;: {
    &quot;csv&quot;: {
      &quot;status&quot;: &quot;active&quot;,
      &quot;startTime&quot;: 1462060800,
      &quot;timeout&quot;: 1493596800,
      &quot;since&quot;: 419328
    },
    &quot;segwit&quot;: {
      &quot;status&quot;: &quot;active&quot;,
      &quot;startTime&quot;: 1479168000,
      &quot;timeout&quot;: 1510704000,
      &quot;since&quot;: 481824
    }
  },
  &quot;warnings&quot;: &quot;&quot;
}
"><code>docker run <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rm <span class="hljs-operator">-</span><span class="hljs-operator">-</span>network container:bitcoind_mainnet <span class="hljs-operator">-</span>v <span class="hljs-operator">/</span>scratch<span class="hljs-operator">/</span>bitcoin<span class="hljs-operator">/</span>mainnet<span class="hljs-operator">/</span>bitcoind:<span class="hljs-operator">/</span>data dougvk<span class="hljs-operator">/</span>bitcoind:latest bitcoin<span class="hljs-operator">-</span>cli getblockchaininfo
{
  <span class="hljs-string">"chain"</span>: <span class="hljs-string">"main"</span>,
  <span class="hljs-string">"blocks"</span>: <span class="hljs-number">532914</span>,
  <span class="hljs-string">"headers"</span>: <span class="hljs-number">532914</span>,
  <span class="hljs-string">"bestblockhash"</span>: <span class="hljs-string">"0000000000000000001f2deba673d0bb65ac20a3690240324b0bb6bfe9286e23"</span>,
  <span class="hljs-string">"difficulty"</span>: <span class="hljs-number">5178671069072.251</span>,
  <span class="hljs-string">"mediantime"</span>: <span class="hljs-number">1532152533</span>,
  <span class="hljs-string">"verificationprogress"</span>: <span class="hljs-number">0</span><span class="hljs-number">.9999936154754053</span>,
  <span class="hljs-string">"initialblockdownload"</span>: <span class="hljs-literal">false</span>,
  <span class="hljs-string">"chainwork"</span>: <span class="hljs-string">"0000000000000000000000000000000000000000026ea366193d216bb3d37ef4"</span>,
  <span class="hljs-string">"size_on_disk"</span>: <span class="hljs-number">200991969130</span>,
  <span class="hljs-string">"pruned"</span>: <span class="hljs-literal">false</span>,
  <span class="hljs-string">"softforks"</span>: [
    {
      <span class="hljs-string">"id"</span>: <span class="hljs-string">"bip34"</span>,
      <span class="hljs-string">"version"</span>: <span class="hljs-number">2</span>,
      <span class="hljs-string">"reject"</span>: {
        <span class="hljs-string">"status"</span>: <span class="hljs-literal">true</span>
      }
    },
    {
      <span class="hljs-string">"id"</span>: <span class="hljs-string">"bip66"</span>,
      <span class="hljs-string">"version"</span>: <span class="hljs-number">3</span>,
      <span class="hljs-string">"reject"</span>: {
        <span class="hljs-string">"status"</span>: <span class="hljs-literal">true</span>
      }
    },
    {
      <span class="hljs-string">"id"</span>: <span class="hljs-string">"bip65"</span>,
      <span class="hljs-string">"version"</span>: <span class="hljs-number">4</span>,
      <span class="hljs-string">"reject"</span>: {
        <span class="hljs-string">"status"</span>: <span class="hljs-literal">true</span>
      }
    }
  ],
  <span class="hljs-string">"bip9_softforks"</span>: {
    <span class="hljs-string">"csv"</span>: {
      <span class="hljs-string">"status"</span>: <span class="hljs-string">"active"</span>,
      <span class="hljs-string">"startTime"</span>: <span class="hljs-number">1462060800</span>,
      <span class="hljs-string">"timeout"</span>: <span class="hljs-number">1493596800</span>,
      <span class="hljs-string">"since"</span>: <span class="hljs-number">419328</span>
    },
    <span class="hljs-string">"segwit"</span>: {
      <span class="hljs-string">"status"</span>: <span class="hljs-string">"active"</span>,
      <span class="hljs-string">"startTime"</span>: <span class="hljs-number">1479168000</span>,
      <span class="hljs-string">"timeout"</span>: <span class="hljs-number">1510704000</span>,
      <span class="hljs-string">"since"</span>: <span class="hljs-number">481824</span>
    }
  },
  <span class="hljs-string">"warnings"</span>: <span class="hljs-string">""</span>
}
</code></pre><p><code>blocks</code>和<code>headers</code>数量一致代表同步完成</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">三、运行闪电网络节点</h3><p>这里选择了clightning这个节点程序，运行节点（命令里可以设置节点名和颜色）：</p><pre data-type="codeBlock" text="mkdir -p /scratch/bitcoin/mainnet/clightning
docker run --rm --name lightning --network container:bitcoind_mainnet -p9735:9735 -v /scratch/bitcoin/mainnet/bitcoind:/root/.bitcoin -v /scratch/bitcoin/mainnet/clightning:/root/.lightning --entrypoint /usr/bin/lightningd cdecker/lightningd:master --network=bitcoin --alias yournodename --rgb aa381e --announce-addr 本机ip --bind-addr 0.0.0.0 --log-level=debug
"><code>mkdir <span class="hljs-operator">-</span>p <span class="hljs-operator">/</span>scratch<span class="hljs-operator">/</span>bitcoin<span class="hljs-operator">/</span>mainnet<span class="hljs-operator">/</span>clightning
docker run <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rm <span class="hljs-operator">-</span><span class="hljs-operator">-</span>name lightning <span class="hljs-operator">-</span><span class="hljs-operator">-</span>network container:bitcoind_mainnet <span class="hljs-operator">-</span>p9735:<span class="hljs-number">9735</span> <span class="hljs-operator">-</span>v <span class="hljs-operator">/</span>scratch<span class="hljs-operator">/</span>bitcoin<span class="hljs-operator">/</span>mainnet<span class="hljs-operator">/</span>bitcoind:<span class="hljs-operator">/</span>root<span class="hljs-operator">/</span>.bitcoin <span class="hljs-operator">-</span>v <span class="hljs-operator">/</span>scratch<span class="hljs-operator">/</span>bitcoin<span class="hljs-operator">/</span>mainnet<span class="hljs-operator">/</span>clightning:<span class="hljs-operator">/</span>root<span class="hljs-operator">/</span>.lightning <span class="hljs-operator">-</span><span class="hljs-operator">-</span>entrypoint <span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>lightningd cdecker<span class="hljs-operator">/</span>lightningd:master <span class="hljs-operator">-</span><span class="hljs-operator">-</span>network<span class="hljs-operator">=</span>bitcoin <span class="hljs-operator">-</span><span class="hljs-operator">-</span>alias yournodename <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rgb aa381e <span class="hljs-operator">-</span><span class="hljs-operator">-</span>announce<span class="hljs-operator">-</span>addr 本机ip <span class="hljs-operator">-</span><span class="hljs-operator">-</span>bind<span class="hljs-operator">-</span>addr <span class="hljs-number">0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>log<span class="hljs-operator">-</span>level<span class="hljs-operator">=</span>debug
</code></pre><p>创建一个<code>lightning-cli</code>的命令，写入文件<code>/usr/local/bin/lightning-cli</code></p><pre data-type="codeBlock" text="#!/usr/bin/env bash
docker run --rm -v /scratch/bitcoin/mainnet/clightning:/root/.lightning --entrypoint /usr/bin/lightning-cli cdecker/lightningd:master &quot;$@&quot;
"><code>#<span class="hljs-operator">!</span><span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>env bash
docker run <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rm <span class="hljs-operator">-</span>v <span class="hljs-operator">/</span>scratch<span class="hljs-operator">/</span>bitcoin<span class="hljs-operator">/</span>mainnet<span class="hljs-operator">/</span>clightning:<span class="hljs-operator">/</span>root<span class="hljs-operator">/</span>.lightning <span class="hljs-operator">-</span><span class="hljs-operator">-</span>entrypoint <span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>lightning<span class="hljs-operator">-</span>cli cdecker<span class="hljs-operator">/</span>lightningd:master <span class="hljs-string">"$@"</span>
</code></pre><p>添加执行权限</p><pre data-type="codeBlock" text="chmod +x /usr/local/bin/lightning-cli
"><code>chmod <span class="hljs-operator">+</span>x <span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>local<span class="hljs-operator">/</span>bin<span class="hljs-operator">/</span>lightning<span class="hljs-operator">-</span>cli
</code></pre><p>通过<code>getinfo</code>可以看到闪电网络节点的运行状况</p><pre data-type="codeBlock" text="lightning-cli getinfo
"><code>lightning-cli <span class="hljs-built_in">getinfo</span>
</code></pre><p>到这里闪电网络节点已经启动成功</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">四、给闪电网络钱包充值</h3><p>执行命令<code>lightning-cli newaddr</code>生成一个充值地址</p><pre data-type="codeBlock" text="{ &quot;address&quot; : &quot;1Cd6C8i6sc1ZReskWWGHJRXvSnvM3277qz&quot; }
"><code>{ "<span class="hljs-selector-tag">address</span>" : <span class="hljs-string">"1Cd6C8i6sc1ZReskWWGHJRXvSnvM3277qz"</span> }
</code></pre><p>朝这个地址转账适量的BTC，等待比特币网络的6次确认，设置适当的手续费一般在60分钟左右。等充值被确认了以后就可以开始创建通道了。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">五、创建闪电网络通道</h3><p>你可以通过这个网站来找到你想连接的节点：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://1ml.com/">https://1ml.com/</a></p><p>或者你也可以连接我创建的节点，执行命令进行连接：</p><pre data-type="codeBlock" text="lightning-cli connect 02ed9102fe81a117b19f0c1fe0586536a04c962838677dcdb762aeb9804d9f33c7@5.135.180.50:9735
"><code>lightning-cli <span class="hljs-keyword">connect</span> <span class="hljs-number">02</span>ed9102fe81a117b19f0c1fe0586536a04c962838677dcdb762aeb9804d9f33c7@5.<span class="hljs-number">135.180</span>.<span class="hljs-number">50</span>:<span class="hljs-number">9735</span>
</code></pre><p>查看你连接过的节点状态：</p><pre data-type="codeBlock" text="lightning-cli getpeers
"><code>lightning<span class="hljs-operator">-</span>cli getpeers
</code></pre><p>设置一个合理的手续费（这个手续费用作闪电网络合约的创建）：</p><pre data-type="codeBlock" text="bitcoin-cli settxfee 0.00005
"><code>bitcoin<span class="hljs-operator">-</span>cli settxfee <span class="hljs-number">0</span><span class="hljs-number">.00005</span>
</code></pre><p>你可以查看当前的手续费水平，选择一个合适的值。如果是5sat/B，这里应该设置为0.00005。</p><p>手续费参考：<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://p2sh.info/dashboard/db/fee-estimation">https://p2sh.info/dashboard/db/fee-estimation</a></p><p>设置完后续费之后就可以开启通道了，开启通道需要设置准备金的数量：</p><pre data-type="codeBlock" text="lightning-cli fundchannel 02ed9102fe81a117b19f0c1fe0586536a04c962838677dcdb762aeb9804d9f33c7 20000
"><code>lightning<span class="hljs-operator">-</span>cli fundchannel 02ed9102fe81a117b19f0c1fe0586536a04c962838677dcdb762aeb9804d9f33c7 <span class="hljs-number">20000</span>
</code></pre><p>会返回一个txid，通过txid可以查看通道开通的进度，经过6次确认之后通道就正式开通了。</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">六、测试支付</h3><p>同样，你也可以找个网站支付几毛钱测试一下能否成功</p><pre data-type="codeBlock" text="lightning-cli pay xxxxxxxx
"><code>lightning<span class="hljs-operator">-</span>cli pay xxxxxxxx
</code></pre><p>通过<code>lightning-cli getpeers</code>命令可以查看当前通道的情况和剩余的BTC</p><h3 id="h-" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">七、查看并分享你的节点</h3><p>顺利的话你的闪电网络节点已经创建成功了。</p><p>如果你和闪电网络任意一个节点创建过通道，你应该能在1ml.com上搜索到你的节点信息（可能需要过几个小时的同步时间）</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://1ml.com/node/02ed9102fe81a117b19f0c1fe0586536a04c962838677dcdb762aeb9804d9f33c7">https://1ml.com/node/02ed9102fe81a117b19f0c1fe0586536a04c962838677dcdb762aeb9804d9f33c7</a></p><p>通过lightning-cli getinfo 能查看本机节点信息，拼成id@ip:port的形式分享给别人，别人就能通过connect命令连上你的节点，比如我的节点：</p><pre data-type="codeBlock" text="02ed9102fe81a117b19f0c1fe0586536a04c962838677dcdb762aeb9804d9f33c7@5.135.180.50:9735
"><code><span class="hljs-number">02</span>ed9102fe81a117b19f0c1fe0586536a04c962838677dcdb762aeb9804d9f33c7<span class="hljs-keyword">@5</span>.135.180.50:9735
</code></pre><p>别人的转账路由经过了你的节点，就会向你支付一定的手续费。当然你也可以随时调整这个手续费。</p>]]></content:encoded>
            <author>puton@newsletter.paragraph.com (puton.eth)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/c31fba5e4ea2145adbd49d8f5830d2b6da518687b0c910a578a695dd7a8f0dac.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Test]]></title>
            <link>https://paragraph.com/@puton/test</link>
            <guid>RGlSHHehzGLuu4C2xDqN</guid>
            <pubDate>Sat, 13 Nov 2021 15:46:08 GMT</pubDate>
            <description><![CDATA[test]]></description>
            <content:encoded><![CDATA[<p>test</p>]]></content:encoded>
            <author>puton@newsletter.paragraph.com (puton.eth)</author>
        </item>
    </channel>
</rss>