npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

bittensor-wallet

v0.0.7

Published

JavaScript CLI and client library for Bittensor — keys, staking, and subnet participation

Readme

Bittensor Wallet

JavaScript CLI and client library for interacting with the Bittensor network: cryptographic identities, staking, and subnet workflows.

Requirements

  • Node.js 20+ (see .nvmrc)

Setup

npm install

CLI

Run via npm or link globally:

npm run cli -- --help
npm run cli -- doctor
npm run cli -- wallet create --name alice
npm run cli -- wallet create --name alice --words 24
npm run cli -- wallet list
npm run cli -- wallet balance --name alice
npm run cli -- wallet balance --name alice --network finney
npm run cli -- wallet balance --name alice --network test
npm run cli -- wallet transfer --from alice --to 5F... --amount 0.1 --network finney
npm run cli -- config-path

After npm link (from this repo), use the btw command:

btw doctor

Project layout

| Path | Purpose | |------|---------| | bin/btw.js | Executable entry (btw) | | src/cli.js | Commander program + global hooks | | src/commands/ | Subcommands (wallet, config, …) | | src/lib/ | Shared helpers (doctor, future RPC) | | src/index.js | Library exports for embedding |

Next steps (implementation)

  1. Add @polkadot/api (or your preferred Substrate stack) for chain RPC.
  2. Implement key storage under BTW_CONFIG_DIR (default: ~/.config/bittensor-wallet).
  3. Map extrinsics for stake / unstake / register to your target runtime metadata.

Scripts

| Script | Description | |--------|-------------| | npm run cli | Run CLI with args after -- | | npm run lint | ESLint | | npm test | Node test runner (all test/**/*.test.js via scripts/run-tests.mjs) |

Publishing to npm (GitHub Actions)

The workflow .github/workflows/publish-npm.yml runs when you publish a GitHub Release (not a draft). It runs lint, test, then npm publish using Trusted publishing (OIDC). No long-lived NPM_TOKEN is required.

One-time: link npm ↔ GitHub Actions

  1. On npmjs.com open your package → SettingsTrusted publishing.
  2. Choose GitHub Actions and set:
    • Repositorysmartguy0505/bittensor-wallet (owner/repo, exact match).
    • Workflow filenamepublish-npm.yml (filename only, case-sensitive; must exist under .github/workflows/).
  3. Save. npm does not validate until the next publish — double-check spelling.

The workflow already sets permissions: id-token: write and uses Node 22 + npm ≥ 11.5.1, as required by npm for OIDC publishes. Trusted publishing docs · GitHub OIDC

Each release

  1. Bump "version" in package.json and push to the default branch.
  2. Create and push a matching tag (e.g. git tag v0.0.7 && git push origin v0.0.7).
  3. On GitHub: Releases → Draft a new release → choose that tag → Publish release.

Provenance is attached automatically when publishing via trusted publishing from a public repo (no --provenance flag needed).

Donations

If this project helps you, donations are appreciated (TAO on Bittensor network):

5E1rxg2dEix2HVngqKXuBEWp8srMPU1fg9iWxqLFnmtt5XJm

License

MIT