bitcoin-libraries-bcoin-js

v2026.09.24

bcoin: full-node Bitcoin implementation in JavaScript. Wallets, HTTP API, SPV mode. Alternative to running bitcoind. USE WHEN: needing a Node-native Bitcoin full node, evaluating alternative implementations.

GitHub
安装命令
npx skhub add claude-dev-suite/bitcoin-libraries-bcoin-js
Markdown
SKILL.md

bcoin

Bitcoin full-node implementation in JavaScript. Built by Bcoin Foundation (originally Purse / Bcrypt team).

Repo: github.com/bcoin-org/bcoin.

Components

  • Full node.
  • SPV mode.
  • HTTP API (REST + RPC).
  • WebSocket subscriptions.
  • HD wallet.
  • Wallet API.

Install

The npm package is abandoned: npm install bcoin resolves to 1.0.2 (July 2018), which is deprecated with "bcoin v2.0.0+ are no longer hosted on npm" (registry checked September 2026). No 2.x release was ever published to npm. Upstream ships by git clone only:

git clone https://github.com/bcoin-org/bcoin
cd bcoin
npm rebuild
./bin/bcoin

Dependencies are themselves git+https:// specs pinned to other bcoin-org repos, so the clone needs network access to GitHub, not just to the npm registry.

Quick example

const bcoin = require("bcoin").set("main");
const node = new bcoin.FullNode({ memory: false, db: "leveldb" });
await node.open();

// Watch new blocks
node.chain.on("connect", (entry, block) => {
    console.log("New block:", entry.height, entry.hash.toString("hex"));
});

Compared to bitcoind

Aspectbitcoind (Core)bcoin
LanguageC++JavaScript
CompatibilityFullPre-Taproot rules only
Mempool policyReferencev1 RBF rejected, 10x fee floor
PerformanceBestAcceptable
AdoptionUniversalNiche
Soft fork supportAlways immediateStalled at SegWit

Mempool detail, both trees read September 2026: bcoin's replace-by-fee option defaults to false and mainnet sets requireStandard = true, so Mempool.insertTX rejects an RBF-signalling tx as nonstandard -- but only at version 1, because isRBF() returns false for every version-2 tx whatever its input sequences and version 2 is the standardness ceiling (policy.MAX_TX_VERSION = 2) -- Core 29.0 (April 2025) removed -mempoolfullrbf and made full RBF unconditional (PR #30592). bcoin's policy.MIN_RELAY and every network.minRelay are 1000 sat/kB, ten times Core's default -minrelaytxfee, lowered to 100 sat/kvB in Core 29.1 (September 2025) and 30.0 (October 2025) by PR #33106.

Use cases

  • Embedded full node in JS app (Electron desktop wallets).
  • SPV-light JS apps.
  • Educational — read JS code easier than C++.

Status

Dormant as of September 2026. Last tagged release is v2.2.0 (November 2021); the last commit on master is August 2023; the last push of any kind to the repository is February 2024. 114 open issues and 87 open pull requests. The repo is not archived, but nothing has moved in it for over two and a half years.

No Taproot. master has no OP_CHECKSIGADD opcode, no BIP341/342 validation and no taproot deployment in lib/protocol/networks.js. Script.verifyProgram returns success for every witness version above 0 unless VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM is set, so in blocks a v1 (P2TR) output is anyone-can-spend as far as bcoin is concerned. The taproot work lives on an unmerged taproot branch whose last commit is September 2022. Address handling does support bech32m (BIP350), so bcoin can parse P2TR addresses whose spends it cannot validate.

Treat bcoin as a reference and teaching implementation, not a deployment target. For any node that must follow consensus, or that sits in front of funds, run bitcoind.

See also

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

skills/bitcoin/libraries/bcoin-js

默认分支

main

最新提交

9496306

Tree SHA

fe4e2f1