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 🙏

© 2024 – Pkg Stats / Ryan Hefner

staker

v0.51.0

Published

Command line Utillity for Ethereum stakers

Downloads

122

Readme

stakerwat.ch

Command line utility for Ethereum stakers.

npm version

The utility tool works as an interactive Eth/Eth2 Awesome List on your console.

You can use staker command to check Eth1 address balance / transaction, check the gas fee before you make a deal.

If you are an Eth2 staker, you can use the command to check Eth2 deposit stats, open validator explorer or show its balance.

Most commands support multiple tools. You can use the default address, validator, gas command to explore tools you have rarely experienced.

To avoid single point of failure, the command randomly pick a free Ethereum Node to fetch the on-chain data instead of counting on Infura. (You can specify a node if you want to)

If you think this tool is useful, please consider support with the Gitcoin Grant along with other great projects.

Contents

Usage

Make sure node.js is installed in your device.

Open terminal and type npx staker help to find all skills that staker command can do.

$ npx staker help

I have 48 skills:
* 💰balance - Show [address] balance
...
* 🔎address|addr [address|tx] - Pick address explorer from the list
* 🔎validator - Pick a beacon validator explorer from the list
* 🗞 stats - latest Eth2 stake state
* 🔎account|defi - Pick an account explorer from the list
* 🔎gas - Pick a gas estimator from the list
* 💸feeswtf [address] - Check total fees consumption on fees.wtf
* ⛓ network|config|network [chain] - find MetaMask network config data (chain providers url and network id)
...
* qrcode [text] - Generate QRCode with [text]
* check [address] - check if [address] is valid
* help - list available skills

If you expect to use this tool frequently, install it via command:

npm install -g staker

Eth1

* 🗂 lastblock|block|block-eth - get the latest Eth1 block number
* 💰balance - Show [address] balance
* 💰balance-eth - Show [address] balance on Ethereum Network
* network ethereum - find ethereum related network config

Use staker balance [addr] command, you can given a Eth address and get related account balance on Eth1, Eth2(validator), Binance Smart Chain, xDai Chain, and zkSync.

Eth1 also shows the balance of tokens tradable on 1inch.

xDai chain shows the balance of xDai, WETH and stable coins (USDt, USDC, Dai...).

zkSync (L2) shows all balances.

Also support multiple validators balance by comma (without space).

$ npx staker balance [addr]

Account Balance
┌──────────┬────────┬────────────┬───────────────────────────┐
│ Address  │ Symbol │ Balance    │ Source                    │
├──────────┼────────┼────────────┼───────────────────────────┤
│ 0x1234.. │ ETH    │ 1          │                           │
├──────────┼────────┼────────────┼───────────────────────────┤
│ 0x1234.. │ USDT   │ 8888       │ TetherUSD                 │
├──────────┼────────┼────────────┼───────────────────────────┤
│ 0x1234.. │ Dai    │ 123        │ DaiStablecoin             │
├──────────┼────────┼────────────┼───────────────────────────┤
│ 0x1234.. │ aUSDt  │ 1234.56    │ AaveInterestbearingUSDT   │
├──────────┼────────┼────────────┼───────────────────────────┤
│ 0x1234.. │ cUSDt  │ 567.89     │ CompoundUSDT              │
└──────────┴────────┴────────────┴───────────────────────────┘

(Eth2) Validator Balance
┌────────┬────────────┬────────┐
│ Symbol │ Balance    │ Index  │
├────────┼────────────┼────────┤
│ ETH    │ 32.02 ETH  │ 12345  │
├────────┼────────────┼────────┤
│ ETH    │ 32.01 ETH  │ 54321  │
└────────┴────────────┴────────┘

