Skip to content

DoctorLai/SteemTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

79 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Steem Tools

Steem Tools

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.

CI Node Manifest V3 Code style: Prettier PRs welcome Ask DeepWiki

License: MIT Last commit Commit activity Repo size Top language Open issues Open PRs Stars Forks Watchers

Chrome Web Store Users Rating Privacy

Table of contents

Install

From the Chrome Web Store (recommended):

πŸ‘‰ Steem Tools on the Chrome Web Store

From source (for development / the latest code):

  1. Download or clone this repository.
  2. Open chrome://extensions in Chrome.
  3. Enable Developer mode (top-right).
  4. Click Load unpacked and select the repository folder (the one containing manifest.json).

Features

  • 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).

Screenshots

General Account data Delegate

More screenshots

Account witness Delegatees Delegators Deleted Downvoters Powerdown Settings Steem-JS console Tools Wallet Witness lookup

Development

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.

Project structure

.
β”œβ”€β”€ 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.

Manifest version

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 via postMessage, and
  • the front-end switcher uses a single chrome.contextMenus.onClicked listener (MV3 dropped the per-item onclick callback), with the menus created in chrome.runtime.onInstalled.

The background logic runs as a service worker (js/background.js, which importScripts the context-menu wiring in js/context.js).

Privacy

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.

Contributing

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.

Support

If you find Steem Tools useful, consider supporting the author:

License

Released under the MIT License β€” Copyright (c) @justyy.

Built with ❀️ by @justyy · GitHub

About

A few of handy SteemIt Tools that you can run in your Chrome Extension

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors