Monorepo for TypeScript/JavaScript tools used in the Dojo ecosystem.
  • HTML 50.4%
  • TypeScript 41.9%
  • CSS 6.6%
  • JavaScript 1.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-04-21 00:33:13 +02:00
packages cleaned up code, fixed package.json files 2026-04-21 00:33:13 +02:00
.gitignore Bootstrap dojo-tools monorepo with core Bitcoin TypeScript packages 2026-04-19 19:42:58 +02:00
biome.json cleaned up code, fixed package.json files 2026-04-21 00:33:13 +02:00
package.json Rename auth47/bip47 packages and add repo-wide check script 2026-04-20 20:44:00 +02:00
pnpm-lock.yaml Remove main fields, refine exports, and update crypto import style 2026-04-20 22:15:13 +02:00
pnpm-workspace.yaml Replace yargs with node:util parseArgs in CLI tools 2026-04-20 20:25:57 +02:00
README.md Add root README with monorepo setup and package overview 2026-04-20 20:46:17 +02:00
tsconfig.json Adopt pnpm catalog deps and upgrade build toolchain 2026-04-20 19:05:23 +02:00

dojo-tools

Monorepo for TypeScript/JavaScript tools used in the Dojo ecosystem.

Packages

  • @dojo-tools/auth47 (packages/auth47): Auth47 protocol implementation.
  • @dojo-tools/bip47 (packages/bip47): BIP47/payment code utilities.
  • @dojo-tools/bitcoin-rpc (packages/bitcoin-rpc): Thin Bitcoin Core RPC client.
  • @dojo-tools/bitcoinjs-message (packages/bitcoinjs-message): Bitcoin message signing/verifying utilities.
  • @dojo-tools/boltzmann (packages/boltzmann): Transaction entropy/linkability analysis.
  • @dojo-tools/boltzmann-cli (packages/boltzmann-cli): CLI for @dojo-tools/boltzmann.
  • @dojo-tools/electrum-client (packages/electrum-client): Electrum protocol client.
  • @dojo-tools/next-block-estimator (packages/next-block-estimator): Next-block feerate estimator.
  • @dojo-tools/next-block-estimator-cli (packages/next-block-estimator-cli): CLI for fee estimation.

Requirements

  • Node.js >=24
  • pnpm 10.x

Workspace Setup

pnpm install

Common Commands (root)

  • pnpm run build: Build all packages.
  • pnpm run typecheck: Run TypeScript checks across packages.
  • pnpm run test: Run tests for packages that define them.
  • pnpm run lint: Run Biome lint across packages.
  • pnpm run check: Run biome check --write across packages.
  • pnpm run clean: Remove package build outputs.

Working on a Single Package

Use pnpm filters:

pnpm --filter @dojo-tools/bitcoin-rpc run build
pnpm --filter @dojo-tools/boltzmann run typescript
pnpm --filter @dojo-tools/auth47 run test

Tooling Notes

  • Package compilation uses esbuild (ESM output in dist/).
  • Type declarations are generated with tsc --emitDeclarationOnly in package build scripts.
  • All package tsconfig.json files extend the shared root tsconfig.json.
  • Shared dependency versions are unified with pnpm catalogs in pnpm-workspace.yaml.