What are Ethstats, you may ask?
This is the last block that was mined. On ethstats, it shows the time since something was mined.
A block is a collection of transactions. At time of writing, the last block is 3716787
Gas is a measure of computational effort. It is the internal pricing for running a transaction or contract in Ethereum.
The gas system is not very different from the use of Kw for measuring electricity home use. One difference from actual energy market is that the originator of the transaction sets the price of gas, to which the miner can or not accept, this causes an emergence of a market around gas.
This is a valid block with a chain that has the highest sum of work.
Difficulty is a measure of how difficult it is to find a hash below a given target. The difficulty dynamically adjusts so that on average one block is produced by the entire network every 12 seconds.
Please make sure you have the following installed and running properly
- Node.js >= 8.11
- NPM >= 5.6 (Usually NPM is distributed with Node.js)
- Build Tools - To compile and install native addons from NPM you may also need to install tools like: make, gcc, g++. E.q. on ubuntu
build-essentialpackage has all the necessary tools.
- Yarn >= 1.5 Yarn is
optional, being an alternative to NPM.
- Git - Some dependencies are downloaded through Git.
- Geth or Parity running in one of the supported configurations synced on the Ethereum main/foundation chain
- JSON-RPC http or websockets or ipc APIs enabled and accessible on the Ethereum node of choice (Geth/Parity)
- fast (
- full (
- light (
- fast (
- archive (
- with no ancient blocks (
tested 1.7.11, 1.8.6, 1.8.7, 1.9.0, 1.9.1, 1.9.2, 1.10.0,
If you encounter permissions issues at install time please see troubleshooting section: NPM global package permissions problem
If after installing the package with yarn, the binaries are not found please see troubleshooting section: Binaries not found
ethstats-cli to the latest available version
On the first run of the app you will be asked a series of questions to setup your node. Either follow the on screen instructions or see CLI options for a non-interactive mode.
The app is configured by default to connect to an Ethereum node on the local machine (http://localhost:8545) that is running on the
mainnet network. To connect to a node running on another host see
--client-url under CLI options.
After the setup is done, your node will be visible on ethstats.io
IMPORTANT: To be able to extract all statistics from the Ethereum node we recommend running the app on the same host. The usage information about the node like cpu and memory load cannot be extracted if on a different host.
To run the app in interactive mode you can use the following command:
Running the app in non-interactive mode for the first time, you'll need to specify the
--register option together with
--node-name. Like this no questions will be asked. All other CLI options have default values.
If the app is already registered and you still specify the registration CLI option like in the example command above, they will be avoided.
If the node was successfully registered, a configuration file is created to persist the values of the CLI options previously specified. Every CLI option that passes a value, once specified, it's value is stored in this configuration file, so the next time the app is started there's no need to specify does CLI options again.
To keep the app running at all times, you can run it as a daemon using the following command:
If any CLI options are specified after the Daemon option, they will be forwarded to the forked process. The Daemon mode is implemented programmatically through the PM2 API. The API does not support the "startup" feature. To handle start on boot, check out the PM2 instructions.
For more control you can use directly PM2. Here is a JSON format process file that we recommend:
To handle daemon start at boot time, please visit PM2-Startup.
The following commands assume that the Ethereum node is either running locally or in docker with
--net host. For other options you should check out CLI options.
Make a directory where your configuration files will be persisted.
Then run the following command to run from
alethio/ethstats-cli docker image:
node:latest docker image:
The docker commands are run with
-d, that means
ethstats-cli is started in non-interactive mode.
To run in interactive mode change
-it and remove the
--register option along with
If you already had a configuration file, the settings from that file will be used and the command line ignored. Delete the files in
/opt/ethstats-cli to add a node with different settings.
If you started from
alethio/ehtstats-cli docker image:
then run it again.
If you started from
node/latest docker image, just stop and remove the
then run it again.
We recommend installing NPM global packages without sudo. If you encountered issues when tried to install
ethstats-cli as a global package with or without sudo regarding permissions, we recommend using this script npm-global-no-sudo to fix the issue.
If you installed
ethstats-cli as a global package with Yarn and the binaries are not found, we recommend running the following command:
export PATH="$PATH:`yarn global bin`" && echo