npm 包 bip174 使用教程

阅读时长 4 分钟读完

前言

bip174 是一个用于 Bitcoin 和其他加密货币的共识规范,它规定了如何将交易、公钥和签名打包到一个二进制流中。该规范旨在满足多款钱包和全节点实现同步的需求。npm 包 bip174 是一个实现 bip174 规范的 JavaScript 库,可以方便地在 node.js 或浏览器中使用。本文将介绍 bip174 的基本概念,以及使用 npm 包 bip174 实现 bip174 规范的详细步骤。

bip174 规范

bip174 规范定义了一种标准的序列化格式,将交易、公钥和签名打包到一个二进制流中。该序列化格式的目的是简化不同钱包和全节点实现之间的数据同步。序列化格式由两个部分组成:

  • 输入数据(input data):包括交易输入和输入脚本
  • 输出数据(output data):包括交易输出和输出脚本

每个输入和输出都由一个描述其内容的描述符(descriptor)标识。描述符是一个字符串,用于描述输入或输出中包含的公钥和脚本。描述符可以从一个扩展公钥、一个钱包地址或一个硬件钱包中派生出来。输入或输出的描述符还可以指定所需的签名脚本或验证脚本。

使用 npm 包 bip174

npm 包 bip174 是一个实现 bip174 规范的 JavaScript 库。可以通过以下步骤使用该库:

  1. 安装 bip174
  1. 导入 bip174
  1. 创建 bip174 实例
-- -------------------- ---- -------
----- ---- - -
  ----- --------
  -------- --
  --------- -------
  ------- -
    -
      --------------- -------------------------------------------------- ------
    -
  --
  -------- -
    -
      ------- ------
      ------- ------------------------------------------------- ------
    -
  -
--
----- ---- - --- --------------------- ------------
------------------------------
--------------------------------
--------------------------- ------ -- -
  ----- ------------------- - -------------------------
  ----- --------------- - - --------------- -------------------- --
  ------------------------------ -------------------- --- ----
---
--------------------------- -- -
  -----------------------
---

在这个例子中,我们创建了 bip174 的实例 psbt,它包含一个示例的交易,该交易包括一个输入,一个输出和所有必需的元数据。

  1. 序列化 bip174 实例

这个例子中 serializedTransaction 是一个包含交易信息的十六进制字符串,可以将它发送到全节点或其他钱包以进行广播或签名。

  1. 踩坑和解决

在使用 bip174 过程中,会遇到 Populating pubkeys failed 问题,原因是因为缺少输入的派生路径的 pubkeys,可以手动添加派生路径 pubkeys 解决。

结论

在本文中,我们简要介绍了 bip174 规范,以及如何使用 npm 包 bip174 实现 bip174 规范。我们还讨论了 bip174 遇到的常见问题和解决方案。我们希望这篇文章能够帮助那些希望使用 bip174 的人更好地理解和使用该技术。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedcc65b5cbfe1ea061278a

纠错
反馈