A Chrome extension packed with handy tools for Steem users β blockchain & account insights, delegations, downvotes, witness lookup, a Steem-JS console, a multi-send wallet and more.
- Install
- Features
- Screenshots
- Development
- Project structure
- Manifest version
- Privacy
- Contributing
- Support
- License
From the Chrome Web Store (recommended):
π Steem Tools on the Chrome Web Store
From source (for development / the latest code):
- Download or clone this repository.
- Open
chrome://extensionsin Chrome. - Enable Developer mode (top-right).
- Click Load unpacked and select the repository folder (the one containing
manifest.json).
- Blockchain information β head block, hardfork version, feed/market price and more.
- Account insights β voting power & HF20 voting mana with a "full in" estimate, reputation, estimated account value and curation stats.
- Watch your friends β pin extra account ids to see their VP, reputation and value at a glance.
- Delegations β delegate Steem Power via SteemConnect and look up any account's delegators and delegatees.
- Downvotes β see who downvoted you, and review the downvotes you have cast.
- Witnesses β witness lookup, the top active witnesses, and the witnesses you vote for (with one-click unvote).
- Deleted comments β reveal deleted comments/posts for any account.
- Power down β check any account's power-down schedule.
- Reputation calculator β convert a raw reputation into the friendly number.
- Steem-JS console β run steem.js snippets right in the popup, with save/load, download and a full-screen editor.
- Multi-send wallet β send SBD/STEEM to many recipients at once, with a
[username]memo template. - Node & API tools β server/node status and ping tests for Steem RPC nodes.
- Front-end switcher β a right-click context menu to jump between Steem front-ends (steemit.com, busy.org, steemd.com, steemdb.com, steemhunt.com, β¦).
- Resteems inline β shows the list of resteems directly on supported Steem post pages.
- Localised β Chrome Web Store listing translated into 25+ languages (English, Chinese, Spanish, Hindi, Arabic, Portuguese, Russian, Japanese, German, French, Korean and more).
The extension is plain HTML/CSS/JavaScript with no bundler. Node.js (>= 20) is only required for the development tooling (linting, formatting, tests and packaging).
# install dev dependencies
npm install
# run the full quality gate (lint + format check + tested coverage)
npm run check
# build a Chrome Web Store-ready zip into dist/
npm run build| Script | Description |
|---|---|
npm run lint |
Lint the source with ESLint |
npm run lint:fix |
Auto-fix lint issues where possible |
npm run format |
Format the source with Prettier |
npm run format:check |
Verify formatting without writing changes |
npm test |
Run the Jest unit tests |
npm run test:coverage |
Run the tests and enforce the coverage threshold |
npm run check |
Lint + format check + tested coverage (the CI gate) |
npm run build |
Produce a Web Store-ready zip in dist/ |
Unit tests live in tests/ and cover the pure helpers in js/functions.js,
js/content.js, js/ping.js, js/context.js and js/sandbox.js; the coverage
threshold is enforced by npm run test:coverage (and in CI).
See CONTRIBUTING.md for the full workflow.
.
βββ manifest.json # Chrome extension manifest (Manifest V3)
βββ main.html # popup UI (jQuery UI tabs)
βββ sandbox.html # sandboxed page that runs the Steem-JS console
βββ icon.png # toolbar icon
βββ _locales/ # i18n message catalogues
βββ css/ # custom + vendored styles
βββ bs/ # Bootstrap (vendored)
βββ images/ # icons, banners and screenshots
βββ js/
β βββ functions.js # pure helpers (unit-tested)
β βββ content.js # content script: resteems + domain checks (unit-tested)
β βββ context.js # right-click context menu / front-end switcher (unit-tested)
β βββ background.js # service worker (MV3 background)
β βββ sandbox.js # Steem-JS console runner for the sandboxed page (unit-tested)
β βββ ping.js # latency helper (unit-tested)
β βββ steemtools.js # popup logic
β βββ *.min.js β¦ # vendored libraries (jQuery, steem.js, Chart.js, β¦)
βββ scripts/build.js # packages the extension into dist/*.zip
βββ tests/ # Jest unit tests
Only the project's own source is linted, formatted and tested; the vendored
libraries in js/, bs/ and css/ are excluded.
Steem Tools ships as a Manifest V3 extension, so it installs on current versions of Chrome and Edge. Two features that MV3 restricts are handled as follows:
- the Steem-JS console evaluates user code with
eval(), which MV3 forbids on extension pages, so it runs inside a dedicated sandboxed page (sandbox.html/js/sandbox.js) that communicates with the popup viapostMessage, and - the front-end switcher uses a single
chrome.contextMenus.onClickedlistener (MV3 dropped the per-itemonclickcallback), with the menus created inchrome.runtime.onInstalled.
The background logic runs as a service worker (js/background.js, which
importScripts the context-menu wiring in js/context.js).
Steem Tools does not use analytics or trackers. Your private keys are only ever used locally in your browser to sign transactions and are stored only if you explicitly choose Save Key. See the full Privacy Policy.
Bug reports, feature requests and pull requests are very welcome β please read CONTRIBUTING.md first. By participating you agree to abide by our Code of Conduct.
If you find Steem Tools useful, consider supporting the author:
Released under the MIT License β Copyright (c) @justyy.













