概述
bip21-max 是一个 npm 包,可以用来最大化你的比特币 URI 长度。比特币 URI 是指包含 bitcoin: 协议头的字符串,通常用于支付,例如 bitcoin:3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v?amount=0.1
。bip21-max 可以自动地计算出一个尽可能长的比特币 URI,让你可以在有限的空间内尽可能多地包含比特币地址和其他参数。
本文将介绍 bip21-max 的基本使用方法和高级功能,帮助你更好地使用这个 npm 包。
安装
如果你已经安装了 npm,可以通过以下命令安装 bip21-max:
npm install bip21-max
基础使用
首先,你需要在你的脚本中引入 bip21-max:
const bip21Max = require('bip21-max');
接着,你就可以使用 bip21Max() 函数来获得最大化的比特币 URI。例如,如果你想要支付 0.1 BTC 到地址 3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v,你可以使用以下代码:
const uri = bip21Max({ address: '3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v', amount: 0.1, }); console.log(uri);
输出将会是以下内容:
bitcoin:3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v?amount=0.1
更多参数
bip21Max() 函数支持更多的参数,让你可以更好地控制输出的比特币 URI。以下是详细的参数列表和其含义:
address
: 必需。目标比特币地址。amount
: 可选。要支付的金额,以 BTC 为单位。label
: 可选。用于标识目标地址的文本。message
: 可选。与支付相关的自由格式文本。extra
: 可选。其他参数的键值对列表,例如{ r: '123', s: '456' }
。
除了支持基本的参数外,bip21Max() 函数还支持作为第二个参数传入一个选项对象,让你更好地控制如何最大化比特币 URI 的长度。以下是详细的选项列表和其含义:
savings
: 给定一个数字,表示希望通过缩短标签和消息的长度来节省多少字节。默认为 0。maxSize
: 给定一个数字,表示比特币 URI 的最大长度。如果最大化的比特币 URI 超过这个长度,bip21Max() 函数将自动调整标签和消息的长度,缩短比特币 URI。默认为 2083 字节,这是大多数浏览器对 URL 的最大长度限制。
以下是一个使用更多参数的示例:
-- -------------------- ---- ------- ----- --- - ---------- -------- ------------------------------------- ------- ---- ------ --- --------- -------- ------- --- ---- ---------- ------ - -- ------ -- ----- -- -- - -------- --- -------- ---- --- -----------------
输出将会是以下内容:
bitcoin:3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v?amount=0.1&label=My%20Paymen
注意比特币 URI 被缩短了,并且标签和消息也被缩短了,以节省空间。
高级功能
bip21-max 还支持一些高级功能,让你可以更好地控制比特币 URI 的生成过程。
自定义参数
如果你需要使用某些自定义参数,而这些参数不在 bip21Max() 函数支持的参数列表中,你可以使用 extra
参数来传递这些参数。例如:
const uri = bip21Max({ address: '3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v', amount: 0.1, extra: { myParam: 'hello' }, }); console.log(uri);
输出将会是以下内容:
bitcoin:3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v?amount=0.1&myParam=hello
自定义提供程序
bip21-max 使用默认的比特币 URI 提供程序,你也可以自定义提供程序,并在 bip21Max() 函数的选项对象中传入:
-- -------------------- ---- ------- ----- -------- - --------------------- ----- ---------- - - ----------------- -------- ------- - ------ -------------------- - ------ -- ---------------- -------- -------- - ------ ------------------- - ------- -- -- ----- --- - ---------- -------- ------------------------------------- ------- ---- -- - --------- ----------- --- -----------------
输出将会是以下内容:
bitcoin:my-address-string-?my-amount-string-0.1
自定义编码器
bip21-max 使用默认的 URL 编码器,你也可以自定义编码器,例如使用 Base64 编码:
-- -------------------- ---- ------- ----- -------- - --------------------- ----- ------------- - - ------- -------- ------- - ------ -------------------------------------- -- ------- -------- ------- - ------ ------------------ --------------------- -- -- ----- --- - ---------- -------- ------------------------------------- ------- ---- -- - -------- -------------- --- -----------------
输出将会是以下内容(使用了 Base64 编码):
bitcoin:3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v?amount=MA==
总结
bip21-max 是一个非常实用的 npm 包,可以帮助你最大化比特币 URI 的长度,从而在有限的空间内尽可能多地包含比特币地址和其他参数。本文介绍了 bip21-max 的基础使用方法和更多参数,同时也介绍了一些高级功能,帮助你更好地掌握这个 npm 包的使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671d730d0927023822ce8