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

hiverewards

v1.0.14

Published

SDK for analysing HIVE & Hive-Engine earnings

Readme

 

Contents


Hive Rewards

An SDK for Node.js and the browser, and a command-line tool to scan HIVE, HBD, and Hive-Engine token transfers:

  • Inbound - sum HIVE, HBD, and token rewards plus USD value received by specified accounts, tracking specific sender accounts.
  • Outbound - map all recipients plus HIVE, HBD, token, and USD values sent by a given sender.

Usage - NodeJS and Browser

import { hiveRewards } from 'hiverewards';

const analyzer = await hiveRewards({ verbose: true });

const inbound = await analyzer.inbounds({
  receivers: ['zillionz', 'obifenom'],
  hiveSenders: { PVP_HIVE: 'cryptoshots.tips' },
  tokenSenders: { PVP_TOKENS: 'cryptoshots.tips' },
  hours: 2,
});
console.log(inbound);

const outbound = await analyzer.outbounds({
  senders: ['cryptoshots.tips', 'karina.gpt'],
  ignoredReceivers: ['keychain.swap'],
  days: 1,
});
console.log(outbound);

Self-hosted bundle

  1. Clone the project.
  2. Build it with:
npm run build:web
  1. Host the generated dist folder on your server.
  2. Import it in your frontend:
<script src="dist/hiverewards.bundle.js"></script>
<script>
  (async () => {
    const analyzer = await window.HiveRewards.hiveRewards();
    const result = await analyzer.inbounds({
      receivers: ['obifenom'],
      hiveSenders: { PVP_GAME_REWARDS: 'cryptoshots.tips' },
      days: 7,
    });
    console.log(result);
  })();
</script>

Usage - CLI

git clone <repo>
cd <repo>
npm install
npm start -- --inbound obifenom zillionz --from pvpRewards=cryptoshots.tips pveRewards=cryptoshotsdoom --hours 24

npm start -- --outbound cryptoshots.tips karina.gpt --days 1

Append --verbose for verbose logging.


Configuration

| Env var | Default | |---|---| | HIVE_PRICE_URL | https://api.coingecko.com/api/v3/simple/price?ids=hive,hive_dollar&vs_currencies=usd |

You can also override the initial Hive / Hive Engine node by passing a config object to the hiveRewards() factory in code:

const analyzer = await hiveRewards({
  hiveNodeUrl: 'https://your.hive.node',
  hiveEngineRpcUrl: 'https://your.he.rpc',
  hiveEngineHistoryUrl: 'https://your.he.history',
});

Other Overrides

| Constructor Attribute | Description | Default | |---|---|---| | fetch | Fetch API implementation | npm cross-fetch | | hiveJs | Pass in another @hiveio/hive-js version if needed | v2 | | log | Custom logger | console | | apiCallsDelay | Default wait time for API call retries | 500 | | priceCacheMins | How long Hive/HBD prices are cached for | 10 mins | | hiveHistoryLimit | Max account-history ops per Hive call | 500 | | heHistoryLimit | Max Hive-Engine history records per call | 250 |


Peakd's Beacon Wrapper

Wrapper for @peakd's Beacon APIs.

Usage:

import { peakdBeaconWrapper } from 'hiverewards';

const { getHealthyHiveNode, getHealthyHeNode, getHealthyHeHistoryNode } = peakdBeaconWrapper;
const hiveUrl = await getHealthyHiveNode();
const heUrl = await getHealthyHeNode();
const hehUrl = await getHealthyHeHistoryNode();

hiveApi.api.setOptions({ url: hiveUrl });

You can also use the Hive / Hive Engine client wrappers that automatically rotate healthy nodes:

import { healthyApisWrapper } from 'hiverewards';

const { hiveApiCall, hiveEngineApiCall, hiveEngineHistoryApiCall } = healthyApisWrapper;

const history = await hiveApiCall('getAccountHistory', ['cryptoshotsdoom', -1, 10]);
console.log(history);

const metrics = await hiveEngineApiCall({
  jsonrpc: '2.0',
  method: 'find',
  params: {
    contract: 'market',
    table: 'metrics',
    query: { symbol: 'DOOM' },
    limit: 1,
    offset: 0,
  },
  id: 1,
});
console.log(metrics);

const heHistory = await hiveEngineHistoryApiCall('cryptoshotstips', 20);
console.log(heHistory);

Usage in Crypto Shots

DISCORD:

  • Earnings report for daily tournaments
  • Weekly/monthly top earners leaderboard


Support us