Binance Smart Chain Balance
┌──────────┬────────┬────────────────────┬────────────────┐
│ Address  │ Symbol │ Balance            │ Source         │
├──────────┼────────┼────────────────────┼────────────────┤
│ 0x1234.. │ BNB    │ 1.1629287286160097 │                │
├──────────┼────────┼────────────────────┼────────────────┤
│ 0x1234.. │ USDT   │ 1604.828533646356  │ Tether USD     │
├──────────┼────────┼────────────────────┼────────────────┤
│ 0x1234.. │ DAI    │ 7.970374382295285  │ Dai Stablecoin │
└──────────┴────────┴────────────────────┴────────────────┘

xDai Chain Balance
┌──────────┬────────┬─────────────┬────────┐
│ Address  │ Symbol │ Balance     │ Source │
├──────────┼────────┼─────────────┼────────┤
│ 0x1234.. │ xDai   │ 0.008437828 │        │
├──────────┼────────┼─────────────┼────────┤
│ 0x1234.. │ USDT   │ 8888        │        │
├──────────┼────────┼─────────────┼────────┤
│ 0x1234.. │ USDC   │ 123         │        │
└──────────┴────────┴─────────────┴────────┘

zkSync Balance
┌──────────┬────────┬─────────────┬────────┐
│ Address  │ Symbol │ Balance     │ Source │
├──────────┼────────┼─────────────┼────────┤
│ 0x1234.. │ USDt   │ 0.01        │        │
└──────────┴────────┴─────────────┴────────┘

Can only query the balance on Ethereum Network with balance-eth skill

$ staker balance-eth [addr]

Account Balance
┌──────────┬────────┬────────────┬───────────────────────────┐
│ Address  │ Symbol │ Balance    │ Source                    │
├──────────┼────────┼────────────┼───────────────────────────┤
│ 0x1234.. │ ETH    │ 1          │                           │
├──────────┼────────┼────────────┼───────────────────────────┤
│ 0x1234.. │ USDT   │ 8888       │ TetherUSD                 │
├──────────┼────────┼────────────┼───────────────────────────┤
│ 0x1234.. │ Dai    │ 123        │ DaiStablecoin             │
├──────────┼────────┼────────────┼───────────────────────────┤
│ 0x1234.. │ aUSDt  │ 1234.56    │ AaveInterestbearingUSDT   │
├──────────┼────────┼────────────┼───────────────────────────┤
│ 0x1234.. │ cUSDt  │ 567.89     │ CompoundUSDT              │
└──────────┴────────┴────────────┴───────────────────────────┘

