diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 35b8d0011..d097318ca 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", "20"]
+ node: ["18", "20"]
flavor: ["dev", "prod"]
fail-fast: false
runs-on: "ubuntu-latest"
@@ -67,7 +67,7 @@ jobs:
if: "!contains(github.event.pull_request.labels.*.name, 'ops') && !contains(github.head_ref, 'ops/')"
strategy:
matrix:
- node: ["16", "17", "18", "20"]
+ node: ["18", "20"]
flavor: ["dev", "prod"]
fail-fast: false
runs-on: "ubuntu-latest"
diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml
index d067136bf..f12aebe8b 100644
--- a/.github/workflows/cypress.yml
+++ b/.github/workflows/cypress.yml
@@ -38,7 +38,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@v3
with:
- node-version: 18
+ node-version: 20
cache: "npm"
cache-dependency-path: ${{ matrix.module }}/frontend/package-lock.json
diff --git a/.github/workflows/on-tag.yml b/.github/workflows/on-tag.yml
index 5d8d71104..55a5585cc 100644
--- a/.github/workflows/on-tag.yml
+++ b/.github/workflows/on-tag.yml
@@ -68,17 +68,17 @@ jobs:
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Checkout project
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Init repo for Dockerization
run: docker/init.sh "$TAG"
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
id: qemu
- name: Setup Docker buildx action
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
id: buildx
- name: Available platforms
@@ -98,7 +98,7 @@ jobs:
docker buildx build \
--cache-from "type=local,src=/tmp/.buildx-cache" \
--cache-to "type=local,dest=/tmp/.buildx-cache" \
- --platform linux/amd64,linux/arm64,linux/arm/v7 \
+ --platform linux/amd64,linux/arm64 \
--tag ${{ secrets.DOCKER_HUB_USER }}/${{ matrix.service }}:$TAG \
--tag ${{ secrets.DOCKER_HUB_USER }}/${{ matrix.service }}:latest \
--output "type=registry" ./${{ matrix.service }}/ \
diff --git a/.nvmrc b/.nvmrc
index f274881e5..a9b234d51 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-v16.16.0
+v20.8.0
diff --git a/GNUmakefile b/GNUmakefile
deleted file mode 100755
index de1144025..000000000
--- a/GNUmakefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# If you see pwd_unknown showing up check permissions
-PWD ?= pwd_unknown
-
-# DATABASE DEPLOY FOLDER CONFIG - default ./data
-ifeq ($(data),)
-DATA := data
-export DATA
-else
-DATA := $(data)
-export DATA
-endif
-
-.PHONY: help
-help:
- @echo ''
- @echo ''
- @echo ' Usage: make [COMMAND]'
- @echo ''
- @echo ' make all # build init mempool and electrs'
- @echo ' make init # setup some useful configs'
- @echo ' make mempool # build q dockerized mempool.space'
- @echo ' make electrs # build a docker electrs image'
- @echo ''
-
-.PHONY: init
-init:
- @echo ''
- mkdir -p $(DATA) $(DATA)/mysql $(DATA)/mysql/data
- #REF: https://github.com/mempool/mempool/blob/master/docker/README.md
- cat docker/docker-compose.yml > docker-compose.yml
- cat backend/mempool-config.sample.json > backend/mempool-config.json
-.PHONY: mempool
-mempool: init
- @echo ''
- docker-compose up --force-recreate --always-recreate-deps
- @echo ''
-.PHONY: electrs
-electrum:
- #REF: https://hub.docker.com/r/beli/electrum
- @echo ''
- docker build -f docker/electrum/Dockerfile .
- @echo ''
-.PHONY: all
-all: init
- make mempool
-#######################
--include Makefile
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 53016c66f..000000000
--- a/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-# For additional configs/scripting
diff --git a/contributors/fubz.txt b/contributors/fubz.txt
new file mode 100644
index 000000000..e799d641d
--- /dev/null
+++ b/contributors/fubz.txt
@@ -0,0 +1,3 @@
+I hereby accept the terms of the Contributor License Agreement in the CONTRIBUTING.md file of the mempool/mempool git repository as of January 25, 2022.
+
+Signed: fubz
diff --git a/docker/backend/Dockerfile b/docker/backend/Dockerfile
index bbe4df3d2..96b1a2d5b 100644
--- a/docker/backend/Dockerfile
+++ b/docker/backend/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:16.16.0-buster-slim AS builder
+FROM node:20.8.0-buster-slim AS builder
ARG commitHash
ENV MEMPOOL_COMMIT_HASH=${commitHash}
@@ -17,7 +17,7 @@ ENV PATH="/root/.cargo/bin:$PATH"
RUN npm install --omit=dev --omit=optional
RUN npm run package
-FROM node:16.16.0-buster-slim
+FROM node:20.8.0-buster-slim
WORKDIR /backend
diff --git a/docker/backend/start.sh b/docker/backend/start.sh
index 2e293ce34..1bfb06c24 100755
--- a/docker/backend/start.sh
+++ b/docker/backend/start.sh
@@ -139,7 +139,7 @@ __MEMPOOL_SERVICES_API__=${MEMPOOL_SERVICES_API:=""}
__MEMPOOL_SERVICES_ACCELERATIONS__=${MEMPOOL_SERVICES_ACCELERATIONS:=false}
# REDIS
-__REDIS_ENABLED__=${REDIS_ENABLED:=true}
+__REDIS_ENABLED__=${REDIS_ENABLED:=false}
__REDIS_UNIX_SOCKET_PATH__=${REDIS_UNIX_SOCKET_PATH:=true}
mkdir -p "${__MEMPOOL_CACHE_DIR__}"
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 68e73a1c8..4e1094306 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -38,7 +38,7 @@ services:
MYSQL_USER: "mempool"
MYSQL_PASSWORD: "mempool"
MYSQL_ROOT_PASSWORD: "admin"
- image: mariadb:10.5.8
+ image: mariadb:10.5.21
user: "1000:1000"
restart: on-failure
stop_grace_period: 1m
diff --git a/docker/electrum/Dockerfile b/docker/electrum/Dockerfile
deleted file mode 100644
index b7af48989..000000000
--- a/docker/electrum/Dockerfile
+++ /dev/null
@@ -1,32 +0,0 @@
-FROM ubuntu:18.04
-MAINTAINER mempool.space developers
-EXPOSE 50002
-
-# runs as UID 1000 GID 1000 inside the container
-
-ENV VERSION 4.0.9
-RUN set -x \
- && apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gpg gpg-agent dirmngr \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends wget xpra python3-pyqt5 python3-wheel python3-pip python3-setuptools libsecp256k1-0 libsecp256k1-dev python3-numpy python3-dev build-essential \
- && wget -O /tmp/Electrum-${VERSION}.tar.gz https://download.electrum.org/${VERSION}/Electrum-${VERSION}.tar.gz \
- && wget -O /tmp/Electrum-${VERSION}.tar.gz.asc https://download.electrum.org/${VERSION}/Electrum-${VERSION}.tar.gz.asc \
- && gpg --keyserver keys.gnupg.net --recv-keys 6694D8DE7BE8EE5631BED9502BD5824B7F9470E6 \
- && gpg --verify /tmp/Electrum-${VERSION}.tar.gz.asc /tmp/Electrum-${VERSION}.tar.gz \
- && pip3 install /tmp/Electrum-${VERSION}.tar.gz \
- && test -f /usr/local/bin/electrum \
- && rm -vrf /tmp/Electrum-${VERSION}.tar.gz /tmp/Electrum-${VERSION}.tar.gz.asc ${HOME}/.gnupg \
- && apt-get purge --autoremove -y python3-wheel python3-pip python3-setuptools python3-dev build-essential libsecp256k1-dev curl gpg gpg-agent dirmngr \
- && apt-get clean && rm -rf /var/lib/apt/lists/* \
- && useradd -d /home/mempool -m mempool \
- && mkdir /electrum \
- && ln -s /electrum /home/mempool/.electrum \
- && chown mempool:mempool /electrum
-
-USER mempool
-ENV HOME /home/mempool
-WORKDIR /home/mempool
-VOLUME /electrum
-
-CMD ["/usr/bin/xpra", "start", ":100", "--start-child=/usr/local/bin/electrum", "--bind-tcp=0.0.0.0:50002","--daemon=yes", "--notifications=no", "--mdns=no", "--pulseaudio=no", "--html=off", "--speaker=disabled", "--microphone=disabled", "--webcam=no", "--printing=no", "--dbus-launch=", "--exit-with-children"]
-ENTRYPOINT ["electrum"]
diff --git a/docker/frontend/Dockerfile b/docker/frontend/Dockerfile
index b54612e3d..4d04ae88f 100644
--- a/docker/frontend/Dockerfile
+++ b/docker/frontend/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:16.16.0-buster-slim AS builder
+FROM node:20.8.0-buster-slim AS builder
ARG commitHash
ENV DOCKER_COMMIT_HASH=${commitHash}
@@ -13,7 +13,7 @@ RUN npm install --omit=dev --omit=optional
RUN npm run build
-FROM nginx:1.17.8-alpine
+FROM nginx:1.24.0-alpine
WORKDIR /patch
diff --git a/docker/frontend/entrypoint.sh b/docker/frontend/entrypoint.sh
index 7d5ee313d..4e14aefac 100644
--- a/docker/frontend/entrypoint.sh
+++ b/docker/frontend/entrypoint.sh
@@ -39,6 +39,7 @@ __AUDIT__=${AUDIT:=false}
__MAINNET_BLOCK_AUDIT_START_HEIGHT__=${MAINNET_BLOCK_AUDIT_START_HEIGHT:=0}
__TESTNET_BLOCK_AUDIT_START_HEIGHT__=${TESTNET_BLOCK_AUDIT_START_HEIGHT:=0}
__SIGNET_BLOCK_AUDIT_START_HEIGHT__=${SIGNET_BLOCK_AUDIT_START_HEIGHT:=0}
+__ACCELERATOR__=${ACCELERATOR:=false}
__HISTORICAL_PRICE__=${HISTORICAL_PRICE:=true}
# Export as environment variables to be used by envsubst
@@ -65,6 +66,7 @@ export __AUDIT__
export __MAINNET_BLOCK_AUDIT_START_HEIGHT__
export __TESTNET_BLOCK_AUDIT_START_HEIGHT__
export __SIGNET_BLOCK_AUDIT_START_HEIGHT__
+export __ACCELERATOR__
export __HISTORICAL_PRICE__
folder=$(find /var/www/mempool -name "config.js" | xargs dirname)
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 36049f9f0..087c738ac 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -31,6 +31,7 @@
"bootstrap": "~4.6.2",
"browserify": "^17.0.0",
"clipboard": "^2.0.11",
+ "cypress": "^13.3.0",
"domino": "^2.1.6",
"echarts": "~5.4.3",
"echarts-gl": "^2.0.9",
@@ -59,7 +60,7 @@
"optionalDependencies": {
"@cypress/schematic": "^2.5.0",
"@types/cypress": "^1.1.3",
- "cypress": "^13.2.0",
+ "cypress": "^13.3.0",
"cypress-fail-on-console-error": "~5.0.0",
"cypress-wait-until": "^2.0.1",
"mock-socket": "~9.2.1",
@@ -7113,9 +7114,9 @@
"peer": true
},
"node_modules/cypress": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.2.0.tgz",
- "integrity": "sha512-AvDQxBydE771GTq0TR4ZUBvv9m9ffXuB/ueEtpDF/6gOcvFR96amgwSJP16Yhqw6VhmwqspT5nAGzoxxB+D89g==",
+ "version": "13.3.0",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.3.0.tgz",
+ "integrity": "sha512-mpI8qcTwLGiA4zEQvTC/U1xGUezVV4V8HQCOYjlEOrVmU1etVvxOjkCXHGwrlYdZU/EPmUiWfsO3yt1o+Q2bgw==",
"hasInstallScript": true,
"optional": true,
"dependencies": {
@@ -22043,9 +22044,9 @@
"peer": true
},
"cypress": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.2.0.tgz",
- "integrity": "sha512-AvDQxBydE771GTq0TR4ZUBvv9m9ffXuB/ueEtpDF/6gOcvFR96amgwSJP16Yhqw6VhmwqspT5nAGzoxxB+D89g==",
+ "version": "13.3.0",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.3.0.tgz",
+ "integrity": "sha512-mpI8qcTwLGiA4zEQvTC/U1xGUezVV4V8HQCOYjlEOrVmU1etVvxOjkCXHGwrlYdZU/EPmUiWfsO3yt1o+Q2bgw==",
"optional": true,
"requires": {
"@cypress/request": "^3.0.0",
diff --git a/frontend/package.json b/frontend/package.json
index 214cf9ff6..294ace61d 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -111,7 +111,7 @@
"optionalDependencies": {
"@cypress/schematic": "^2.5.0",
"@types/cypress": "^1.1.3",
- "cypress": "^13.2.0",
+ "cypress": "^13.3.0",
"cypress-fail-on-console-error": "~5.0.0",
"cypress-wait-until": "^2.0.1",
"mock-socket": "~9.2.1",
diff --git a/frontend/src/app/components/blocks-list/blocks-list.component.html b/frontend/src/app/components/blocks-list/blocks-list.component.html
index 39fbb95e0..85e2ea17f 100644
--- a/frontend/src/app/components/blocks-list/blocks-list.component.html
+++ b/frontend/src/app/components/blocks-list/blocks-list.component.html
@@ -1,6 +1,6 @@
Height | -Height | +Pool | -Timestamp | -Timestamp | +Health | -Reward | -Fees | -- | Fees | ++ | TXs | -Transactions | -Size | +Transactions | +Size | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{{ block.height }} | -
-
+
+
+ |
-
+
+ |
{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm' }}
|
-
+ |
Unknown
|
-
+ |
|
-
+ |
|
-
+ |
= 0" [class.negative]="block.extras.feeDelta < 0">
{{ block.extras.feeDelta > 0 ? '+' : '' }}{{ (block.extras.feeDelta * 100) | amountShortener: 2 }}%
|
-
+ |
{{ block.tx_count | number }}
|
-
+ |
|
@@ -82,34 +88,34 @@
+ |
|
-
+ |
|
-
+ |
|
-
+ |
|
-
+ |
|
-
+ |
|
-
+ |
|
-
+ |
|
-
+ |
|
-
+ |
|
|