mempool/frontend
wiz 01207ceb7b
Some checks are pending
Backend Integration Tests with MariaDB / Backend Integration Tests - node 24.13.0 (push) Waiting to run
CI Pipeline for the Backend and Frontend / Backend (dev) - node 24.13.0 (push) Waiting to run
CI Pipeline for the Backend and Frontend / Backend (prod) - node 24.13.0 (push) Waiting to run
CI Pipeline for the Backend and Frontend / Cache assets for builds (push) Waiting to run
CI Pipeline for the Backend and Frontend / Frontend (dev) - node 24.13.0 (push) Blocked by required conditions
CI Pipeline for the Backend and Frontend / Frontend (prod) - node 24.13.0 (push) Blocked by required conditions
CI Pipeline for the Backend and Frontend / E2E tests for liquid (push) Blocked by required conditions
CI Pipeline for the Backend and Frontend / E2E tests for mempool (push) Blocked by required conditions
CI Pipeline for the Backend and Frontend / E2E tests for testnet4 (push) Blocked by required conditions
CI Pipeline for the Backend and Frontend / Validate generated backend Docker JSON (push) Waiting to run
Supply Chain Audit / Backend install-script audit (push) Waiting to run
Supply Chain Audit / Frontend install-script audit (push) Waiting to run
Merge pull request #6613 from jramos0/stats-accelerator-dashboard
Stats accelerator dashboard
2026-07-03 19:59:26 +09:00
..
.tx
cypress fix failing liquid asset e2e tests 2026-06-30 03:29:21 +00:00
meta/scripts add scripts for checking for common supply chain attack vectors 2026-03-31 05:54:11 +00:00
src Merge pull request #6613 from jramos0/stats-accelerator-dashboard 2026-07-03 19:59:26 +09:00
.browserslistrc
.editorconfig
.eslintignore
.eslintrc
.gitignore build & use content-hashed theme bundles 2026-01-15 06:56:56 +00:00
.npmrc add .npmrc 2026-06-05 06:50:19 +00:00
.prettierignore
.prettierrc
angular.json build & use content-hashed theme bundles 2026-01-15 06:56:56 +00:00
custom-bitb-config.json
custom-meta-config.json change handle 2025-11-22 08:07:13 +00:00
custom-river-config.json check in new resources 2025-04-02 08:10:46 +00:00
custom-strategy-config.json update custom dashboard configs 2025-04-29 14:05:09 +00:00
custom-sv-config.json Update custom dashboard config 2025-10-04 17:49:23 +02:00
custom-xxi-config.json more dashboards 2025-06-12 00:34:12 +00:00
cypress.config.ts Fix a few lint errors 2026-01-03 20:29:45 -08:00
eslint.config.js eslint fixes 2025-11-15 10:47:53 +00:00
frontend
generate-config.js build & use content-hashed theme bundles 2026-01-15 06:56:56 +00:00
generate-themes.js Add light theme 2026-03-31 15:35:54 +09:00
mempool-frontend-config.sample.json Update frontend/mempool-frontend-config.sample.json 2026-01-29 17:57:05 -08:00
package-lock.json bump angular to 20.3.25 2026-06-18 06:05:49 +00:00
package.json bump angular to 20.3.25 2026-06-18 06:05:49 +00:00
proxy.conf.js Add support for regtest 2026-01-29 15:41:04 -08:00
proxy.conf.local-esplora.js Add support for regtest 2026-01-29 15:41:04 -08:00
proxy.conf.local.js Add support for regtest 2026-01-29 15:41:04 -08:00
proxy.conf.mixed.js Add support for regtest 2026-01-29 15:41:04 -08:00
proxy.conf.parameterized.js eslint fixes 2025-11-15 10:47:53 +00:00
README.md
server.run.ts
server.ts
shims.ts
sync-assets.js Add user agent and log urls on the sync-assets script 2026-07-02 02:04:41 +09:00
tsconfig.app.json
tsconfig.base.json
tsconfig.json
tsconfig.server.json
tsconfig.spec.json
update-config.js eslint fixes 2025-11-15 10:47:53 +00:00

Mempool Frontend

You can build and run the Mempool frontend and proxy to the production Mempool backend (for easier frontend development), or you can connect it to your own backend for a full Mempool development instance, custom deployment, etc.

Jump to a section in this doc:

Quick Setup for Frontend Development

If you want to quickly improve the UI, fix typos, or make other updates that don't require any backend changes, you don't need to set up an entire backend—you can simply run the Mempool frontend locally and proxy to the mempool.space backend.

1. Clone Mempool Repository

Get the latest Mempool code:

git clone https://github.com/mempool/mempool
cd mempool/frontend

2. Specify Website

The same frontend codebase is used for https://mempool.space and https://liquid.network.

Configure the frontend for the site you want by running the corresponding command:

$ npm run config:defaults:mempool
$ npm run config:defaults:liquid

3. Run the Frontend

Make sure to use Node.js 20.x and npm 9.x or newer.

Install project dependencies and run the frontend server:

$ npm install
$ npm run serve:local-prod

The frontend will be available at http://localhost:4200/ and all API requests will be proxied to the production server at https://mempool.space.

4. Test

After making your changes, you can run our end-to-end automation suite and check for possible regressions.

Headless:

$ npm run config:defaults:mempool && npm run cypress:run

Interactive:

$ npm run config:defaults:mempool && npm run cypress:open

This will open the Cypress test runner, where you can select any of the test files to run.

If all tests are green, submit your PR, and it will be reviewed by someone on the team as soon as possible.

Manual Setup

Set up the Mempool backend first, if you haven't already.

1. Build the Frontend

Make sure to use Node.js 20.x and npm 9.x or newer.

Build the frontend:

cd frontend
npm install
npm run build

2. Run the Frontend

Development

To run your local Mempool frontend with your local Mempool backend:

npm run serve

Production

The npm run build command from step 1 above should have generated a dist directory. Put the contents of dist/ onto your web server.

You will probably want to set up a reverse proxy, TLS, etc. There are sample nginx configuration files in the top level of the repository for reference, but note that support for such tasks is outside the scope of this project.

Translations: Transifex Project

The Mempool frontend strings are localized into 20+ locales: https://www.transifex.com/mempool/mempool/dashboard/

Translators

  • Arabic @baro0k
  • Czech @pixelmade2
  • Danish @pierrevendelboe
  • German @Emzy
  • English (default)
  • Spanish @maxhodler @bisqes
  • Persian @techmix
  • French @Bayernatoor
  • Korean @kcalvinalvinn @sogoagain
  • Italian @HodlBits
  • Lithuanian @eimze21
  • Hebrew @rapidlab309
  • Georgian @wyd_idk
  • Hungarian @btcdragonlord
  • Dutch @m__btc
  • Japanese @wiz @japananon
  • Norwegian @T82771355
  • Polish @maciejsoltysiak
  • Portugese @jgcastro1985
  • Slovenian @thepkbadger
  • Finnish @bio_bitcoin
  • Swedish @softsimon_
  • Thai @Gusb3ll
  • Turkish @stackmore
  • Ukrainian @volbil
  • Vietnamese @BitcoinvnNews
  • Chinese @wdljt
  • Russian @TonyCrusoe @Bitconan
  • Romanian @mirceavesa
  • Macedonian @SkechBoy
  • Nepalese @kebinm