```sh
npx staker network ethereum

┌──────────────────────────┬─────────────────────────────────────────────────┬─────────┬────────┐
│ name                     │ rpc                                             │ chainId │ symbol │
├──────────────────────────┼─────────────────────────────────────────────────┼─────────┼────────┤
│ Ethereum Mainnet         │ https://cloudflare-eth.com                      │ 1       │ ETH    │
├──────────────────────────┼─────────────────────────────────────────────────┼─────────┼────────┤
│ Ethereum Testnet Ropsten │ wss://ropsten.infura.io/ws/v3/${INFURA_API_KEY} │ 3       │ ROP    │
├──────────────────────────┼─────────────────────────────────────────────────┼─────────┼────────┤
│ Ethereum Testnet Rinkeby │ wss://rinkeby.infura.io/ws/v3/${INFURA_API_KEY} │ 4       │ RIN    │
├──────────────────────────┼─────────────────────────────────────────────────┼─────────┼────────┤
│ Ethereum Testnet Kovan   │ https://kovan.infura.io/v3/${INFURA_API_KEY}    │ 42      │ KOV    │
├──────────────────────────┼─────────────────────────────────────────────────┼─────────┼────────┤
│ Ethereum Testnet Görli   │ https://rpc.slock.it/goerli                     │ 5       │ GOR    │
├──────────────────────────┼─────────────────────────────────────────────────┼─────────┼────────┤
│ Ethereum Classic Mainnet │ https://ethereumclassic.network                 │ 61      │ ETC    │
└──────────────────────────┴─────────────────────────────────────────────────┴─────────┴────────┘

Eth2 Validator

* 🗞 stats - latest Eth2 stake state
* lastblock-eth2|lastblock-beacon|block-eth2|block-beacon- get the latest Eth2 block number
* 💰balance-validator|balance-eth2 - Show Validator's balance of [key]
* 🔎validator - Pick a beacon validator explorer from the list
* 📡beaconchain|beaconcha|beaconcha.in [address] - check validator address or number on beaconscan
* 📡beaconscan|scan [address] - check validator address or number on BeaconScan

Get Eth2 stats via staker stats command

🤑 Reward Rate: 9.91%
🌾 Participation Rate: 98.99%
💃 Active Validators: 64,228
📦 Latest Epoch: 10845

👬 Queued Validators: 16,658
⏳ Wait time: 8 days, 2 hours

💰 Deposited ETH: 2,588,354 (for 80,886 🧑‍🌾)
🪣 Trapped ETH%: 2.26%

Given a Eth2 validator address, you can get Eth2 validator balance

$ npx staker balance-validator [address or index]

(Eth2) Validator Balance
┌────────┬────────────┬────────┐
│ Symbol │ Balance    │ Index  │
├────────┼────────────┼────────┤
│ ETH    │ 32.02 ETH  │ 12345  │
└────────┴────────────┴────────┘

Also support multiple validators balance by comma (without space), ex

$ npx staker balance-validator 12345,23456

(Eth2) Validator Balance
┌────────┬────────────┬────────┐
│ Symbol │ Balance    │ Index  │
├────────┼────────────┼────────┤
│ ETH    │ 32.02 ETH  │ 12345  │
├────────┼────────────┼────────┤
│ ETH    │ 32.01 ETH  │ 23456  │
└────────┴────────────┴────────┘

You can link to multiple beacon explorer via command:

npx staker validator 12345
pick address explorer from the list
❯ Random
  Beaconscan
  Beaconcha.in

Or pick the specific validator like beaconscan

$ npx staker beaconscan [address or index]

Check [address or index] via BeaconScan

Or beaconcha.in

$ npx staker beaconchain [address or index]

Check [address or index] via beaconcha.in

Address Explorer

* 🔎address|addr [address|tx] - Pick address explorer from the list
* 🏦anyblock [address|tx] - check address or tx on ANYblock
* 🏦bitquery [address|tx] - check address or tx on explorer.bitquery.io
* 🏦blockchair [address|tx] - check address or tx on blockchair.com
* 🏦bloxy [address|tx] - check token symbol, address or tx hash on bloxy.info
* 🏦etherchain|chain [address|tx] - check address or tx on etherchain
* 🏦etherscan|scan [address|tx] - check address or tx on Etherscan
* 🏦ethplorer [address|tx] - check address or tx on ethplorer
* 🏦tokenview [address|tx] - check address or tx on tokenview

You can link to Eth Address or Contract from multiple explorer

npx staker address [addr]

Or search address in specific explorer like Etherscan

$ npx staker etherscan [addr]

Check [addr] via Etherscan

It will open browser to search [addr] on Etherscan.

These commands can be used to search transaction (tx) as well.

Gas Fee Monitor

* 🔎gas - Pick a gas estimator from the list
* ⛽ gasfee - Show current on-chain gas fee
* ⛽ gaspriceoracle|oracle - Show current gas fee via Eth Gas Price Oracle
* ⛽ gasstation|station - Show current gas fee via Eth Gas Station
* ⛽ gastracker|tracker - Show current gas fee via Etherscan Gas Tracker

You can get gas fee estimator from multiple sources

npx staker gas
pick address explorer from the list
❯ Random
  Gas Fee
  Gas Now
  Gas Price Oracle
  GasStation
  Gas Tracker

Or check specific gas fee estimator like ETH GAS STATION

$ npx staker gasstation

Current gas fee (report by EthGasStation) is H:70 M:50 L:48 gwei

Fees Analytics

  • 💸feeswtf [address] - Check total fees consumption on fees.wtf

Defi Explorer

Check Account on Defi Explorer

* 🔎account|defi - Pick an account explorer from the list
* 🧩dappradar [address] - check DeFi balance on DappRadar
* 🧩debank [address] - check DeFi balance on Debank
* 🧩zapper [address] - check DeFi balance on Zapper
* 🧩zerion [address] - check DeFi Balance on Zerion

Side Chain

config / chainid

* ⛓ network|config|network [chain] - find network config data (chain providers url and network id)
* ⛓ nodes - list free accessible ethereum nodes

If you are using Metamask for EVM compatible chain like Huobi eco chain, BSC chain... Can use npx staker network command to find and fill the Network data of RPC, Chainid, symbol.

ex: search network config for matic chain

npx staker network matic

┌──────────────────────┬───────────────────────────────────┬─────────┬────────┐
│ name                 │ rpc                               │ chainId │ symbol │
├──────────────────────┼───────────────────────────────────┼─────────┼────────┤
│ Matic Mainnet        │ https://rpc-mainnet.matic.network │ 137     │ MATIC  │
├──────────────────────┼───────────────────────────────────┼─────────┼────────┤
│ Matic Testnet Mumbai │ https://rpc-mumbai.matic.today    │ 80001   │ tMATIC │
└──────────────────────┴───────────────────────────────────┴─────────┴────────┘

Will list all network config if not pass the param.

short name or chainId could work

npx staker network bsc

───────────────────────────┬────────────────────────────────────────┬────────┬─────── name                       │ rpc                                    │ chainId│ symbol │
Binance Smart Chain Mainnet│ https://bsc-dataseed1.defibit.io       │ 56     │ BNB    │
Binance Smart Chain Testnet│ https://data-seed-prebsc-1-s2...       │ 97     │ tBNB   │
npx staker network 56

┌─────────────────────────────┬───────────────────────────────────┬─────────┬────────┐
│ name                        │ rpc                               │ chainId │ symbol │
├─────────────────────────────┼───────────────────────────────────┼─────────┼────────┤
│ Binance Smart Chain Mainnet │ https://bsc-dataseed1.ninicoin.io │ 56      │ BNB    │
└─────────────────────────────┴───────────────────────────────────┴─────────┴────────┘

staker nodes command will list free accessible ethereum nodes:

npx staker nodes

https://api.mycryptoapi.com/eth
https://cloudflare-eth.com/
...

Binance Smart Chain (BSC)

* 💰balance-bsc - Show address balance on Binance Smart chain
* 🏦bsc|bscscan [address|tx] - check address or tx on Binance Smart Chain
* network binance - show related network config
$ npx staker balance-bsc [address]

Binance Smart Chain Balance
┌──────────┬────────┬────────────────────┬────────────────┐
│ Address  │ Symbol │ Balance            │ Source         │
├──────────┼────────┼────────────────────┼────────────────┤
│ 0x1234.. │ BNB    │ 1.1629287286160097 │                │
├──────────┼────────┼────────────────────┼────────────────┤
│ 0x1234.. │ USDT   │ 1604.828533646356  │ Tether USD     │
├──────────┼────────┼────────────────────┼────────────────┤
│ 0x1234.. │ DAI    │ 7.970374382295285  │ Dai Stablecoin │
└──────────┴────────┴────────────────────┴────────────────┘
npx staker network binance

┌─────────────────────────────┬────────────────────────────────────────────────┬─────────┬────────┐
│ name                        │ rpc                                            │ chainId │ symbol │
├─────────────────────────────┼────────────────────────────────────────────────┼─────────┼────────┤
│ Binance Smart Chain Mainnet │ https://bsc-dataseed3.ninicoin.io              │ 56      │ BNB    │
├─────────────────────────────┼────────────────────────────────────────────────┼─────────┼────────┤
│ Binance Smart Chain Testnet │ https://data-seed-prebsc-2-s1.binance.org:8545 │ 97      │ tBNB   │
└─────────────────────────────┴────────────────────────────────────────────────┴─────────┴────────┘

Matic

* 💰balance-matic - Show address balance on MATIC chain
* 🏦matic [address|tx] - check address or tx on Matics
* network matic - show related network config
npx staker network matic

┌──────────────────────┬────────────────────────────────┬─────────┬────────┐
│ name                 │ rpc                            │ chainId │ symbol │
├──────────────────────┼────────────────────────────────┼─────────┼────────┤
│ Matic Mainnet        │ wss://ws-mainnet.matic.network │ 137     │ MATIC  │
├──────────────────────┼────────────────────────────────┼─────────┼────────┤
│ Matic Testnet Mumbai │ https://rpc-mumbai.matic.today │ 80001   │ tMATIC │
└──────────────────────┴────────────────────────────────┴─────────┴────────┘

xDai Chain

* 🏦xdai [address|tx] - check address or tx on xDai Chain
* 💰balance-xdai - Show address balance on xDai chain
* lastblock-xdai|lastblockxdai|block-xdai|blockxdai - get the latest xDai block number
* network xdai - show xdai network configs
$ npx staker balance-xdai [address]

xDai Chain Balance
┌──────────┬────────┬─────────────┬────────┐
│ Address  │ Symbol │ Balance     │ Source │
├──────────┼────────┼─────────────┼────────┤
│ 0x1234.. │ xDai   │ 0.008437828 │        │
├──────────┼────────┼─────────────┼────────┤
│ 0x1234.. │ USDT   │ 8888        │        │
├──────────┼────────┼─────────────┼────────┤
│ 0x1234.. │ USDC   │ 123         │        │
└──────────┴────────┴─────────────┴────────┘
npx staker network xdai

┌────────────┬─────────────────────────────┬─────────┬────────┐
│ name       │ rpc                         │ chainId │ symbol │
├────────────┼─────────────────────────────┼─────────┼────────┤
│ xDAI Chain │ wss://rpc.xdaichain.com/wss │ 100     │ xDAI   │
└────────────┴─────────────────────────────┴─────────┴────────┘

Huobi Eco Chain

* 🏦heco [address|tx] - check address or tx on Huobi Eco Chain

zkSync

* 💰balance-zksync - Show address balance on ZkSync
* 🏦zksync [address|tx] - check address or tx on zkSync
npm balance-zksync [addr]

zkSync Balance
┌──────────┬────────┬─────────────┬────────┐
│ Address  │ Symbol │ Balance     │ Source │
├──────────┼────────┼─────────────┼────────┤
│ 0x1234.. │ USDt   │ 0.01        │        │
└──────────┴────────┴─────────────┴────────┘

Optimism

* 💰balance-optimism - Show address balance on Optimism
* 🏦optimism [address|tx] - check address or tx on optimism
npm balance-optimism [addr]

Optimism Balance
...

Other Tools

* 🤩awesome|lucky - Show random awesome site around ethereum
* qrcode [text] - Generate QRCode with [text]
* check [address] - check if [address] is valid
* help - list available skills
  • EVM Networks list appropriate Chain ID and Network ID to connect to the correct chain.

qrcode

Given any text (ex a Eth address) and get the QRCode

$ npx staker qrcode [addr]

(QRcode shows here)

check

Given any address to check if address is valid.

Can also check the address checksum.

$ npx staker check 0x12345678

false (incorrect format)

Configuable options

Show result in different languages

Currently support en(english) and zh_TW (Traditional Chinese)

Set the SAIHUBOT_LANG environment variable

export SAIHUBOT_LANG=zh_TW

Then run the command.

Use specified Ethereum Node

Set SAIHUBOT_NODE_URL to the node you want to use, ex: infura, or pick from https://ethereumnodes.com/

Pre-define Ethereum Address

do export SAIHUBOT_ADDR=0x.....,0x..... and you can use balance command without pass the address

npx staker balance

The Address has 1 ETH

Pre-define Validator Address

do export SAIHUBOT_VALIDATOR=12345 and you can use beaconchain or beaconscan command without pass the address

npx staker beaconchain

Check 12345 via beaconchain