BOLT 11:闪电支付发票协议
本文档是关于闪电网络支付请求的发票协议 BOLT 11 的详细规范。它描述了用于请求闪电网络支付的简单、可扩展且适用于 QR 码的协议,包括编码概述、人类可读部分、数据部分以及支付者/收款人互动等方面的要求和实现细节,还提供了多个有效和无效发票的示例。
BOLT #11:闪电支付的发票协议
一个简单、可扩展、可用于二维码的协议,用于通过闪电网络请求支付。
目录
编码概述
闪电发票的格式使用 bech32 编码, 它已经被用于比特币隔离见证。它可以被简单地 重用于闪电发票,即便它的 6 字符校验和针对手动输入进行了优化, 但考虑到闪电发票的长度,手动输入不太可能发生。
如果需要 URI 方案,目前的建议是使用 'lightning:' 作为 BOLT-11 编码的前缀(注意:不是 'lightning://'),或者为了回退到比特币支付,按照 BIP-21 使用 bitcoin:,键为 'lightning',值为 BOLT-11 编码。
要求
编写者:
- 必须使用 Bech32 编码支付请求(参见 BIP-0173)
- 应该对 QR 码使用大写字母(参见 BIP-0173)
- 可以超过 BIP-0173 中指定的 90 字符限制。
阅读者:
- 必须按照 BIP-0173 的规定,将地址解析为 Bech32 (也不受字符长度限制)。
- 注意:这包括按照 BIP-0173 的规定处理大写字母
- 如果校验和不正确:
- 必须使支付失败。
人类可读部分
闪电发票的人类可读部分由两部分组成:
prefix:ln+ BIP-0173 货币前缀(例如,比特币主网为lnbc, 比特币测试网为lntb,比特币 signet 为lntbs,比特币 regtest 为lnbcrt)amount:可选的该货币数量,后跟一个可选的multiplier字母。此处编码的单位是支付单位的“社会”惯例 —— 在比特币的情况下,单位是“比特币”而不是聪。
定义了以下的 multiplier 字母:
m(milli):乘以 0.001u(micro):乘以 0.000001n(nano):乘以 0.000000001p(pico):乘以 0.000000000001
要求
编写者:
- 必须使用成功支付所需的货币编码
prefix。 - 如果成功支付需要特定的最小
amount:- 必须包含该
amount。 - 必须将
amount编码为不带前导 0 的正十进制整数。 - 如果使用
p乘数,则amount的最后一位必须是0。 - 应该通过使用最大的 乘数或省略乘数来使用最短的可能表示形式。
- 必须包含该
阅读者:
- 如果它不理解
prefix:- 必须使支付失败。
- 如果
amount为空:- 应该向付款人指示金额未指定。
- 否则:
- 如果
amount包含非数字,或者后跟除multiplier以外的任何内容(参见上表):- 必须使支付失败。
- 如果
multiplier存在:- 必须将
amount乘以multiplier值,以得出 支付所需的金额。 - 如果乘数是
p并且amount的最后一位不是 0:- 必须使支付失败。
- 必须将
- 如果
理由
amount 被编码到人类可读的部分中,因为它相当
可读,并且是有用的请求金额的指示。
捐赠地址通常没有关联的金额,因此在这种情况下 amount
是可选的。通常,对于提供的任何回报,都需要最低付款。
p 乘数允许指定亚毫聪金额,这无法在网络上传输,因为 HTLC 以毫聪为单位。
要求尾随 0 小数位确保 amount 表示整数毫聪数。
数据部分
闪电发票的数据部分由多个部分组成:
timestamp:自 1970 年以来的秒数(35 位,大端)- 零个或多个标签部分
signature:上述内容的比特币样式的签名(520 位)
要求
编写者:
- 必须将
timestamp设置为自 UTC 1970 年 1 月 1 日午夜以来的秒数,采用大端。 - 必须将
signature设置为人类可读部分的 SHA2 256 位哈希的有效 512 位 secp256k1 签名,表示为 UTF-8 字节,与数据部分(不包括签名)连接,并附加 0 位以将数据填充到下一个字节边界,以及包含恢复 ID(0、1、2 或 3)的尾随字节。
阅读者:
- 必须检查
signature是否有效(参见下面指定的n标签字段)。
理由
signature 覆盖了确切的字节数,即便 SHA2
标准实际上支持位边界中的哈希,因为它没有被广泛
实现。恢复 ID 允许公钥恢复,因此可以暗示收款人节点的身份。
标签字段
每个标签字段的格式为:
type(5 位)data_length(10 位,大端)data(data_lengthx 5 位)
当前定义的标签字段有:
p(1):data_length52. 256 位 SHA256payment_hash。该哈希的前像是付款的证明。s(16):data_length52. 这个 256 位的密钥可防止转发节点探测付款接收者。d(13):data_length可变。付款目的的简短描述(UTF-8),例如“1 杯咖啡”或“ナンセンス 1杯”m(27):data_length可变。附加到 付款的附加元数据。请注意,此字段的大小受到最大跳 payload 大小的限制。长的元数据字段会减少最大路由长度。n(19):data_length53. 收款人节点的 33 字节公钥h(23):data_length52. 付款目的的 256 位描述(SHA256)。这用于提交到超过 639 字节的相关联的描述,但在这种情况下,该描述的传输机制是传输特定的,并且未在此处定义。x(6):data_length可变。expiry的时间(秒,大端)。如果未指定,则默认为 3600(1 小时)。c(24):data_length可变。用于路由中最后一个 HTLC 的min_final_cltv_expiry。如果未指定,则默认为 18。f(9):data_length可变,取决于版本。后备链上地址:对于比特币,这以 5 位的version开头,并包含一个见证程序或 P2PKH 或 P2SH 地址。r(3):data_length可变。包含私有路由的额外路由信息的一个或多个条目;可以有多个r字段pubkey(264 位)short_channel_id(64 位)fee_base_msat(32 位,大端)fee_proportional_millionths(32 位,大端)cltv_expiry_delta(16 位,大端)
9(5):data_length可变。一个或多个包含用于接收此付款的支持或需要的特性的 5 位值。 请参阅特性位。
要求
编写者:
- 必须恰好包含一个
p字段。 - 必须恰好包含一个
s字段。 - 必须将
payment_hash设置为 将作为付款回报提供的payment_preimage的 SHA2 256 位哈希。 - 必须恰好包含一个
d或恰好一个h字段。- 如果包含
d:- 必须将
d设置为有效的 UTF-8 字符串。 - 应该使用付款目的的完整描述。
- 必须将
- 如果包含
h:- 必须通过某些未指定的方式提供
h中哈希描述的前像。- 应该使用付款目的的完整描述。
- 必须通过某些未指定的方式提供
- 如果包含
- 可以包含一个
x字段。- 如果包含
x:- 应该使用最小的可能的
data_length。
- 应该使用最小的可能的
- 如果包含
- 必须包含一个
c字段 (min_final_cltv_expiry)。- 必须将
c设置为它将接受的最后 HTLC 的最小cltv_expiry。 - 应该使用最小的可能的
data_length。
- 必须将
- 可以包含一个
n字段。(否则需要执行签名恢复)- 必须将
n设置为用于创建signature的公钥。
- 必须将
- 可以包含一个或多个
f字段。- 对于比特币付款:
- 必须将
f字段设置为有效的见证版本和程序,或者设置为17,然后是公钥哈希,或者设置为18,然后是脚本哈希。
- 必须将
- 对于比特币付款:
- 如果没有与其公钥关联的公共通道:
- 必须包含至少一个
r字段。r字段必须包含一个或多个有序的条目,指示从 公共节点到最终目的地的转发路由。- 注意:对于每个条目,
pubkey是通道起点的节点 ID;short_channel_id是用于标识通道的短通道 ID 字段;fee_base_msat、fee_proportional_millionths和cltv_expiry_delta如 BOLT #7 中指定的。
- 注意:对于每个条目,
- 可以包含多个
r字段以提供多个路由选项。
- 必须包含至少一个
- 如果
9包含非零位:- 应该使用最小的可能的
data_length。
- 应该使用最小的可能的
- 否则:
- 必须完全省略
9字段。
- 必须完全省略
- 必须使用 0 填充字段数据,使其成为 5 位的倍数。
- 如果编写者提供多个任何字段类型,则:
- 必须首先指定最首选的字段,然后按顺序指定较不首选的字段。
阅读者:
- 必须跳过未知字段,或者具有未知
version的f字段,或者p、h、s或n字段,这些字段的data_length分别不是 52、52、52 或 53。 - 如果
9字段包含未知的非零的奇数位:- 必须忽略该位。
- 如果
9字段包含未知的非零的偶数位:- 必须使支付失败。
- 应该向用户指示未知的位。
- 必须检查
h字段中的 SHA2 256 位哈希是否与哈希的 描述完全匹配。 - 如果提供了有效的
n字段:- 必须使用
n字段来验证签名,而不是执行签名恢复。
- 必须使用
- 如果存在有效的
s字段:- 必须将其用作
payment_secret
- 必须将其用作
- 如果未提供
c字段 (min_final_cltv_expiry):- 在付款时,必须使用至少 18 的过期增量
- 如果提供了
m字段:- 必须将其用作
payment_metadata
- 必须将其用作
理由
type-and-length 格式允许将来的扩展向后
兼容。data_length 始终是 5 的倍数,便于
编码和解码。读取器还会忽略不同长度的字段,
原因是期望的字段可能会更改。
p 字段支持当前的 256 位支付哈希,但将来的
规范可能会添加不同长度的新变体:在这种情况下,
编写者可以同时支持旧变体和新变体,而旧读取器将
忽略不正确的长度变体。
d 字段允许内联描述,但可能不足以用于
复杂的订单。因此,h 字段允许摘要:尽管
描述的服务方式尚未指定,并且
可能会依赖于传输。h 格式将来可能会通过
更改长度来更改,因此如果读取器不是 256 位,则会忽略它。
m 字段允许将元数据附加到付款。这支持
接收者不保留任何付款上下文的应用程序。
n 字段可用于显式指定目标节点 ID,
而无需签名恢复。
x 字段给出有关何时拒绝付款的警告:
主要是为了避免混淆。选择默认值对于大多数付款都是合理的,并且
如果必要,允许有足够的时间进行链上付款。
c 字段允许目标节点要求对其传入的 HTLC 指定的
最小 CLTV 过期时间。目标节点可以使用此
来要求比默认值更高、更保守的值(取决于
它们的费用估算策略以及它们对时间锁的敏感性)。请注意,路由中的远程节点在其 channel_update 消息中指定了所需的 cltv_expiry_delta,它们可以随时更新。
f 字段允许链上回退; 但是,这对于微小的或时间敏感的付款可能没有意义。有可能出现新的
地址形式;因此,多个 f 字段(以隐含的首选顺序)有助于过渡,版本 19-31 的 f 字段将被读取器忽略。
r 字段允许有限的路由辅助:如指定的,它仅
允许使用私有通道的最低信息,但是,它也可以
在将来的部分知识路由中提供帮助。
付款描述的安全考虑因素
付款描述是用户定义的,并为 注入攻击提供了潜在途径:在呈现和持久化过程中。
付款描述应始终在 HTML/Javascript 上下文(或任何其他动态解释的渲染 框架)中显示之前进行清理。当解码和显示付款描述时,实施者应格外注意反射 XSS 攻击的可能性。在所有 验证、检查和清理过程成功完成之前,避免乐观地呈现付款请求的内容。
此外,请考虑使用预处理语句、输入验证和/或转义,以防止 支持 SQL 或其他动态解释的查询语言的持久性引擎中出现注入漏洞。
不要像 Little Bobby Tables 的学校那样。
特性位
特性位允许向前和向后兼容,并遵循
是奇数是可以的的规则。适用于在 9 字段中使用的特性在 BOLT 9 中标记。
该字段是大端。最低有效位编号为 0, 它是偶数,下一个最高有效位编号为 1, 它是奇数。
要求
编写者:
- 必须将
9字段设置为符合 BOLT 9 起源节点要求的特性向量。
读取者:
付款人 / 收款人互动
这些通常由 Lightning BOLT 系列的其余部分定义,
但值得注意的是,BOLT #4 指定收款人应该
接受高达预期 amount 的两倍,因此付款人可以通过添加细微的变化来使
付款更难跟踪。
目的是付款人从签名中恢复收款人的节点 ID,
并在检查诸如费用、过期时间和区块超时等条件可接受后,尝试付款。如有必要,它可以
使用 r 字段来扩充其路由信息,以到达最终节点。
如果付款成功,但后来发生争议,付款人可以 证明收款人的签名报价和成功的 付款。
付款人 / 收款人要求
付款人:
timestamp加上expiry过去后:- 不应该尝试付款。
- 否则:
- 如果闪电付款失败:
- 可以尝试使用它理解的第一个
f字段中给出的地址进行付款。
- 可以尝试使用它理解的第一个
- 如果闪电付款失败:
- 可以使用由
r字段指定的通道序列来路由到收款人。 - 应该在发起付款之前考虑费用金额和付款超时。
- 应该使用它没有跳过的第一个
p字段作为支付哈希。
收款人:
timestamp加上expiry过去后:- 不应接受付款。
实现
https://github.com/rustyrussell/lightning-payencode
示例
注意:以下所有示例均使用 priv_key=e126f68f7eafcc8b74f54d269fe206be715000f94dac067d1c04a8ca3b2db734 签名。
所有发票都包含一个 payment_secret=1111111111111111111111111111111111111111111111111111111111111111,除非另有说明。
请使用 payment_hash 0001020304050607080900010203040506070809000102030405060708090102 向我捐款任意金额@03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad
lnbc1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq9qrsgq357wnc5r2ueh7ck6q93dj32dlqnls087fxdwk8qakdyafkq3yap9us6v52vjjsrvywa6rt52cm9r9zqt8r2t7mlcwspyetp5h2tztugp9lfyql
分解:
lnbc:前缀,比特币主网上的闪电网络1: Bech32 分隔符pvjluez: 时间戳 (1496314658)s: 支付密钥p5:data_length(p= 1,5= 20; 1 * 32 + 20 == 52)zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs: 支付密钥 1111111111111111111111111111111111111111111111111111111111111111
p: 支付哈希p5:data_length(p= 1,5= 20; 1 * 32 + 20 == 52)qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypq: 支付哈希 0001020304050607080900010203040506070809000102030405060708090102
d: 简短描述pl:data_length(p= 1,l= 31; 1 * 32 + 31 == 63)2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq: '请考虑支持这个项目'
9: 特性qr:data_length(q= 0,r= 3; 0 * 32 + 3 == 3)sgq: b100000100000000
357wnc5r2ueh7ck6q93dj32dlqnls087fxdwk8qakdyafkq3yap9us6v52vjjsrvywa6rt52cm9r9zqt8r2t7mlcwspyetp5h2tztugp: 签名9lfyql: Bech32 校验和- 签名分解:
8d3ce9e28357337f62da0162d9454df827f83cfe499aeb1c1db349d4d81127425e434ca29929406c23bba1ae8ac6ca32880b38d4bf6ff874024cac34ba9625f1签名数据的十六进制 (32 字节 r, 32 字节 s)1(int) 包含在signature中的恢复标志6c6e62630b25fe64500d04444444444444444444444444444444444444444444444444444444444444444021a00008101820283038404800081018202830384048000810182028303840480810343f506c6561736520636f6e736964657220737570706f7274696e6720746869732070726f6a6563740500e08000要签名数据的十六进制 (在分隔符后直到签名开始之前的前缀 + 数据)6daf4d488be41ce7cbb487cab1ef2975e5efcea879b20d421f0ef86b07cbb987前像的 SHA256 的十六进制
请在 1 分钟内将一杯咖啡的 3 美元发送给同一个对等方
lnbc2500u1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpu9qrsgquk0rl77nj30yxdy8j9vdx85fkpmdla2087ne0xh8nhedh8w27kyke0lp53ut353s06fv3qfegext0eh0ymjpf39tuven09sam30g4vgpfna3rh
分解:
lnbc: 前缀, 在 Bitcoin mainnet 上的闪电网络2500u: 金额 (2500 微比特币)1: Bech32 分隔符pvjluez: 时间戳 (1496314658)s: 支付密钥...p: 支付哈希...d: 简短描述q5:data_length(q= 0,5= 20; 0 * 32 + 20 == 20)xysxxatsyp3k7enxv4js: '1 cup coffee'
x: 过期时间qz:data_length(q= 0,z= 2; 0 * 32 + 2 == 2)pu: 60 秒 (p= 1,u= 28; 1 * 32 + 28 == 60)
9: 特性qr:data_length(q= 0,r= 3; 0 * 32 + 3 == 3)sgq: b100000100000000
uk0rl77nj30yxdy8j9vdx85fkpmdla2087ne0xh8nhedh8w27kyke0lp53ut353s06fv3qfegext0eh0ymjpf39tuven09sam30g4vgp: 签名fna3rh: Bech32 校验和- 签名分解:
e59e3ffbd3945e4334879158d31e89b076dff54f3fa7979ae79df2db9dcaf5896cbfe1a478b8d2307e92c88139464cb7e6ef26e414c4abe33337961ddc5e8ab1签名数据的十六进制 (32 字节 r, 32 字节 s)1(int) 包含在signature中的恢复标志6c6e626332353030750b25fe64500d04444444444444444444444444444444444444444444444444444444444444444021a000081018202830384048000810182028303840480008101820283038404808103414312063757020636f66666565030041e140382000要签名数据的十六进制 (在分隔符后直到签名开始之前的前缀 + 数据)047e24bf270b25d42a56d57b2578faa3a10684641bab817c2851a871cb41dbc0前像的 SHA256 的十六进制
现在在 1 分钟内将 0.0025 BTC 发送给同一个对等方购买一杯 nonsense (ナンセンス 1杯)
lnbc2500u1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpu9qrsgqhtjpauu9ur7fw2thcl4y9vfvh4m9wlfyz2gem29g5ghe2aak2pm3ps8fdhtceqsaagty2vph7utlgj48u0ged6a337aewvraedendscp573dxr
分解:
-
lnbc: 前缀, 在 Bitcoin mainnet 上的闪电网络 -
2500u: 金额 (2500 微比特币) -
1: Bech32 分隔符 -
pvjluez: 时间戳 (1496314658) -
s: 支付密钥... -
p: 支付哈希... -
d: 简短描述pq:data_length(p= 1,q= 0; 1 * 32 + 0 == 32)uwpc4curk03c9wlrswe78q4eyqc7d8d0: 'ナンセンス 1杯'
-
x: 过期时间qz:data_length(q= 0,z= 2; 0 * 32 + 2 == 2)pu: 60 秒 (p= 1,u= 28; 1 * 32 + 28 == 60)
-
9: 特性qr:data_length(q= 0,r= 3; 0 * 32 + 3 == 3)sgq: b100000100000000
-
htjpauu9ur7fw2thcl4y9vfvh4m9wlfyz2gem29g5ghe2aak2pm3ps8fdhtceqsaagty2vph7utlgj48u0ged6a337aewvraedendscp: 签名 -
573dxr: Bech32 校验和 -
签名分解:
bae41ef385e0fc972977c7ea42b12cbd76577d2412919da8a8a22f9577b6507710c0e96dd78c821dea16453037f717f44aa7e3d196ebb18fbb97307dcb7336c3签名数据的十六进制 (32 字节 r, 32 字节 s)1(int) 包含在signature中的恢复标志6c6e626332353030750b25fe64500d04444444444444444444444444444444444444444444444444444444444444444021a000081018202830384048000810182028303840480008101820283038404808103420e3838ae383b3e382bbe383b3e382b92031e69daf30041e14038200要签名数据的十六进制 (在分隔符后直到签名开始之前的前缀 + 数据)f140d992ba419578ba9cfe1af85f92df90a76f442fb5e6e09b1f*lnbc`:前缀,比特币主网上的闪电网络
-
20m:金额(20 毫比特币) -
1:Bech32 分隔符 -
pvjluez:时间戳(1496314658) -
s:支付密钥... -
p:支付哈希... -
h:带标签的字段:描述的哈希p5:data_length(p= 1,5= 20;1 * 32 + 20 == 52)8yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqs:'One piece of chocolate cake, one icecream cone, one pickle, one slice of swiss cheese, one slice of salami, one lollypop, one piece of cherry pie, one sausage, one cupcake, and one slice of watermelon'的 SHA256
-
9:功能qr:data_length(q= 0,r= 3;0 * 32 + 3 == 3)sgq:b100000100000000
-
7ea976txfraylvgzuxs8kgcw23ezlrszfnh8r6qtfpr6cxga50aj6txm9rxrydzd06dfeawfk6swupvz4erwnyutnjq7x39ymw6j38gp:签名 -
7ynn44:Bech32 校验和 -
签名分解:
f67a5f696648fa4fb102e1a07b230e54722f8e024cee71e80b4847ac191da3fb2d2cdb28cc32344d7e9a9cf5c9b6a0ee0582ae46e9938b9c81e344a4dbb5289d签名数据的十六进制(32 字节 r,32 字节 s)1(int) 包含在signature中的恢复标志6c6e626332306d0b25fe64500d04444444444444444444444444444444444444444444444444444444444444444021a000081018202830384048000810182028303840480008101820283038404808105c343925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c10280704000用于签名的数据的十六进制(前缀 + 分隔符后的数据,直到签名的开始)e2ffa444e2979edb639fbdaa384638683ba1a5240b14dd7a150e45a04eea261dpreimage 的 SHA256 的十六进制
相同内容,在测试网上,使用 fallback 地址 mk2QpYatsKicvFVuTAQLBryyccRXMUaGHP
lntb20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfpp3x9et2e20v6pu37c5d9vax37wxq72un989qrsgqdj545axuxtnfemtpwkc45hx9d2ft7x04mt8q7y6t0k2dge9e7h8kpy9p34ytyslj3yu569aalz2xdk8xkd7ltxqld94u8h2esmsmacgpghe9k8
分解:
-
lntb:前缀,比特币测试网上的闪电网络 -
20m:金额(20 毫比特币) -
1:Bech32 分隔符 -
pvjluez:时间戳(1496314658) -
h:带标签的字段:描述的哈希... -
s:支付密钥... -
p:支付哈希... -
f:带标签的字段:fallback 地址pp:data_length(p= 1;1 * 32 + 1 == 33)3= 17,所以是 P2PKH 地址x9et2e20v6pu37c5d9vax37wxq72un98:160 位 P2PKH 地址
-
9:功能... -
dj545axuxtnfemtpwkc45hx9d2ft7x04mt8q7y6t0k2dge9e7h8kpy9p34ytyslj3yu569aalz2xdk8xkd7ltxqld94u8h2esmsmacgp:签名 -
ghe9k8:Bech32 校验和 -
签名分解:
6ca95a74dc32e69ced6175b15a5cc56a92bf19f5dace0f134b7d94d464b9f5cf6090a18d48b243f289394d17bdf89466d8e6b37df5981f696bc3dd5986e1bee1签名数据的十六进制(32 字节 r,32 字节 s)1(int) 包含在signature中的恢复标志6c6e746232306d0b25fe64500d044444444444444444444444444444444444444444444444444444444444444442e1a1c92db7b3f161a001b7689049eea2701b46f8db7513629edf2408fac7eaedc608043400010203040506070809000102030405060708090001020304050607080901020484313172b5654f6683c8fb146959d347ce303cae4ca728070400用于签名的数据的十六进制(前缀 + 分隔符后的数据,直到签名的开始)33bc6642a336097c74299cadfdfdd2e4884a555cf1b4fda72b095382d473d795preimage 的 SHA256 的十六进制
在主网上,fallback 地址为 1RustyRX2oai4EYYDpQGWvEL62BBGqN9T,带有额外的路由信息,通过节点 029e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255,然后是 039e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255
lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpp3qjmp7lwpagxun9pygexvgpjdc4jdj85fr9yq20q82gphp2nflc7jtzrcazrra7wwgzxqc8u7754cdlpfrmccae92qgzqvzq2ps8pqqqqqqpqqqqq9qqqvpeuqafqxu92d8lr6fvg0r5gv0heeeqgcrqlnm6jhphu9y00rrhy4grqszsvpcgpy9qqqqqqgqqqqq7qqzq9qrsgqdfjcdk6w3ak5pca9hwfwfh63zrrz06wwfya0ydlzpgzxkn5xagsqz7x9j4jwe7yj7vaf2k9lqsdk45kts2fd0fkr28am0u4w95tt2nsq76cqw0
分解:
-
lnbc:前缀,比特币主网上的闪电网络 -
20m:金额(20 毫比特币) -
1:Bech32 分隔符 -
pvjluez:时间戳(1496314658) -
s:支付密钥... -
p:支付哈希... -
h:带标签的字段:描述的哈希... -
f:带标签的字段:fallback 地址pp:data_length(p= 1;1 * 32 + 1 == 33)3= 17,所以是 P2PKH 地址qjmp7lwpagxun9pygexvgpjdc4jdj85f:160 位 P2PKH 地址
-
r:带标签的字段:路由信息9y:data_length(9= 5,y= 4;5 * 32 + 4 == 164)q20q82gphp2nflc7jtzrcazrra7wwgzxqc8u7754cdlpfrmccae92qgzqvzq2ps8pqqqqqqpqqqqq9qqqvpeuqafqxu92d8lr6fvg0r5gv0heeeqgcrqlnm6jhphu9y00rrhy4grqszsvpcgpy9qqqqqqgqqqqq7qqzq:- pubkey:
029e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255 short_channel_id:66051x263430x1800fee_base_msat:1 毫聪fee_proportional_millionths:20cltv_expiry_delta:3- pubkey:
039e03a901b85534ff1e92c43c74431f7ce72046060fcf7a95c37e148f78c77255 short_channel_id:197637x395016x2314fee_base_msat:2 毫聪fee_proportional_millionths:30cltv_expiry_delta:4
- pubkey:
-
9:功能... -
dfjcdk6w3ak5pca9hwfwfh63zrrz06wwfya0ydlzpgzxkn5xagsqz7x9j4jwe7yj7vaf2k9lqsdk45kts2fd0fkr28am0u4w95tt2nsq:签名 -
76cqw0:Bech32 校验和 -
签名分解:
6a6586db4e8f6d40e3a5bb92e4df5110c627e9ce493af237e20a046b4e86ea200178c59564ecf892f33a9558bf041b6ad2cb8292d7a6c351fbb7f2ae2d16b54e签名数据的十六进制(32 字节 r,32 字节s)0(int) 包含在signature中的恢复标志6c6e626332306d0b25fe64500d04444444444444444444444444444444444444444444444444444444444444444021a000081018202830384048000810182028303840480008101820283038404808105c343925b6f67e2c340036ed12093dd44e0368df1b6ea26c53dbe4811f58fd5db8c104843104b61f7dc1ea0dc99424464cc4064dc564d91e891948053c07520370aa69fe3d258878e8863ef9ce408c0c1f9ef52b86fc291ef18ee4aa020406080a0c0e1000000002000000280006073c07520370aa69fe3d258878e8863ef9ce408c0c1f9ef52b86fc291ef18ee4aa06080a0c0e101214000000040000003c00080500e08000用于签名的数据的十六进制(前缀 + 分隔符后的数据,直到签名的开始)b342d4655b984e53f405fe4d872fb9b7cf54ba538fcd170ed4a5906a9f535064preimage 的 SHA256 的十六进制
在主网上,fallback (P2SH) 地址为 3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX
lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppj3a24vwu6r8ejrss3axul8rxldph2q7z99qrsgqz6qsgww34xlatfj6e3sngrwfy3ytkt29d2qttr8qz2mnedfqysuqypgqex4haa2h8fx3wnypranf3pdwyluftwe680jjcfp438u82xqphf75ym
分解:
-
lnbc:前缀,比特币主网上的闪电网络 -
20m:金额(20 毫比特币) -
1:Bech32 分隔符 -
pvjluez:时间戳(1496314658) -
s:支付密钥... -
h:带标签的字段:描述的哈希... -
p:支付哈希... -
f:带标签的字段:fallback 地址pp:data_length(p= 1;1 * 32 + 1 == 33)j= 18,所以是 P2SH 地址3a24vwu6r8ejrss3axul8rxldph2q7z9:160 位 P2SH 地址
-
9:功能... -
z6qsgww34xlatfj6e3sngrwfy3ytkt29d2qttr8qz2mnedfqysuqypgqex4haa2h8fx3wnypranf3pdwyluftwe680jjcfp438u82xqp:签名 -
hf75ym:Bech32 校验和 -
签名分解:
16810439d1a9bfd5a65acc61340dc92448bb2d456a80b58ce012b73cb5202438020500c9ab7ef5573a4d174c811f669885ae27f895bb3a3be52c243589f87518签名数据的十六进制(32 字节 r,32 字节 s)1(int) 包含在signature中的恢复标志6c6e626332306d0b25fe64500d044444444444444444444444444444444444444444444444444444444444444442e1a1c92db7b3f161a001b7689049eea2701b46f8db7513629edf2408fac7eaedc608043400010203040506070809000102030405060708090001020304050607080901020484328f55563b9a19f321c211e9b9f38cdf686ea0784528070400用于签名的数据的十六进制(前缀 + 分隔符后的数据,直到签名的开始)9e93321a775f7dffdca03e61d1ac6e0e356cc63cecd3835271200c1e5b499d29preimage 的 SHA256 的十六进制
在主网上,fallback (P2WPKH) 地址为 bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfppqw508d6qejxtdg4y5r3zarvary0c5xw7k9qrsgqt29a0wturnys2hhxpner2e3plp6jyj8qx7548zr2z7ptgjjc7hljm98xhjym0dg52sdrvqamxdezkmqg4gdrvwwnf0kv2jdfnl4xatsqmrnsse
-
lnbc:前缀,比特币主网上的闪电网络 -
20m:金额(20 毫比特币) -
1:Bech32 分隔符 -
pvjluez:时间戳(1496314658) -
s:支付密钥... -
h:带标签的字段:描述的哈希... -
p:支付哈希... -
f:带标签的字段:fallback 地址pp:data_length(p= 1;1 * 32 + 1 == 33)q:0,所以 witness version 0w508d6qejxtdg4y5r3zarvary0c5xw7k:160 位 = P2WPKH。
-
9:功能... -
t29a0wturnys2hhxpner2e3plp6jyj8qx7548zr2z7ptgjjc7hljm98xhjym0dg52sdrvqamxdezkmqg4gdrvwwnf0kv2jdfnl4xatsq:签名 -
mrnsse:Bech32 校验和 -
签名分解:
5a8bd7b97c1cc9055ee60cf2356621f8752248e037a953886a1782b44a58f5ff2d94e6bc89b7b514541a3603bb33722b6c08aa1a3639d34becc549a99fea6eae签名数据的十六进制(32 字节 r,32 字节 s)0(int) 包含在signature中的恢复标志6c6e626332306d0b25fe64500d044444444444444444444444444444444444444444444444444444444444444442e1a1c92db7b3f161a001b7689049eea2701b46f8db7513629edf2408fac7eaedc60804340001020304050607080900010203040506070809000102030405060708090102048420751e76e8199196d454941c45d1b3a323f1433bd628070400用于签名的数据的十六进制(前缀 + 分隔符后的数据,直到签名的开始)44fbec32cdac99a1a3cd638ec507dad633a1e5bba514832fd3471e663a157f7bpreimage 的 SHA256 的十六进制
在主网上,fallback (P2WSH) 地址为 bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3
lnbc20m1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygshp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqfp4qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q9qrsgq9vlvyj8cqvq6ggvpwd53jncp9nwc47xlrsnenq2zp70fq83qlgesn4u3uyf4tesfkkwwfg3qs54qe426hp3tz7z6sweqdjg05axsrjqp9yrrwc
-
lnbc:前缀,比特币主网上的闪电网络 -
20m:金额(20 毫比特币) -
1:Bech32 分隔符 -
pvjluez:时间戳(1496314658) -
s:支付密钥... -
h:带标签的字段:描述的哈希... -
p:支付哈希... -
f:带标签的字段:fallback 地址p4:data_length(p= 1,4= 21;1 * 32 + 21 == 53)q:0,所以 witness version 0rp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q:260 位 = P2WSH。
-
9:功能... -
9vlvyj8cqvq6ggvpwd53jncp9nwc47xlrsnenq2zp70fq83qlgesn4u3uyf4tesfkkwwfg3qs54qe426hp3tz7z6sweqdjg05axsrjqp:签名 -
9yrrwc:Bech32 校验和 -
签名分解:
2b3ec248f80301a421817369194f012cdd8af8df1c279981420f9e901e20fa3309d791e11355e609b59ce4a220852a0cd55ab862b1785a83b206c90fa74d01c8签名数据的十六进制(32 字节 r,32 字节 s)1(int) 包含在signature中的恢复标志6c6e626332306d0b25fe64500d044444444444444444444444444444444444444444444444444444444444444442e1a1c92db7b3f161a001b7689049eea2701b46f8db7513629edf2408fac7eaedc608043400010203040506070809000102030405060708090001020304050607080901020486a01863143c14c5166804bd19203356da136c985678cd4d27a1b8c63296049032620280704000用于签名的数据的十六进制(前缀 + 分隔符后的数据,直到签名的开始)865a2cc6730e1eeeacd30e6da8e9ab0e9115828d27953ec0c0f985db05da5027preimage 的 SHA256 的十六进制
请在一周内为一份商品清单支付 0.00967878534 BTC,金额以 pico-BTC 为单位
lnbc9678785340p1pwmna7lpp5gc3xfm08u9qy06djf8dfflhugl6p7lgza6dsjxq454gxhj9t7a0sd8dgfkx7cmtwd68yetpd5s9xar0wfjn5gpc8qhrsdfq24f5ggrxdaezqsnvda3kkum5wfjkzmfqf3jkgem9wgsyuctwdus9xgrcyqcjcgpzgfskx6eqf9hzqnteypzxz7fzypfhg6trddjhygrcyqezcgpzfysywmm5ypxxjemgw3hxjmn8yptk7untd9hxwg3q2d6xjcmtv4ezq7pqxgsxzmnyyqcjqmt0wfjjq6t5v4khxsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygsxqyjw5qcqp2rzjq0gxwkzc8w6323m55m4jyxcjwmy7stt9hwkwe2qxmy8zpsgg7jcuwz87fcqqeuqqqyqqqqlgqqqqn3qq9q9qrsgqrvgkpnmps664wgkp43l22qsgdw4ve24aca4nymnxddlnp8vh9v2sdxlu5ywdxefsfvm0fq3sesf08uf6q9a2ke0hc9j6z6wlxg5z5kqpu2v9wz
分解:
lnbc:前缀,比特币主网上的闪电网络9678785340p:金额(9678785340 皮可比特币 = 967878534 毫聪)1:Bech32 分隔符pwmna7l:时间戳(1572468703)s:支付密钥...p:支付哈希p5:data_length(p= 1,5= 20;1 * 32 + 20 == 52)gc3xfm08u9qy06djf8dfflhugl6p7lgza6dsjxq454gxhj9t7a0s:支付哈希 462264ede7e14047e9b249da94fefc47f41f7d02ee9b091815a5506bc8abf75f
d:简短描述8d:data_length(8= 7,d= 13;7 * 32 + 13 == 237)- `gfkx7cmtwd68yetpd5s9xar0wfjn5gpc8qhrsdfq24f5ggrxdaezqsnvda3kkum5wfjkzmfqf3jkgem9wgsyuctwdus9xgrcyqcjcgpzgfskx6eqf9hzqnteypzxz7fzypfhg6trddjhygrcyqezcgpzfysywmm5ypxxjemgw3hxjmn8yptk7untd9### 相同,但全部大写。 LNBC25M1PVJLUEZPP5QQQSYQCYQ5RQWZQFQQQSYQCYQ5RQWZQFQQQSYQCYQ5RQWZQFQYPQDQ5VDHKVEN9V5SXYETPDEESSP5ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYG3ZYGS9Q5SQQQQQQQQQQQQQQQQSGQ2A25DXL5HRNTDTN6ZVYDT7D66HYZSYHQS4WDYNAVYS42XGL6SGX9C4G7ME86A27T07MDTFRY458RTJR0V92CNMSWPSJSCGT2VCSE3SGPZ3UAPA
相同,但包含必须忽略的字段。
lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqqsgq2qrqqqfppnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhpnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqspnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqsp4qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnp5qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnpkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqz599y53s3ujmcfjp5xrdap68qxymkqphwsexhmhr8wdz5usdzkzrse33chw6dlp3jhuhge9ley7j2ayx36kawe7kmgg8sv5ugdyusdcqzn8z9x
分解:
lnbc:前缀,比特币主网上的闪电网络25m:金额 (25 milli-bitcoin)1:Bech32 分隔符pvjluez:时间戳 (1496314658)p:支付哈希...d:简短描述q5:data_length(q= 0,5= 20; 0 * 32 + 20 == 20)vdhkven9v5sxyetpdees: 'coffee beans'
s:支付密钥p5:data_length(p= 1,5= 20; 1 * 32 + 20 == 52)zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs:0x1111111111111111111111111111111111111111111111111111111111111111
9:特性q5:data_length(q= 0,5= 20; 0 * 32 + 20 == 20)sqqqqqqqqqqqqqqqqsgq:b1000....00000100000100000000
2:未知字段qr:data_length(q= 0,r= 3; 0 * 32 + 3 == 3)qqq:零
f:标记字段:回退地址pp:data_length(p= 1,p= 1; 1 * 32 + 1 == 33)nqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq:回退地址类型 19(忽略)
p:支付哈希pn:data_length(p= 1,n= 19; 1 * 32 + 19 == 51) (忽略)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
p:支付哈希p4:data_length(p= 1,4= 21; 1 * 32 + 21 == 53) (忽略)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
h:描述的哈希pn:data_length(p= 1,n= 19; 1 * 32 + 19 == 51) (忽略)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
h:描述的哈希p4:data_length(p= 1,4= 21; 1 * 32 + 21 == 53) (忽略)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
s:支付密钥pn:data_length(p= 1,n= 19; 1 * 32 + 19 == 51) (忽略)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
s:支付密钥p4:data_length(p= 1,4= 21; 1 * 32 + 21 == 53) (忽略)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
n:节点 IDp5:data_length(p= 1,5= 20; 1 * 32 + 20 == 52) (忽略)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
n:节点 IDpk:data_length(p= 1,k= 22; 1 * 32 + 22 == 54) (忽略)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
z599y53s3ujmcfjp5xrdap68qxymkqphwsexhmhr8wdz5usdzkzrse33chw6dlp3jhuhge9ley7j2ayx36kawe7kmgg8sv5ugdyusdcq:签名zn8z9x:Bech32 校验和
请发送 0.01 BTC,附带支付元数据 0x01fafaf0
lnbc10m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdp9wpshjmt9de6zqmt9w3skgct5vysxjmnnd9jx2mq8q8a04uqsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q2gqqqqqqsgq7hf8he7ecf7n4ffphs6awl9t6676rrclv9ckg3d3ncn7fct63p6s365duk5wrk202cfy3aj5xnnp5gs3vrdvruverwwq7yzhkf5a3xqpd05wjc
分解:
lnbc:前缀,比特币主网上的闪电网络10m:金额 (10 milli-bitcoin)1:Bech32 分隔符pvjluez:时间戳 (1496314658)p:支付哈希p5:data_length(p= 1,5= 20; 1 * 32 + 20 == 52)qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypq:支付哈希 0001020304050607080900010203040506070809000102030405060708090102
d:简短描述p9:data_length(p= 1,9= 5; 1 * 32 + 5 == 37)wpshjmt9de6zqmt9w3skgct5vysxjmnnd9jx2:'payment metadata inside'
m:元数据q8:data_length(q= 0,8= 7; 0 * 32 + 7 == 7)q8a04uq:0x01fafaf0
s:支付密钥p5:data_length(p= 1,5= 20; 1 * 32 + 20 == 52)zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs:0x1111111111111111111111111111111111111111111111111111111111111111
9:特性q2:data_length(q= 0,2= 10; 0 * 32 + 10 == 10)gqqqqqqsgq:[b01000000000000000000000000000000000100000100000000] = 8 + 14 + 48
7hf8he7ecf7n4ffphs6awl9t6676rrclv9ckg3d3ncn7fct63p6s365duk5wrk202cfy3aj5xnnp5gs3vrdvruverwwq7yzhkf5a3xqp:签名d05wjc:Bech32 校验和
无效发票的示例
相同,但添加了无效的未知特性 100
lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q4psqqqqqqqqqqqqqqqqsgqtqyx5vggfcsll4wu246hz02kp85x4katwsk9639we5n5yngc3yhqkm35jnjw4len8vrnqnf5ejh0mzj9n3vz2px97evektfm2l6wqccp3y7372
分解:
lnbc:前缀,比特币主网上的闪电网络25m:金额 (25 milli-bitcoin)1:Bech32 分隔符pvjluez:时间戳 (1496314658)p:支付哈希...d:简短描述q5:data_length(q= 0,5= 20; 0 * 32 + 20 == 20)vdhkven9v5sxyetpdees:'coffee beans'
s:支付密钥p5:data_length(p= 1,5= 20; 1 * 32 + 20 == 52)zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs:0x1111111111111111111111111111111111111111111111111111111111111111
9:特性q4:data_length(q= 0,4= 21; 0 * 32 + 21 == 21)psqqqqqqqqqqqqqqqqsgq:b000011000....00000100000100000000
tqyx5vggfcsll4wu246hz02kp85x4katwsk9639we5n5yngc3yhqkm35jnjw4len8vrnqnf5ejh0mzj9n3vz2px97evektfm2l6wqccp:签名3y7372:Bech32 校验和
Bech32 校验和无效。
lnbc2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrnt
格式错误的 bech32 字符串(没有 1)
pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrny
格式错误的 bech32 字符串(混合大小写)
LNBC2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrny
签名无法恢复。
lnbc2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpusp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9qrsgqwgt7mcn5yqw3yx0w94pswkpq6j9uh6xfqqqtsk4tnarugeektd4hg5975x9am52rz4qskukxdmjemg92vvqz8nvmsye63r5ykel43pgz7zq0g2
字符串太短。
lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6na6hlh
无效的 multiplier
lnbc2500x1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpusp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9qrsgqrrzc4cvfue4zp3hggxp47ag7xnrlr8vgcmkjxk3j5jqethnumgkpqp23z9jclu3v0a7e0aruz366e9wqdykw6dxhdzcjjhldxq0w6wgqcnu43j
无效的亚毫聪精度。
lnbc2500000001p1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpusp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9qrsgq0lzc236j96a95uv0m3umg28gclm5lqxtqqwk32uuk4k6673k6n5kfvx3d2h8s295fad45fdhmusm8sjudfhlf6dcsxmfvkeywmjdkxcp99202x
作者
[ FIXME: ]
<br>
本作品采用Creative Commons Attribution 4.0 International License进行许可。
- 原文链接: github.com/lightning/bol...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~