@exodus/bitcoinjs-lib

中文文档
6.1.7-no-inputs-fix.2发布于 2025/11/14MITTypeScriptCommonJS近 30 天下载 2.4万

客户端 Bitcoin JavaScript 库

中文使用文档
文档目录14 节
  1. 我应该用这个生产?
  2. 我能相信这个密码吗?
  3. 文档
  4. 我怎么联系Github以外的开发者?
  5. 安装
  6. 使用量
  7. 浏览器
  8. 键盘或 VSCode 用户
  9. 实例
  10. 捐款
  11. 运行测试套件
  12. 补充图书馆
  13. 替代品
  14. 自由主义 麻省理工学院

比特币JS(比特币J-lib)

Github CI NPM code style: prettier

用于节点.js和浏览器的javascript Bitcoin库. 写入TypeScript,但承诺JS文件进行校验.

根据《刑事诉讼法》的规定释放 麻省理工学院。 。 。 .

我应该用这个生产?

如果你在考虑使用 师傅 这个图书馆的分支生产, 停下来。 。 。 . 师傅不是稳定的,而是我们的发展分支 只有有标记的释放可归类为稳定释放。 。 。 .

我能相信这个密码吗?

别相信 校验.

我们推荐每个用户 这个库和 比特币js 生态系统审计和核实其有效性和适当性的任何基本守则,包括审查项目的任何和所有依赖性.

错误和错误发生,但有你的帮助 解决和报告 问题,我们可以一起生产开源软件,即:

  • 容易审计和核实,
  • 试验范围大于95%,
  • 高级和特色丰富,
  • 标准化,使用 更美丽 和节点 Buffer一直这样
  • 友好,有强大而有帮助的社区,随时准备回答问题.

文档

拜访我们 文档 探讨现有资源。 我们正在不断改进我们的文献 增加丰富经验的功能 如果你需要更多的指导 实例 出价,不要犹豫 请求帮助我们是来帮你的.

你可以找到一个 网络用户界面 涵盖大部分 psbt.ts, (中文(简体) ), transaction.ts 财务报告和审定财务报表 p2*.ts APIs 密码 这里。 。 。 .

我怎么联系Github以外的开发者?

大多数时候,这是不恰当的。 创造问题和在公开场合拉动请求会帮助有类似问题的其他人,所以请尝试使用公有问题并拉动沟通请求.

尽管如此,有时开发者可能会对从唱片中取出的东西持开放态度(e. 你想分享你不希望公众获得帮助的代码). 在这种情况下,请就公众问题进行谈判,以确定您将在哪里联系.

我们在IRC上创建了公共房间#bitcoinjs 打开 libera.chat)和矩阵#bitcoinjs-dev:matrix.org) (中文(简体) ). 这两道被合并为一个矩阵"空间",它有一个矩阵室和一个可以与IRC室相交的IRC桥室. "空间"是 #bitcoinjs-space:matrix.org。 。 。 .

Matrix和IRC都有直接发送消息的功能,但IRC并没有结束加密,因此Matrix被推荐用于大多数通信. 由矩阵核心团队维护的官方矩阵客户端称为"Element",可在此下载: https://element.io/下行负荷 (账户创建在矩阵.org服务器上是免费的,它是元素的默认设置. )

我们曾经有一个Slack。 它已经死了。 如果你找到,没人会回答你.

不,我们不会做一个Discord.

安装

npm install bitcoinjs-lib
# optionally, install a key derivation library as well
npm install ecpair bip32
# ecpair is the ECPair class for single keys
# bip32 is for generating HD keys

以前的图书馆版本包括了密钥管理课(ECPair, HDNODE (- >"bip32")),但现在这些课已分入不同的图书馆. 如果不需要执行任何加密函数(将私有密钥转换为公钥并衍生出HD密钥),这可以显著地降低捆绑大小.

我们通常支持 节点维护 LTS 版本。将设定脚本目标 到ECMAScript版本,其中所有特性都由当前Active Node LTS完全支持. 然而,根据其他环境(浏览器等)的采纳情况,我们可能把目标保留一两年. 如果有疑问,请看 主语 ci.yml 我们不断的整合测试使用什么版本.

警告:我们目前没有提供任何工具来核实释放是否在进行 npm 与 GitHub 匹配 。 因此,你应该验证 任何下载 npm 与你自己核实的副本相对应.

使用量

加密很难.

