From f968faeaf979fe1f5b96fb6e944f5984d116c400 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Thu, 2 Mar 2023 02:39:59 -0500 Subject: [PATCH 01/11] Specify manual deployment support for enterprise sponsors [faq] --- frontend/src/app/docs/api-docs/api-docs.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index 8c8d6ac36..2e9a12687 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -267,7 +267,7 @@ - You can manually install Mempool on your own Linux server, but this requires advanced sysadmin skills since you will be manually configuring everything. We do not provide support for manual deployments. + You can manually install Mempool on your own Linux server, but this requires advanced sysadmin skills since you will be manually configuring everything. We only provide support for manual deployments to enterprise sponsors. From e7ad857cc94bbfef3c2d55c94d0cb04eb200f95b Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Thu, 2 Mar 2023 03:12:56 -0500 Subject: [PATCH 02/11] Specify manual deployment support for enterprise sponsors [readme] --- backend/README.md | 2 +- production/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/README.md b/backend/README.md index be85d25af..ee934a14f 100644 --- a/backend/README.md +++ b/backend/README.md @@ -2,7 +2,7 @@ These instructions are mostly intended for developers. -If you choose to use these instructions for a production setup, be aware that you will still probably need to do additional configuration for your specific OS, environment, use-case, etc. We do our best here to provide a good starting point, but only proceed if you know what you're doing. Mempool does not provide support for custom setups. +If you choose to use these instructions for a production setup, be aware that you will still probably need to do additional configuration for your specific OS, environment, use-case, etc. We do our best here to provide a good starting point, but only proceed if you know what you're doing. Mempool only provides support for custom setups to [enterprise sponsors](https://mempool.space/enterprise). See other ways to set up Mempool on [the main README](/../../#installation-methods). diff --git a/production/README.md b/production/README.md index 91b087ffa..87b8bb0a1 100644 --- a/production/README.md +++ b/production/README.md @@ -2,7 +2,7 @@ These instructions are for setting up a serious production Mempool website for Bitcoin (mainnet, testnet, signet), Liquid (mainnet, testnet), and Bisq. -Again, this setup is no joke—home users should use [one of the other installation methods](../#installation-methods). +Again, this setup is no joke—home users should use [one of the other installation methods](../#installation-methods). Support is only provided to [enterprise sponsors](https://mempool.space/enterprise). ### Server Hardware From f493da4eac1fafd867cd08fd46675bb22d106a36 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Sat, 4 Mar 2023 04:07:23 -0500 Subject: [PATCH 03/11] Generalize faq from linux to any server --- frontend/src/app/docs/api-docs/api-docs-data.ts | 4 ++-- frontend/src/app/docs/api-docs/api-docs.component.html | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/docs/api-docs/api-docs-data.ts b/frontend/src/app/docs/api-docs/api-docs-data.ts index 62d031613..9c5502bf1 100644 --- a/frontend/src/app/docs/api-docs/api-docs-data.ts +++ b/frontend/src/app/docs/api-docs/api-docs-data.ts @@ -8921,8 +8921,8 @@ export const faqData = [ type: "endpoint", category: "self-hosting", showConditions: bitcoinNetworks, - fragment: "host-my-own-instance-linux-server", - title: "How can I host my own instance on a Linux server?", + fragment: "host-my-own-instance-server", + title: "How can I host a Mempool instance on my own server?", }, { type: "endpoint", diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index 2e9a12687..313ff0b52 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -266,8 +266,9 @@ We support one-click installation on a number of Raspberry Pi full-node distros including Umbrel, RaspiBlitz, MyNode, RoninDojo, and Start9's Embassy. - - You can manually install Mempool on your own Linux server, but this requires advanced sysadmin skills since you will be manually configuring everything. We only provide support for manual deployments to enterprise sponsors. + +

You can manually install Mempool on your own server, but this requires advanced sysadmin skills since you will be manually configuring everything. You could also use our Docker images.

In any case, we only provide support for manual deployments to enterprise sponsors.

+

For casual users, we strongly suggest installing Mempool using one of the 1-click install methods.

From 6cc2f2063852f663b5f8699aceea9e49b9fddc63 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Sun, 12 Mar 2023 04:13:20 -0400 Subject: [PATCH 04/11] Use href for enterprise links --- frontend/src/app/docs/api-docs/api-docs.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index e7e9a5403..7ef56ffaf 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -40,7 +40,7 @@

Below is a reference for the {{ network.val === '' ? 'Bitcoin' : network.val.charAt(0).toUpperCase() + network.val.slice(1) }} REST API service.

-

Note that we enforce rate limits. If you exceed these limits, you will get an HTTP 429 error. If you repeatedly exceed the limits, you may be banned from accessing the service altogether. Consider an enterprise sponsorship if you need higher API limits.

+

Note that we enforce rate limits. If you exceed these limits, you will get an HTTP 429 error. If you repeatedly exceed the limits, you may be banned from accessing the service altogether. Consider an enterprise sponsorship if you need higher API limits.

{{ item.title }}

@@ -268,7 +268,7 @@ -

You can manually install Mempool on your own server, but this requires advanced sysadmin skills since you will be manually configuring everything. You could also use our Docker images.

In any case, we only provide support for manual deployments to enterprise sponsors.

+

You can manually install Mempool on your own server, but this requires advanced sysadmin skills since you will be manually configuring everything. You could also use our Docker images.

In any case, we only provide support for manual deployments to enterprise sponsors.

For casual users, we strongly suggest installing Mempool using one of the 1-click install methods.

From 7ab373ecac529d1f8f5efb921bf2a6f131f5e134 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 29 Mar 2023 15:09:38 +0900 Subject: [PATCH 05/11] Clip overflowing labels in pool component on mobile --- .../app/components/pool/pool.component.html | 48 +++++++++---------- .../app/components/pool/pool.component.scss | 10 +++- 2 files changed, 33 insertions(+), 25 deletions(-) diff --git a/frontend/src/app/components/pool/pool.component.html b/frontend/src/app/components/pool/pool.component.html index 898e50fc2..e1806086e 100644 --- a/frontend/src/app/components/pool/pool.component.html +++ b/frontend/src/app/components/pool/pool.component.html @@ -92,9 +92,9 @@ - - - + + + @@ -117,9 +117,9 @@
RewardHashrate (24h)Avg HealthRewardHashrate (24h)Avg Health
- - - + + + @@ -143,9 +143,9 @@
RewardHashrate (24h)Avg HealthRewardHashrate (24h)Avg Health
- - - + + + @@ -165,9 +165,9 @@
Blocks 24h1wAllBlocks 24h1wAll
- - - + + + @@ -382,9 +382,9 @@
Blocks 24h1wAllBlocks 24h1wAll
- - - + + + @@ -407,9 +407,9 @@
RewardHashrate (24h)Avg HealthRewardHashrate (24h)Avg Health
- - - + + + @@ -433,9 +433,9 @@
RewardHashrate (24h)Avg HealthRewardHashrate (24h)Avg Health
- - - + + + @@ -458,9 +458,9 @@
Blocks 24h1wAllBlocks 24h1wAll
- - - + + + diff --git a/frontend/src/app/components/pool/pool.component.scss b/frontend/src/app/components/pool/pool.component.scss index 21468773f..92fdc2ef3 100644 --- a/frontend/src/app/components/pool/pool.component.scss +++ b/frontend/src/app/components/pool/pool.component.scss @@ -188,11 +188,19 @@ div.scrollable { } } -.block-count-title { +.data-title { color: #4a68b9; font-size: 14px; } +.clip { + @media (max-width: 576px) { + max-width: 85px; + overflow: hidden; + text-overflow: ellipsis; + } +} + .table-data tr { background-color: transparent; } From 2570357becc0548c09da98590988310f127ddf6c Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn <100320+knorrium@users.noreply.github.com> Date: Tue, 11 Jul 2023 00:21:00 -0700 Subject: [PATCH 06/11] Add node v20 to the test matrix --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b3c072689..e6bd3941d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: if: "!contains(github.event.pull_request.labels.*.name, 'ops') && !contains(github.head_ref, 'ops/')" strategy: matrix: - node: ["16", "17", "18"] + node: ["16", "17", "18", "20"] flavor: ["dev", "prod"] fail-fast: false runs-on: "ubuntu-latest" @@ -60,7 +60,7 @@ jobs: if: "!contains(github.event.pull_request.labels.*.name, 'ops') && !contains(github.head_ref, 'ops/')" strategy: matrix: - node: ["16", "17", "18"] + node: ["16", "17", "18", "20"] flavor: ["dev", "prod"] fail-fast: false runs-on: "ubuntu-latest" From 29c53a78529ed4bcfc93aaa1b65b3f51523a9f21 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 18 Jul 2023 15:01:30 +0900 Subject: [PATCH 07/11] [search bar] fix alignment issue --- .../app/components/search-form/search-form.component.scss | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/components/search-form/search-form.component.scss b/frontend/src/app/components/search-form/search-form.component.scss index f3d2ee234..534bf0698 100644 --- a/frontend/src/app/components/search-form/search-form.component.scss +++ b/frontend/src/app/components/search-form/search-form.component.scss @@ -18,9 +18,10 @@ form { margin-top: 5px; - @media (min-width: 576px) { + @media (min-width: 564px) { margin-top: 0px; - margin-left: 8px; + margin-left: 5px; + margin-right: -5px; } @media (min-width: 992px) { width: 100%; From 4055128d7fbc0eced529db133ac94d189abff364 Mon Sep 17 00:00:00 2001 From: softsimon Date: Wed, 19 Jul 2023 11:06:28 +0900 Subject: [PATCH 08/11] Fix for 0 sat minimum fee --- frontend/src/app/dashboard/dashboard.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 3faef5a83..7175f767a 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -180,10 +180,10 @@
-
Minimum fee
+
Minimum fee
Purging

- < + <

From 943d05f680656075bf404dccf541d0b1a1f6075b Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 19 Jul 2023 12:09:46 +0900 Subject: [PATCH 09/11] restore latest blocks on liquid --- .../app/dashboard/dashboard.component.html | 42 ++++++++++++++++++- .../app/dashboard/dashboard.component.scss | 37 ++++++++++++++++ .../src/app/dashboard/dashboard.component.ts | 20 ++++++++- 3 files changed, 97 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 7175f767a..a9f6e3994 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -73,7 +73,7 @@
Blocks 24h1wAllBlocks 24h1wAll
+ +
+
+ +
Latest blocks
+   + +
+ + + + + + + + + + + + + + + + + +
HeightMinedPoolTXsSize
{{ block.height }} + + + {{ block.extras.pool.name }} + + {{ block.tx_count | number }} +
+
 
+
+
+
+
+
+
diff --git a/frontend/src/app/dashboard/dashboard.component.scss b/frontend/src/app/dashboard/dashboard.component.scss index f1e835d9c..884ba1027 100644 --- a/frontend/src/app/dashboard/dashboard.component.scss +++ b/frontend/src/app/dashboard/dashboard.component.scss @@ -175,6 +175,43 @@ height: 18px; } +.lastest-blocks-table { + width: 100%; + text-align: left; + tr, td, th { + border: 0px; + padding-top: 0.65rem !important; + padding-bottom: 0.7rem !important; + } + .table-cell-height { + width: 15%; + } + .table-cell-mined { + width: 35%; + text-align: left; + } + .table-cell-transaction-count { + display: none; + text-align: right; + width: 20%; + display: table-cell; + } + .table-cell-size { + display: none; + text-align: center; + width: 30%; + @media (min-width: 485px) { + display: table-cell; + } + @media (min-width: 768px) { + display: none; + } + @media (min-width: 992px) { + display: table-cell; + } + } +} + .lastest-replacements-table { width: 100%; text-align: left; diff --git a/frontend/src/app/dashboard/dashboard.component.ts b/frontend/src/app/dashboard/dashboard.component.ts index bf9816a69..aca3593d7 100644 --- a/frontend/src/app/dashboard/dashboard.component.ts +++ b/frontend/src/app/dashboard/dashboard.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core'; import { combineLatest, merge, Observable, of, Subscription } from 'rxjs'; -import { filter, map, scan, share, switchMap } from 'rxjs/operators'; +import { filter, map, scan, share, switchMap, tap } from 'rxjs/operators'; import { BlockExtended, OptimizedMempoolStats, RbfTree } from '../interfaces/node-api.interface'; import { MempoolInfo, TransactionStripped, ReplacementInfo } from '../interfaces/websocket.interface'; import { ApiService } from '../services/api.service'; @@ -39,6 +39,7 @@ export class DashboardComponent implements OnInit, OnDestroy { mempoolLoadingStatus$: Observable; vBytesPerSecondLimit = 1667; transactions$: Observable; + blocks$: Observable; replacements$: Observable; latestBlockHeight: number; mempoolTransactionsWeightPerSecondData: any; @@ -144,6 +145,23 @@ export class DashboardComponent implements OnInit, OnDestroy { }, []), ); + this.blocks$ = this.stateService.blocks$ + .pipe( + tap((blocks) => { + this.latestBlockHeight = blocks[0].height; + }), + switchMap((blocks) => { + if (this.stateService.env.MINING_DASHBOARD === true) { + for (const block of blocks) { + // @ts-ignore: Need to add an extra field for the template + block.extras.pool.logo = `/resources/mining-pools/` + + block.extras.pool.name.toLowerCase().replace(' ', '').replace('.', '') + '.svg'; + } + } + return of(blocks.slice(0, 6)); + }) + ); + this.replacements$ = this.stateService.rbfLatestSummary$; this.mempoolStats$ = this.stateService.connectionState$ From 9a2ab7fe2165bc30e958fa62167b5c8805f53a3b Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 20 Jul 2023 09:56:52 +0900 Subject: [PATCH 10/11] [search bar] chrome - fix flex-auto --- .../src/app/components/master-page/master-page.component.scss | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/master-page/master-page.component.scss b/frontend/src/app/components/master-page/master-page.component.scss index fc8b4eb5a..95b9474b9 100644 --- a/frontend/src/app/components/master-page/master-page.component.scss +++ b/frontend/src/app/components/master-page/master-page.component.scss @@ -64,7 +64,9 @@ li.nav-item { .navbar-collapse { - flex-basis: auto; + @media (min-width: 564px) { + flex-basis: auto; + } justify-content: flex-end; } From ade790822962fa97663a39beecb1d543a51daf85 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Thu, 20 Jul 2023 10:36:26 +0900 Subject: [PATCH 11/11] [mining] add missing empty col at the bottom of pool ranking --- .../src/app/components/pool-ranking/pool-ranking.component.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/src/app/components/pool-ranking/pool-ranking.component.html b/frontend/src/app/components/pool-ranking/pool-ranking.component.html index 6ffcbf485..d5cf08aa5 100644 --- a/frontend/src/app/components/pool-ranking/pool-ranking.component.html +++ b/frontend/src/app/components/pool-ranking/pool-ranking.component.html @@ -139,6 +139,8 @@ {{ miningStats.lastEstimatedHashrate}} {{ miningStats.miningUnits.hashrateUnit }} {{ miningStats.blockCount }} + + {{ miningStats.totalEmptyBlock }} ({{ miningStats.totalEmptyBlockRatio }}%)