diff --git a/README.md b/README.md
index abc292909..52ee1ce07 100644
--- a/README.md
+++ b/README.md
@@ -1,358 +1,104 @@
# The Mempool Open Source Projectâ„¢ [](https://dashboard.cypress.io/projects/ry4br7/runs)
-Mempool is the fully featured visualizer, explorer, and API service running on [mempool.space](https://mempool.space/), an open source project developed and operated for the benefit of the Bitcoin community, with a focus on the emerging transaction fee market to help our transition into a multi-layer ecosystem.
+Mempool is the fully-featured mempool visualizer, explorer, and API service running at [mempool.space](https://mempool.space/).

-## Installation Methods
+# Installation Methods
-Mempool can be self-hosted on a wide variety of your own hardware, ranging from a simple one-click installation on a Raspberry Pi distro, all the way to an advanced high availability cluster of powerful servers for a production instance. We support the following installation methods, ranked in order from simple to advanced:
+Mempool can be self-hosted on a wide variety of your own hardware, ranging from a simple one-click installation on a Raspberry Pi full-node distro all the way to a robust production instance on a powerful FreeBSD server.
-1) One-click installation on: [Umbrel](https://github.com/getumbrel/umbrel), [RaspiBlitz](https://github.com/rootzoll/raspiblitz), [RoninDojo](https://code.samourai.io/ronindojo/RoninDojo), or [MyNode](https://github.com/mynodebtc/mynode).
-2) [Docker installation on Linux using docker-compose](https://github.com/mempool/mempool/tree/master/docker)
-3) [Manual installation on Linux or FreeBSD](https://github.com/mempool/mempool#manual-installation)
-4) [Production installation on a powerful FreeBSD server](https://github.com/mempool/mempool/tree/master/production)
-5) [High Availability cluster using powerful FreeBSD servers](https://github.com/mempool/mempool/tree/master/production#high-availability)
+We support the following installation methods, ranked in order from simple to advanced:
-# Docker Installation
+1) [One-click installation on full-node distros](#one-click-installation)
+2) [Docker installation on Linux using docker-compose](./docker)
+3) [Manual installation on Linux or FreeBSD](#manual-installation)
+4) [Production installation on a powerful FreeBSD server](./production)
-The `docker` directory contains the Dockerfiles used to build and release the official images and a `docker-compose.yml` file that is intended for end users to run a Mempool instance with minimal effort.
+This doc offers install notes on the one-click method and manual install method. Follow the links above for install notes on Docker and production installations.
-## bitcoind only configuration
+
+## One-Click Installation
-To run an instance with the default settings, use the following command:
+Mempool can be conveniently installed on the following full-node distros:
+- [Umbrel](https://github.com/getumbrel/umbrel)
+- [RaspiBlitz](https://github.com/rootzoll/raspiblitz)
+- [RoninDojo](https://code.samourai.io/ronindojo/RoninDojo)
+- [myNode](https://github.com/mynodebtc/mynode)
+- [Start9](https://github.com/Start9Labs/embassy-os)
+
+
+## Manual Installation
+
+The following instructions are for a manual installation on Linux or FreeBSD. You may need to change file and directory paths to match your OS.
+
+You will need [Bitcoin Core](https://github.com/bitcoin/bitcoin), [Electrum Server](https://github.com/romanz/electrs), [Node.js](https://github.com/nodejs/node), [MariaDB](https://github.com/mariadb/server), and [Nginx](https://github.com/nginx/nginx). Below, we walk through how to configure each of these.
+
+### 1. Get Latest Mempool Release
+
+Clone the Mempool repo, and checkout the latest release tag:
```bash
-$ docker-compose up
+$ git clone https://github.com/mempool/mempool
+$ cd mempool
+$ latestrelease=$(curl -s https://api.github.com/repos/mempool/mempool/releases/latest|grep tag_name|head -1|cut -d '"' -f4)
+$ git checkout $latestrelease
```
-The default configuration will allow you to run Mempool using `bitcoind` as the backend, so address lookups will be disabled. It assumes you have added RPC credentials for the `mempool` user with a `mempool` password in your `bitcoin.conf` file:
-
-```
-rpcuser=mempool
-rpcpassword=mempool
-```
-
-If you want to use your current credentials, update them in the `docker-compose.yml` file:
-
-```
- api:
- environment:
- MEMPOOL_BACKEND: "none"
- RPC_HOST: "172.27.0.1"
- RPC_PORT: "8332"
- RPC_USER: "mempool"
- RPC_PASS: "mempool"
-```
-
-Note: the IP in the example above refers to Docker's default gateway IP address so the container can hit the `bitcoind` instance running on the host machine. If your setup is different, update it accordingly.
-
-You can check if the instance is running by visiting http://localhost - the graphs will be populated as new transactions are detected.
-
-## bitcoind+electrum configuration
-
-In order to run with a `electrum` compatible server as the backend, in addition to the settings required for running with `bitcoind` above, you will need to make the following changes to the `docker-compose.yml` file:
-
-- Under the `api` service, change the value of the `MEMPOOL_BACKEND` key from `none` to `electrum`:
-
-```
- api:
- environment:
- MEMPOOL_BACKEND: "none"
-```
-
-- Under the `api` service, set the `ELECTRUM_HOST` and `ELECTRUM_PORT` keys to your Docker host IP address and set `ELECTRUM_TLS_ENABLED` to `false`:
-
-```
- api:
- environment:
- ELECTRUM_HOST: "172.27.0.1"
- ELECTRUM_PORT: "50002"
- ELECTRUM_TLS_ENABLED: "false"
-```
-
-You can update any of the backend settings in the `mempool-config.json` file using the following environment variables to override them under the same `api` `environment` section.
-
-JSON:
-```
- "MEMPOOL": {
- "NETWORK": "mainnet",
- "BACKEND": "electrum",
- "HTTP_PORT": 8999,
- "SPAWN_CLUSTER_PROCS": 0,
- "API_URL_PREFIX": "/api/v1/",
- "POLL_RATE_MS": 2000,
- "CACHE_DIR": "./cache",
- "CLEAR_PROTECTION_MINUTES": 20,
- "RECOMMENDED_FEE_PERCENTILE": 50,
- "BLOCK_WEIGHT_UNITS": 4000000,
- "INITIAL_BLOCKS_AMOUNT": 8,
- "MEMPOOL_BLOCKS_AMOUNT": 8,
- "PRICE_FEED_UPDATE_INTERVAL": 600,
- "USE_SECOND_NODE_FOR_MINFEE": false,
- "EXTERNAL_ASSETS": ["https://raw.githubusercontent.com/mempool/mining-pools/master/pools.json"],
- "STDOUT_LOG_MIN_PRIORITY": "info"
- },
-```
-
-docker-compose overrides:
-```
- MEMPOOL_NETWORK: ""
- MEMPOOL_BACKEND: ""
- MEMPOOL_HTTP_PORT: ""
- MEMPOOL_SPAWN_CLUSTER_PROCS: ""
- MEMPOOL_API_URL_PREFIX: ""
- MEMPOOL_POLL_RATE_MS: ""
- MEMPOOL_CACHE_DIR: ""
- MEMPOOL_CLEAR_PROTECTION_MINUTES: ""
- MEMPOOL_RECOMMENDED_FEE_PERCENTILE: ""
- MEMPOOL_BLOCK_WEIGHT_UNITS: ""
- MEMPOOL_INITIAL_BLOCKS_AMOUNT: ""
- MEMPOOL_MEMPOOL_BLOCKS_AMOUNT: ""
- MEMPOOL_PRICE_FEED_UPDATE_INTERVAL: ""
- MEMPOOL_USE_SECOND_NODE_FOR_MINFEE: ""
- MEMPOOL_EXTERNAL_ASSETS: ""
- MEMPOOL_STDOUT_LOG_MIN_PRIORITY: ""
-```
-
-JSON:
-```
-"CORE_RPC": {
- "HOST": "127.0.0.1",
- "PORT": 8332,
- "USERNAME": "mempool",
- "PASSWORD": "mempool"
- },
-```
-docker-compose overrides:
-```
- CORE_RPC_HOST: ""
- CORE_RPC_PORT: ""
- CORE_RPC_USERNAME: ""
- CORE_RPC_PASSWORD: ""
-```
-
-JSON:
-```
- "ELECTRUM": {
- "HOST": "127.0.0.1",
- "PORT": 50002,
- "TLS_ENABLED": true
- },
-```
-
-docker-compose overrides:
-```
- ELECTRUM_HOST: ""
- ELECTRUM_PORT: ""
- ELECTRUM_TLS: ""
-```
-
-JSON:
-```
- "ESPLORA": {
- "REST_API_URL": "http://127.0.0.1:3000"
- },
-```
-docker-compose overrides:
-```
- ESPLORA_REST_API_URL: ""
-```
-
-JSON:
-```
- "SECOND_CORE_RPC": {
- "HOST": "127.0.0.1",
- "PORT": 8332,
- "USERNAME": "mempool",
- "PASSWORD": "mempool"
- },
-```
-
-docker-compose overrides:
-```
- SECOND_CORE_RPC_HOST: ""
- SECOND_CORE_RPC_PORT: ""
- SECOND_CORE_RPC_USERNAME: ""
- SECOND_CORE_RPC_PASSWORD: ""
-```
-
-JSON:
-```
- "DATABASE": {
- "ENABLED": true,
- "HOST": "127.0.0.1",
- "PORT": 3306,
- "DATABASE": "mempool",
- "USERNAME": "mempool",
- "PASSWORD": "mempool"
- },
-```
-
-docker-compose overrides:
-```
- DATABASE_ENABLED: ""
- DATABASE_HOST: ""
- DATABASE_PORT: ""
- DATABASE_DATABASE: ""
- DATABASE_USERAME: ""
- DATABASE_PASSWORD: ""
-```
-
-JSON:
-```
- "SYSLOG": {
- "ENABLED": true,
- "HOST": "127.0.0.1",
- "PORT": 514,
- "MIN_PRIORITY": "info",
- "FACILITY": "local7"
- },
-```
-
-docker-compose overrides:
-```
- SYSLOG_ENABLED: ""
- SYSLOG_HOST: ""
- SYSLOG_PORT: ""
- SYSLOG_MIN_PRIORITY: ""
- SYSLOG_FACILITY: ""
-```
-
-JSON:
-```
- "STATISTICS": {
- "ENABLED": true,
- "TX_PER_SECOND_SAMPLE_PERIOD": 150
- },
-```
-
-docker-compose overrides:
-```
- STATISTICS_ENABLED: ""
- STATISTICS_TX_PER_SECOND_SAMPLE_PERIOD: ""
-```
-
-JSON:
-```
- "BISQ": {
- "ENABLED": false,
- "DATA_PATH": "/bisq/statsnode-data/btc_mainnet/db"
- }
-```
-
-docker-compose overrides:
-```
- BISQ_ENABLED: ""
- BISQ_DATA_PATH: ""
-```
-
-JSON:
-```
- "SOCKS5PROXY": {
- "ENABLED": false,
- "HOST": "127.0.0.1",
- "PORT": "9050",
- "USERNAME": "",
- "PASSWORD": ""
- }
-```
-
-docker-compose overrides:
-```
- SOCKS5PROXY_ENABLED: ""
- SOCKS5PROXY_HOST: ""
- SOCKS5PROXY_PORT: ""
- SOCKS5PROXY_USERNAME: ""
- SOCKS5PROXY_PASSWORD: ""
-```
-
-JSON:
-```
- "PRICE_DATA_SERVER": {
- "TOR_URL": "http://wizpriceje6q5tdrxkyiazsgu7irquiqjy2dptezqhrtu7l2qelqktid.onion/getAllMarketPrices",
- "CLEARNET_URL": "https://price.bisq.wiz.biz/getAllMarketPrices"
- }
-```
-
-docker-compose overrides:
-```
- PRICE_DATA_SERVER_TOR_URL: ""
- PRICE_DATA_SERVER_CLEARNET_URL: ""
-```
-
-# Manual Installation
-
-The following instructions are for a manual installation on Linux or FreeBSD. The file and directory paths may need to be changed to match your OS.
-
-## Dependencies
-
-* [Bitcoin](https://github.com/bitcoin/bitcoin)
-* [Electrum](https://github.com/romanz/electrs)
-* [NodeJS](https://github.com/nodejs/node)
-* [MariaDB](https://github.com/mariadb/server)
-* [Nginx](https://github.com/nginx/nginx)
-
-## Mempool
-
-Clone the mempool repo, and checkout the latest release tag:
-```bash
- git clone https://github.com/mempool/mempool
- cd mempool
- latestrelease=$(curl -s https://api.github.com/repos/mempool/mempool/releases/latest|grep tag_name|head -1|cut -d '"' -f4)
- git checkout $latestrelease
-```
-
-## Bitcoin Core (bitcoind)
+### 2. Configure Bitcoin Core
Enable RPC and txindex in `bitcoin.conf`:
-```bash
- rpcuser=mempool
- rpcpassword=mempool
- txindex=1
-```
-
-## MySQL
-
-Install MariaDB from OS package manager:
-```bash
- # Linux
- apt-get install mariadb-server mariadb-client
-
- # macOS
- brew install mariadb
- mysql.server start
-```
-
-Create database and grant privileges:
-```bash
- MariaDB [(none)]> drop database mempool;
- Query OK, 0 rows affected (0.00 sec)
-
- MariaDB [(none)]> create database mempool;
- Query OK, 1 row affected (0.00 sec)
-
- MariaDB [(none)]> grant all privileges on mempool.* to 'mempool'@'%' identified by 'mempool';
- Query OK, 0 rows affected (0.00 sec)
-```
-
-## Mempool Backend
-Install mempool dependencies from npm and build the backend:
```bash
- # backend
- cd backend
- npm install --prod
- npm run build
+rpcuser=mempool
+rpcpassword=mempool
+txindex=1
```
-In the `backend` folder, make a copy of the sample config and modify it to fit your settings.
+### 3. Get & Configure MySQL
+
+Install MariaDB from your OS package manager:
```bash
- cp mempool-config.sample.json mempool-config.json
+# Debian, Ubuntu, etc.
+$ apt-get install mariadb-server mariadb-client
+
+# macOS
+$ brew install mariadb
+$ mysql.server start
```
-Edit `mempool-config.json` to add your Bitcoin Core node RPC credentials:
+Create a database and grant privileges:
+
+```bash
+MariaDB [(none)]> drop database mempool;
+Query OK, 0 rows affected (0.00 sec)
+
+MariaDB [(none)]> create database mempool;
+Query OK, 1 row affected (0.00 sec)
+
+MariaDB [(none)]> grant all privileges on mempool.* to 'mempool'@'%' identified by 'mempool';
+Query OK, 0 rows affected (0.00 sec)
+```
+
+### 4. Build Mempool Backend
+
+Install Mempool dependencies with npm and build the backend:
+
+```bash
+$ cd backend
+$ npm install --prod
+$ npm run build
+```
+
+In the `backend` folder, make a copy of the sample config:
+
+```bash
+$ cp mempool-config.sample.json mempool-config.json
+```
+
+Edit `mempool-config.json` with your Bitcoin Core node RPC credentials:
+
```bash
{
"MEMPOOL": {
@@ -385,66 +131,63 @@ Edit `mempool-config.json` to add your Bitcoin Core node RPC credentials:
Start the backend:
```bash
- npm run start
+$ npm run start
```
-When it's running you should see output like this:
+When it's running, you should see output like this:
```bash
- Mempool updated in 0.189 seconds
- Updating mempool
- Mempool updated in 0.096 seconds
- Updating mempool
- Mempool updated in 0.099 seconds
- Updating mempool
- Calculated fee for transaction 1 / 10
- Calculated fee for transaction 2 / 10
- Calculated fee for transaction 3 / 10
- Calculated fee for transaction 4 / 10
- Calculated fee for transaction 5 / 10
- Calculated fee for transaction 6 / 10
- Calculated fee for transaction 7 / 10
- Calculated fee for transaction 8 / 10
- Calculated fee for transaction 9 / 10
- Calculated fee for transaction 10 / 10
- Mempool updated in 0.243 seconds
- Updating mempool
+Mempool updated in 0.189 seconds
+Updating mempool
+Mempool updated in 0.096 seconds
+Updating mempool
+Mempool updated in 0.099 seconds
+Updating mempool
+Calculated fee for transaction 1 / 10
+Calculated fee for transaction 2 / 10
+Calculated fee for transaction 3 / 10
+Calculated fee for transaction 4 / 10
+Calculated fee for transaction 5 / 10
+Calculated fee for transaction 6 / 10
+Calculated fee for transaction 7 / 10
+Calculated fee for transaction 8 / 10
+Calculated fee for transaction 9 / 10
+Calculated fee for transaction 10 / 10
+Mempool updated in 0.243 seconds
+Updating mempool
```
-## Mempool Frontend
+### 5. Build Mempool Frontend
-Install mempool dependencies from npm and build the frontend static HTML/CSS/JS:
+Install the Mempool dependencies with npm and build the frontend:
```bash
- # frontend
- cd frontend
- npm install --prod
- npm run build
+$ cd frontend
+$ npm install --prod
+$ npm run build
```
-Install the output into nginx webroot folder:
+Install the output into the nginx webroot folder:
```bash
- sudo rsync -av --delete dist/ /var/www/
+$ sudo rsync -av --delete dist/ /var/www/
```
-## nginx + certbot
+### 6. `nginx` + `certbot`
-Install the supplied nginx.conf and nginx-mempool.conf in /etc/nginx
+Install the supplied `nginx.conf` and `nginx-mempool.conf` in `/etc/nginx`:
```bash
- # install nginx and certbot
- apt-get install -y nginx python3-certbot-nginx
+# install nginx and certbot
+$ apt-get install -y nginx python3-certbot-nginx
- # install the mempool configuration for nginx
- cp nginx.conf nginx-mempool.conf /etc/nginx/
-
- # replace example.com with your domain name
- certbot --nginx -d example.com
+# install the mempool configuration for nginx
+$ cp nginx.conf nginx-mempool.conf /etc/nginx/
+# replace example.com with your domain name
+$ certbot --nginx -d example.com
```
-If everything went okay you should see the beautiful mempool :grin:
+If everything went well, you should see the beautiful mempool :grin:
-If you get stuck on "loading blocks", this means the websocket can't connect.
-Check your nginx proxy setup, firewalls, etc. and open an issue if you need help.
+If you get stuck on "loading blocks", this means the websocket can't connect. Check your nginx proxy setup, firewalls, etc. and open an issue if you need help.
diff --git a/backend/src/routes.ts b/backend/src/routes.ts
index db5b4f05f..d27fab683 100644
--- a/backend/src/routes.ts
+++ b/backend/src/routes.ts
@@ -630,6 +630,8 @@ class Routes {
res.json({
hashrates: hashrates,
difficulty: difficulty,
+ currentHashrate: await bitcoinClient.getNetworkHashPs(),
+ currentDifficulty: await bitcoinClient.getDifficulty(),
});
} catch (e) {
res.status(500).send(e instanceof Error ? e.message : e);
diff --git a/docker/README.md b/docker/README.md
new file mode 100644
index 000000000..da7bf20e3
--- /dev/null
+++ b/docker/README.md
@@ -0,0 +1,334 @@
+# Docker Installation
+
+This directory contains the Dockerfiles used to build and release the official images and a `docker-compose.yml` for end users to run a Mempool instance with minimal effort.
+
+You can choose to configure Mempool to run with a basic backend powered by just `bitcoind`, or with `bitcoind` along with an Electrum-compatible server for full functionality.
+
+## `bitcoind`-only Configuration
+
+_Note: address lookups require an Electrum server and will not work with this configuration._
+
+Make sure `bitcoind` is running and synced.
+
+The default Docker configuration assumes you have added RPC credentials for a `mempool` user with a `mempool` password in your `bitcoin.conf` file, like so:
+
+```
+rpcuser=mempool
+rpcpassword=mempool
+```
+
+If you want to use different credentials, specify them in the `docker-compose.yml` file:
+
+```
+ api:
+ environment:
+ MEMPOOL_BACKEND: "none"
+ CORE_RPC_HOST: "172.27.0.1"
+ CORE_RPC_PORT: "8332"
+ CORE_RPC_USERNAME: "customuser"
+ CORE_RPC_PASSWORD: "custompassword"
+```
+
+The IP address in the example above refers to Docker's default gateway IP address so that the container can hit the `bitcoind` instance running on the host machine. If your setup is different, update it accordingly.
+
+Now, run:
+
+```bash
+$ docker-compose up
+```
+
+Your Mempool instance should be running at http://localhost. The graphs will be populated as new transactions are detected.
+
+## `bitcoind` + Electrum Server Configuration
+
+First, configure `bitcoind` as specified above, and make sure your Electrum server is running and synced.
+
+Then, make sure the following variables are set in `docker-compose.yml`, as shown below, so Mempool can connect to your Electrum server:
+
+```
+ api:
+ environment:
+ MEMPOOL_BACKEND: "electrum"
+ ELECTRUM_HOST: "172.27.0.1"
+ ELECTRUM_PORT: "50002"
+ ELECTRUM_TLS_ENABLED: "false"
+```
+
+Of course, if your Docker host IP address is different, update accordingly.
+
+With `bitcoind` and Electrum Server set up, run Mempool with:
+
+```bash
+$ docker-compose up
+```
+
+## Further Configuration
+
+Optionally, you can override any other backend settings from `mempool-config.json`.
+
+Below we list all settings from `mempool-config.json` and the corresponding overrides you can make in the `api` > `environment` section of `docker-compose.yml`.
+
+
+
+`mempool-config.json`:
+```
+ "MEMPOOL": {
+ "NETWORK": "mainnet",
+ "BACKEND": "electrum",
+ "HTTP_PORT": 8999,
+ "SPAWN_CLUSTER_PROCS": 0,
+ "API_URL_PREFIX": "/api/v1/",
+ "POLL_RATE_MS": 2000,
+ "CACHE_DIR": "./cache",
+ "CLEAR_PROTECTION_MINUTES": 20,
+ "RECOMMENDED_FEE_PERCENTILE": 50,
+ "BLOCK_WEIGHT_UNITS": 4000000,
+ "INITIAL_BLOCKS_AMOUNT": 8,
+ "MEMPOOL_BLOCKS_AMOUNT": 8,
+ "PRICE_FEED_UPDATE_INTERVAL": 600,
+ "USE_SECOND_NODE_FOR_MINFEE": false,
+ "EXTERNAL_ASSETS": ["https://raw.githubusercontent.com/mempool/mining-pools/master/pools.json"],
+ "STDOUT_LOG_MIN_PRIORITY": "info"
+ },
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ MEMPOOL_NETWORK: ""
+ MEMPOOL_BACKEND: ""
+ MEMPOOL_HTTP_PORT: ""
+ MEMPOOL_SPAWN_CLUSTER_PROCS: ""
+ MEMPOOL_API_URL_PREFIX: ""
+ MEMPOOL_POLL_RATE_MS: ""
+ MEMPOOL_CACHE_DIR: ""
+ MEMPOOL_CLEAR_PROTECTION_MINUTES: ""
+ MEMPOOL_RECOMMENDED_FEE_PERCENTILE: ""
+ MEMPOOL_BLOCK_WEIGHT_UNITS: ""
+ MEMPOOL_INITIAL_BLOCKS_AMOUNT: ""
+ MEMPOOL_MEMPOOL_BLOCKS_AMOUNT: ""
+ MEMPOOL_PRICE_FEED_UPDATE_INTERVAL: ""
+ MEMPOOL_USE_SECOND_NODE_FOR_MINFEE: ""
+ MEMPOOL_EXTERNAL_ASSETS: ""
+ MEMPOOL_STDOUT_LOG_MIN_PRIORITY: ""
+ ...
+```
+
+
+
+`mempool-config.json`:
+```
+"CORE_RPC": {
+ "HOST": "127.0.0.1",
+ "PORT": 8332,
+ "USERNAME": "mempool",
+ "PASSWORD": "mempool"
+ },
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ CORE_RPC_HOST: ""
+ CORE_RPC_PORT: ""
+ CORE_RPC_USERNAME: ""
+ CORE_RPC_PASSWORD: ""
+ ...
+```
+
+
+
+`mempool-config.json`:
+```
+ "ELECTRUM": {
+ "HOST": "127.0.0.1",
+ "PORT": 50002,
+ "TLS_ENABLED": true
+ },
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ ELECTRUM_HOST: ""
+ ELECTRUM_PORT: ""
+ ELECTRUM_TLS: ""
+ ...
+```
+
+
+
+`mempool-config.json`:
+```
+ "ESPLORA": {
+ "REST_API_URL": "http://127.0.0.1:3000"
+ },
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ ESPLORA_REST_API_URL: ""
+ ...
+```
+
+
+
+`mempool-config.json`:
+```
+ "SECOND_CORE_RPC": {
+ "HOST": "127.0.0.1",
+ "PORT": 8332,
+ "USERNAME": "mempool",
+ "PASSWORD": "mempool"
+ },
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ SECOND_CORE_RPC_HOST: ""
+ SECOND_CORE_RPC_PORT: ""
+ SECOND_CORE_RPC_USERNAME: ""
+ SECOND_CORE_RPC_PASSWORD: ""
+ ...
+```
+
+
+
+`mempool-config.json`:
+```
+ "DATABASE": {
+ "ENABLED": true,
+ "HOST": "127.0.0.1",
+ "PORT": 3306,
+ "DATABASE": "mempool",
+ "USERNAME": "mempool",
+ "PASSWORD": "mempool"
+ },
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ DATABASE_ENABLED: ""
+ DATABASE_HOST: ""
+ DATABASE_PORT: ""
+ DATABASE_DATABASE: ""
+ DATABASE_USERAME: ""
+ DATABASE_PASSWORD: ""
+ ...
+```
+
+
+
+`mempool-config.json`:
+```
+ "SYSLOG": {
+ "ENABLED": true,
+ "HOST": "127.0.0.1",
+ "PORT": 514,
+ "MIN_PRIORITY": "info",
+ "FACILITY": "local7"
+ },
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ SYSLOG_ENABLED: ""
+ SYSLOG_HOST: ""
+ SYSLOG_PORT: ""
+ SYSLOG_MIN_PRIORITY: ""
+ SYSLOG_FACILITY: ""
+ ...
+```
+
+
+
+`mempool-config.json`:
+```
+ "STATISTICS": {
+ "ENABLED": true,
+ "TX_PER_SECOND_SAMPLE_PERIOD": 150
+ },
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ STATISTICS_ENABLED: ""
+ STATISTICS_TX_PER_SECOND_SAMPLE_PERIOD: ""
+ ...
+```
+
+
+
+`mempool-config.json`:
+```
+ "BISQ": {
+ "ENABLED": false,
+ "DATA_PATH": "/bisq/statsnode-data/btc_mainnet/db"
+ }
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ BISQ_ENABLED: ""
+ BISQ_DATA_PATH: ""
+ ...
+```
+
+
+
+`mempool-config.json`:
+```
+ "SOCKS5PROXY": {
+ "ENABLED": false,
+ "HOST": "127.0.0.1",
+ "PORT": "9050",
+ "USERNAME": "",
+ "PASSWORD": ""
+ }
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ SOCKS5PROXY_ENABLED: ""
+ SOCKS5PROXY_HOST: ""
+ SOCKS5PROXY_PORT: ""
+ SOCKS5PROXY_USERNAME: ""
+ SOCKS5PROXY_PASSWORD: ""
+ ...
+```
+
+
+
+`mempool-config.json`:
+```
+ "PRICE_DATA_SERVER": {
+ "TOR_URL": "http://wizpriceje6q5tdrxkyiazsgu7irquiqjy2dptezqhrtu7l2qelqktid.onion/getAllMarketPrices",
+ "CLEARNET_URL": "https://price.bisq.wiz.biz/getAllMarketPrices"
+ }
+```
+
+Corresponding `docker-compose.yml` overrides:
+```
+ api:
+ environment:
+ PRICE_DATA_SERVER_TOR_URL: ""
+ PRICE_DATA_SERVER_CLEARNET_URL: ""
+ ...
+```
diff --git a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html
index b01a68dc4..4223eb50f 100644
--- a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html
+++ b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html
@@ -5,8 +5,7 @@
- {{ hashrates.currentHashrate | amountShortener }} - hashes/sec + {{ hashrates.currentHashrate | amountShortener: 1 : 'H/s' }}