Installation
Installing the packages? You are in the right place. For the services you need running (LocalNet indexer, public testnet, wallet daemon) see Prerequisites & presets.
ootle.ts is split into focused packages published under the @tari-project scope. Install only what you need.
Core package
Section titled “Core package”Every application needs the core package:
pnpm add @tari-project/ootleAdd a provider
Section titled “Add a provider”The provider reads chain state and submits transactions. Currently, the only provider implementation is the indexer:
pnpm add @tari-project/ootle-indexerAdd a signer
Section titled “Add a signer”Choose the signer that fits your use case:
Wallet daemon (production)
Section titled “Wallet daemon (production)”Delegates signing to a running tari_ootle_walletd process. The secret key never enters JavaScript memory.
pnpm add @tari-project/ootle-wallet-daemon-signerSecret key wallet (testing / scripting)
Section titled “Secret key wallet (testing / scripting)”Holds the secret key in JavaScript memory and uses WASM crypto for signing. Not recommended for production.
pnpm add @tari-project/ootle-secret-key-walletRequirements
Section titled “Requirements”Browser / dApp
Section titled “Browser / dApp”- Node.js 22 or later (build / dev tooling).
- A bundler that supports ESM — Vite (recommended; what the example apps use), esbuild, or webpack 5+.
- The bundler must handle WASM imports from
@tari-project/ootle-wasm. With Vite, addvite-plugin-wasmandvite-plugin-top-level-await.
Node ≥ 22 (scripts, servers, bots)
Section titled “Node ≥ 22 (scripts, servers, bots)”- Node ≥ 22.
NODE_OPTIONS=--experimental-wasm-moduleswhen running undertsxor plainnode— Node still gates.wasmESM imports behind this flag. Seeexamples/node/README.mdfor the rationale and forward plan.- No bundler required.