mempool/frontend
2022-05-30 13:26:54 +04:00
..
.tx Update transifex-client configuration to use master branch 2020-12-03 20:09:08 +09:00
cypress Add tests for the address highlighting feature 2022-03-19 22:16:22 -07:00
src Transifex pull 2022-05-30 13:26:54 +04:00
.browserslistrc Upgrade libs. 2020-07-19 19:34:09 +07:00
.editorconfig New base code for mempool blockchain explorerer 2020-02-26 03:19:26 +09:00
.gitignore Download pool logos from github 2022-02-08 12:56:26 +09:00
angular.json Add new targets to run locally hitting the staging backends 2022-02-06 15:12:03 -08:00
cypress.json Disable Chrome security to allow Cypress to navigate out of localhost 2021-12-09 15:49:15 -08:00
frontend Implement i18n support in frontend using Angular + Transifex + NGINX 2020-12-02 04:19:33 +09:00
generate-config.js Update frontend git commit hash logic 2022-03-23 12:33:47 -07:00
karma.conf.js Renaming angular project to 'mempool' from 'mempoolspace' 2020-04-28 00:14:29 +07:00
mempool-frontend-config.sample.json revert "add network regtest" 1f0ae60 2022-03-08 19:59:18 +01:00
package-lock.json Angular 13.3.10 update 2022-05-26 18:31:11 +04:00
package.json Angular 13.3.10 update 2022-05-26 18:31:11 +04:00
proxy.conf.js Add mining pools resources route 2022-02-06 15:10:35 -08:00
proxy.conf.local.js Add proxy support for Liquid Testnet 2022-02-22 16:39:53 +04:00
proxy.conf.mixed.js Add proxy support for Liquid Testnet 2022-02-22 16:39:53 +04:00
proxy.conf.staging.js Add new proxy config for staging 2022-02-06 15:11:13 -08:00
README.md Broaden guidance for hosting frontend 2022-05-26 19:33:54 -04:00
server.run.ts Upgrading to Angular 12 and NgBootstrap 10 2021-09-22 23:57:05 +04:00
server.ts Added /mining/pool/:poolId empty page 2022-02-14 14:08:11 +09:00
sync-assets.js Use our forked repo of mining pool data 2022-03-17 14:16:57 +01:00
tsconfig.app.json Upgrade libs. 2020-07-19 19:34:09 +07:00
tsconfig.base.json Set frontend tsconfig to target es2020 2021-04-07 22:40:13 +09:00
tsconfig.json angular universal WIP 2020-11-07 04:30:52 +07:00
tsconfig.server.json angular universal WIP 2020-11-07 04:30:52 +07:00
tsconfig.spec.json Upgrade libs. 2020-07-19 19:34:09 +07:00
tslint.json Use block cache when searching or opening a recent block. (#749) 2021-08-29 04:55:46 +03:00
update-config.js Fix update-config script to parse string values 2021-08-17 12:03:03 -07: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

2. Specify Website

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

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

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

3. Run the Frontend

Node.js 16 and npm 7 are recommended.

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

Node.js 16 and npm 7 are recommended.

Build the frontend:

cd frontend
npm install # add --prod for production
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
  • German @Emzy
  • English (default)
  • Spanish @maxhodler @bisqes
  • Persian @techmix
  • French @Bayernatoor
  • Korean @kcalvinalvinn
  • Italian @HodlBits
  • Hebrew @Sh0ham
  • 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 @bitcoin_vietnam
  • Chinese @wdljt
  • Russian @TonyCrusoe @Bitconan
  • Romanian @mirceavesa
  • Macedonian @SkechBoy