在使用私钥工作时,随机数生成器从根本上来说是您所撰写的任何软件中最重要的部分之一. 对于随机数代,我们 默认 页:1 randombytes 模块,用于 window.crypto.getRandomValues 在浏览器中,或节点js' crypto.randomBytes,取决于您的构建系统. 虽然这种默认值为~OK,但没有简单的方法来检测所提供的基础RNG是否足够好,或者是否是 灾难性的坏。 。 。 . 你应该自己去核实一下.

此库使用 微秒256k1,用于 RFC6979 (法语) 帮助预防 k 重新使用和开采. 不幸的是 这不是银弹. Javascript本身经常绕过这些反制措施来对付我们.

问题 Buffer (UInt8Array)例如,可以轻而易举地导致 灾难性基金损失 没有任何警告. 它可以通过破坏你的随机数组 意外生成一个 复制 k 价值,将 Bitcoin 发送给一个错误的输出脚本,或者任何百万种不同方式. 在你的目标环境中进行测试是重要的,也是不断核查的建议步骤.

终于, 遵守最佳做法。 。 。 . 我们并非最佳做法的权威来源,但至少:

  • 别再用地址。 。 。 .
  • 不要共享BIP32扩展公钥 ('xpubs'). 它们是责任,而它只需要一个错误的私人密钥(或者错误的执行!),你就容易受到伤害 灾难性基金损失。 。 。 .
  • 别用 Math.random - 无论如何 - 不要.
  • 强制用户在播出前总是(手动)验证其预定交易的新鲜可读版本.
  • 别 询问 用于生成映射的用户,或"大脑钱包",人类是可怕的随机数生成器.
  • 最后,如果你可以的话,请使用 字体 或类似.

浏览器

建议的使用方法 bitcoinjs-lib 在您的浏览器中通过 浏览器。 。 。 .

如果您想要使用一个不同的(更现代的)构建工具 browserify,您只需将这个库及其依赖性编译成一个 JavaScript 文件:

$ npm install bitcoinjs-lib browserify
$ npx browserify --standalone bitcoin - -o bitcoinjs-lib.js <<<"module.exports = require('bitcoinjs-lib');"

然后可以导入为无害环境管理模块:

<script type="module">import "/scripts/bitcoinjs-lib.js"</script>

页:1: 我们使用节点维护 LTS 特性, 如果您需要严格的 ES5 , 请使用 --transform babelify 与《公约》有关的 browserify 步骤(使用 es2015 预设).

警告: iOS 设备有 问题,至少使用 缓冲器@ 5.0.5 测试套房 Buffer,以及任何其他依赖)在使用前通过.

键盘或 VSCode 用户

本库中包含Typescript的类型声明. 正常安装应包括所有需要的类型信息.

实例

以下例子作为综合测试加以实施,应当非常容易理解. 否则,拉动请求会得到赞赏. 一些实例(通过HTTPS)与第3个缔约方区块链提供者(3PBP)相互作用.

如果你有你觉得可以列在这里的用具,请 问吧来啊!

捐款

见 捐款额。 。 。 .

运行测试套件

npm test
npm run-script coverage

补充图书馆

替代品

自由主义 麻省理工学院

版本与发布记录

@exodus/bitcoinjs-lib 共发布 16 个版本,首次发布于 2021/09/07;过去 12 个月发布了 0 个版本。

版本发布日期距今
6.1.7-no-inputs-fix.2latest2025/11/141 年前
6.1.7-no-inputs-fix2025/11/131 年前
6.1.62024/08/282 年前
6.1.6-exodus.02024/08/282 年前
6.1.5-exodus.22024/04/222 年前
6.1.5-exodus.12024/04/012 年前

其他发布通道:beta → 6.0.2-beta.5。

关于 @exodus/bitcoinjs-lib 的常见问题

@exodus/bitcoinjs-lib 是什么?

客户端 Bitcoin JavaScript 库

如何安装 @exodus/bitcoinjs-lib?

在项目目录运行 npm install @exodus/bitcoinjs-lib,或使用 pnpm add / yarn add / bun add。

@exodus/bitcoinjs-lib 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@exodus/bitcoinjs-lib 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@exodus/bitcoinjs-lib 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=8.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@exodus/bitcoinjs-lib 可以商用吗?

@exodus/bitcoinjs-lib 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@exodus/bitcoinjs-lib 的下载量有多少?

根据 npm 官方下载统计,@exodus/bitcoinjs-lib 在 2026/10/14 – 2026/11/12 这 30 天内被下载 23,690 次,日均约 790 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@exodus/bitcoinjs-lib 还在维护吗?

最新版本 6.1.7-no-inputs-fix.2 发布于 2025/11/14(1 年前);至今共发布 16 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/09/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。