From 636d0bf3923899ae131ea2197c2ee1ba16f24e67 Mon Sep 17 00:00:00 2001 From: Viktor Baranov Date: Tue, 19 Sep 2023 12:23:32 +0300 Subject: [PATCH 1/9] Blockscout backend and new UI + Postgres DB --- .gitignore | 2 + .../blockscout/services/docker-compose-db.yml | 36 +++++++++++ suave/devenv/docker-compose.yml | 61 +++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 suave/devenv/blockscout/services/docker-compose-db.yml diff --git a/.gitignore b/.gitignore index f4db106b56..e4923a42b7 100644 --- a/.gitignore +++ b/.gitignore @@ -47,5 +47,7 @@ profile.cov /dashboard/assets/bundle.js.map /dashboard/assets/package-lock.json +/suave/devenv/blockscout/services/blockscout-db-data + **/yarn-error.log logs/ \ No newline at end of file diff --git a/suave/devenv/blockscout/services/docker-compose-db.yml b/suave/devenv/blockscout/services/docker-compose-db.yml new file mode 100644 index 0000000000..515d7d224f --- /dev/null +++ b/suave/devenv/blockscout/services/docker-compose-db.yml @@ -0,0 +1,36 @@ +version: '3.8' + +services: + blockscout-db-init: + image: postgres:14 + volumes: + - ./blockscout-db-data:/var/lib/postgresql/data + entrypoint: + - sh + - -c + - | + chown -R 2000:2000 /var/lib/postgresql/data + + blockscout-db: + depends_on: + blockscout-db-init: + condition: service_completed_successfully + image: postgres:14 + user: 2000:2000 + restart: always + container_name: 'blockscout-db' + command: postgres -c 'max_connections=300' + environment: + POSTGRES_DB: 'blockscout' + POSTGRES_USER: 'blockscout' + POSTGRES_PASSWORD: 'ceWb1MeLBEeOIfk65gU8EjF8' + ports: + - 7432:5432 + volumes: + - ./blockscout-db-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U blockscout -d blockscout"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 10s diff --git a/suave/devenv/docker-compose.yml b/suave/devenv/docker-compose.yml index 233d686064..be7dccfbac 100644 --- a/suave/devenv/docker-compose.yml +++ b/suave/devenv/docker-compose.yml @@ -34,3 +34,64 @@ services: - --ws ports: - 8555:8545 + + blockscout-db-init: + extends: + file: ./blockscout/services/docker-compose-db.yml + service: blockscout-db-init + + blockscout-db: + extends: + file: ./blockscout/services/docker-compose-db.yml + service: blockscout-db + + blockscout-all-in-one: + image: blockscout/blockscout-suave-all-in-one:latest + pull_policy: always + container_name: blockscout-all-in-one + environment: + MICROSERVICE_SC_VERIFIER_ENABLED: true + MICROSERVICE_SC_VERIFIER_URL: https://eth-bytecode-db.services.blockscout.com/ + MICROSERVICE_VISUALIZE_SOL2UML_ENABLED: true + MICROSERVICE_VISUALIZE_SOL2UML_URL: https://visualizer.services.blockscout.com/ + API_V2_ENABLED: true + INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: true + INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER: true + DATABASE_URL: postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@blockscout-db:5432/blockscout + ETHEREUM_JSONRPC_HTTP_URL: http://host.docker.internal:8545 + ETHEREUM_JSONRPC_TRACE_URL: http://host.docker.internal:8545 + CHAIN_TYPE: suave + ECTO_USE_SSL: false + POOL_SIZE: 30 + DISABLE_EXCHANGE_RATES: true + CHAIN_ID: 5 + SUAVE_BID_CONTRACTS: 0x8f21fdd6b4f4cacd33151777a46c122797c8bf17 + NEXT_PUBLIC_APP_HOST: localhost + NEXT_PUBLIC_NETWORK_NAME: SUAVE + NEXT_PUBLIC_NETWORK_SHORT_NAME: SUAVE + NEXT_PUBLIC_NETWORK_ID: 5 + NEXT_PUBLIC_API_HOST: localhost + NEXT_PUBLIC_API_PORT: 4000 + NEXT_PUBLIC_API_PROTOCOL: http + NEXT_PUBLIC_VISUALIZE_API_HOST: https://visualizer.services.blockscout.com/ + NEXT_PUBLIC_IS_TESTNET: true + NEXT_PUBLIC_IS_SUAVE_CHAIN: true + NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: ws + NEXT_PUBLIC_API_SPEC_URL: https://raw.githubusercontent.com/blockscout/blockscout-api-v2-swagger/main/swagger.yaml + NEXT_PUBLIC_NETWORK_CURRENCY_NAME: Ether + NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: ETH + NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: 18 + NEXT_PUBLIC_API_BASE_PATH: / + NEXT_PUBLIC_APP_PROTOCOL: http + NEXT_PUBLIC_HOMEPAGE_CHARTS: "['daily_txs']" + NEXT_PUBLIC_NETWORK_LOGO: https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/suave-light.png + NEXT_PUBLIC_NETWORK_LOGO_DARK: https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/suave-light.png + NEXT_PUBLIC_NETWORK_ICON: https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/suave-short.png + NEXT_PUBLIC_NETWORK_ICON_DARK: https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/suave-short.png + NEXT_PUBLIC_HOMEPAGE_PLATE_BACKGROUND: rgba(46, 46, 46, 1) + NEXT_PUBLIC_HOMEPAGE_PLATE_TEXT_COLOR: rgba(48, 210, 248, 1) + NEXT_PUBLIC_OG_IMAGE_URL: https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/og-images/suave-testnet.png + + ports: + - 4000:4000 + - 3000:3000 From 3e05e92c2f90d65228fd3aa9994c80caf52e9e3f Mon Sep 17 00:00:00 2001 From: Viktor Baranov Date: Mon, 16 Oct 2023 16:53:10 +0300 Subject: [PATCH 2/9] Add double quotes for envs in docker-compose --- suave/devenv/docker-compose.yml | 80 ++++++++++++++++----------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/suave/devenv/docker-compose.yml b/suave/devenv/docker-compose.yml index be7dccfbac..c0cb50c690 100644 --- a/suave/devenv/docker-compose.yml +++ b/suave/devenv/docker-compose.yml @@ -50,47 +50,47 @@ services: pull_policy: always container_name: blockscout-all-in-one environment: - MICROSERVICE_SC_VERIFIER_ENABLED: true - MICROSERVICE_SC_VERIFIER_URL: https://eth-bytecode-db.services.blockscout.com/ - MICROSERVICE_VISUALIZE_SOL2UML_ENABLED: true - MICROSERVICE_VISUALIZE_SOL2UML_URL: https://visualizer.services.blockscout.com/ - API_V2_ENABLED: true - INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: true - INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER: true - DATABASE_URL: postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@blockscout-db:5432/blockscout - ETHEREUM_JSONRPC_HTTP_URL: http://host.docker.internal:8545 - ETHEREUM_JSONRPC_TRACE_URL: http://host.docker.internal:8545 - CHAIN_TYPE: suave - ECTO_USE_SSL: false - POOL_SIZE: 30 - DISABLE_EXCHANGE_RATES: true - CHAIN_ID: 5 - SUAVE_BID_CONTRACTS: 0x8f21fdd6b4f4cacd33151777a46c122797c8bf17 - NEXT_PUBLIC_APP_HOST: localhost - NEXT_PUBLIC_NETWORK_NAME: SUAVE - NEXT_PUBLIC_NETWORK_SHORT_NAME: SUAVE - NEXT_PUBLIC_NETWORK_ID: 5 - NEXT_PUBLIC_API_HOST: localhost - NEXT_PUBLIC_API_PORT: 4000 - NEXT_PUBLIC_API_PROTOCOL: http - NEXT_PUBLIC_VISUALIZE_API_HOST: https://visualizer.services.blockscout.com/ - NEXT_PUBLIC_IS_TESTNET: true - NEXT_PUBLIC_IS_SUAVE_CHAIN: true - NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: ws - NEXT_PUBLIC_API_SPEC_URL: https://raw.githubusercontent.com/blockscout/blockscout-api-v2-swagger/main/swagger.yaml - NEXT_PUBLIC_NETWORK_CURRENCY_NAME: Ether - NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: ETH - NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: 18 - NEXT_PUBLIC_API_BASE_PATH: / - NEXT_PUBLIC_APP_PROTOCOL: http + MICROSERVICE_SC_VERIFIER_ENABLED: "true" + MICROSERVICE_SC_VERIFIER_URL: "https://eth-bytecode-db.services.blockscout.com/" + MICROSERVICE_VISUALIZE_SOL2UML_ENABLED: "true" + MICROSERVICE_VISUALIZE_SOL2UML_URL: "https://visualizer.services.blockscout.com/" + API_V2_ENABLED: "true" + INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: "true" + INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER: "true" + DATABASE_URL: "postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@blockscout-db:5432/blockscout" + ETHEREUM_JSONRPC_HTTP_URL: "http://host.docker.internal:8545" + ETHEREUM_JSONRPC_TRACE_URL: "http://host.docker.internal:8545" + CHAIN_TYPE: "suave" + ECTO_USE_SSL: "false" + POOL_SIZE: "30" + DISABLE_EXCHANGE_RATES: "true" + CHAIN_ID: "5" + SUAVE_BID_CONTRACTS: "0x8f21fdd6b4f4cacd33151777a46c122797c8bf17" + NEXT_PUBLIC_APP_HOST: "localhost" + NEXT_PUBLIC_NETWORK_NAME: "SUAVE" + NEXT_PUBLIC_NETWORK_SHORT_NAME: "SUAVE" + NEXT_PUBLIC_NETWORK_ID: "5" + NEXT_PUBLIC_API_HOST: "localhost" + NEXT_PUBLIC_API_PORT: "4000" + NEXT_PUBLIC_API_PROTOCOL: "http" + NEXT_PUBLIC_VISUALIZE_API_HOST: "https://visualizer.services.blockscout.com/" + NEXT_PUBLIC_IS_TESTNET: "true" + NEXT_PUBLIC_IS_SUAVE_CHAIN: "true" + NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: "ws" + NEXT_PUBLIC_API_SPEC_URL: "https://raw.githubusercontent.com/blockscout/blockscout-api-v2-swagger/main/swagger.yaml" + NEXT_PUBLIC_NETWORK_CURRENCY_NAME: "Ether" + NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: "ETH" + NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18" + NEXT_PUBLIC_API_BASE_PATH: "/" + NEXT_PUBLIC_APP_PROTOCOL: "http" NEXT_PUBLIC_HOMEPAGE_CHARTS: "['daily_txs']" - NEXT_PUBLIC_NETWORK_LOGO: https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/suave-light.png - NEXT_PUBLIC_NETWORK_LOGO_DARK: https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/suave-light.png - NEXT_PUBLIC_NETWORK_ICON: https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/suave-short.png - NEXT_PUBLIC_NETWORK_ICON_DARK: https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/suave-short.png - NEXT_PUBLIC_HOMEPAGE_PLATE_BACKGROUND: rgba(46, 46, 46, 1) - NEXT_PUBLIC_HOMEPAGE_PLATE_TEXT_COLOR: rgba(48, 210, 248, 1) - NEXT_PUBLIC_OG_IMAGE_URL: https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/og-images/suave-testnet.png + NEXT_PUBLIC_NETWORK_LOGO: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/suave-light.png" + NEXT_PUBLIC_NETWORK_LOGO_DARK: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/suave-light.png" + NEXT_PUBLIC_NETWORK_ICON: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/suave-short.png" + NEXT_PUBLIC_NETWORK_ICON_DARK: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/suave-short.png" + NEXT_PUBLIC_HOMEPAGE_PLATE_BACKGROUND: "rgba(46, 46, 46, 1)" + NEXT_PUBLIC_HOMEPAGE_PLATE_TEXT_COLOR: "rgba(48, 210, 248, 1)" + NEXT_PUBLIC_OG_IMAGE_URL: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/og-images/suave-testnet.png" ports: - 4000:4000 From c4c94c98d8302b5a6e0dc2e4a74e99f9af252315 Mon Sep 17 00:00:00 2001 From: Viktor Baranov Date: Mon, 16 Oct 2023 17:08:44 +0300 Subject: [PATCH 3/9] Change explorer port to 8080, remove ads --- suave/devenv/docker-compose.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/suave/devenv/docker-compose.yml b/suave/devenv/docker-compose.yml index c0cb50c690..061c55a434 100644 --- a/suave/devenv/docker-compose.yml +++ b/suave/devenv/docker-compose.yml @@ -91,7 +91,9 @@ services: NEXT_PUBLIC_HOMEPAGE_PLATE_BACKGROUND: "rgba(46, 46, 46, 1)" NEXT_PUBLIC_HOMEPAGE_PLATE_TEXT_COLOR: "rgba(48, 210, 248, 1)" NEXT_PUBLIC_OG_IMAGE_URL: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/og-images/suave-testnet.png" + NEXT_PUBLIC_AD_BANNER_PROVIDER: "none" + NEXT_PUBLIC_AD_TEXT_PROVIDER: "none" ports: - 4000:4000 - - 3000:3000 + - 8080:3000 From 167099676ce0cd526756fbdfc7605fc5f9fc6f04 Mon Sep 17 00:00:00 2001 From: Viktor Baranov Date: Thu, 19 Oct 2023 18:06:55 +0300 Subject: [PATCH 4/9] Connect Blockscout to node websocket endpoint --- suave/devenv/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/suave/devenv/docker-compose.yml b/suave/devenv/docker-compose.yml index 061c55a434..8164dbea73 100644 --- a/suave/devenv/docker-compose.yml +++ b/suave/devenv/docker-compose.yml @@ -60,6 +60,7 @@ services: DATABASE_URL: "postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@blockscout-db:5432/blockscout" ETHEREUM_JSONRPC_HTTP_URL: "http://host.docker.internal:8545" ETHEREUM_JSONRPC_TRACE_URL: "http://host.docker.internal:8545" + ETHEREUM_JSONRPC_WS_URL: "ws://host.docker.internal:8546" CHAIN_TYPE: "suave" ECTO_USE_SSL: "false" POOL_SIZE: "30" From 1c9425becff9a4c56f5f1ebb0e860b0eaec69cf1 Mon Sep 17 00:00:00 2001 From: Viktor Baranov Date: Fri, 20 Oct 2023 13:17:37 +0300 Subject: [PATCH 5/9] Set explicit docker image tag for al-in-one container --- suave/devenv/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/suave/devenv/docker-compose.yml b/suave/devenv/docker-compose.yml index 8164dbea73..e685d5b5f9 100644 --- a/suave/devenv/docker-compose.yml +++ b/suave/devenv/docker-compose.yml @@ -46,7 +46,7 @@ services: service: blockscout-db blockscout-all-in-one: - image: blockscout/blockscout-suave-all-in-one:latest + image: blockscout/blockscout-suave-all-in-one:v1.0 pull_policy: always container_name: blockscout-all-in-one environment: From 2021e403c2cc7b7e3e86dbef1949fb94ce2e8816 Mon Sep 17 00:00:00 2001 From: Viktor Baranov Date: Fri, 27 Oct 2023 10:21:09 +0300 Subject: [PATCH 6/9] Update Blcoskcout all-in-one Docker image --- suave/devenv/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/suave/devenv/docker-compose.yml b/suave/devenv/docker-compose.yml index e685d5b5f9..865965dbed 100644 --- a/suave/devenv/docker-compose.yml +++ b/suave/devenv/docker-compose.yml @@ -46,7 +46,7 @@ services: service: blockscout-db blockscout-all-in-one: - image: blockscout/blockscout-suave-all-in-one:v1.0 + image: blockscout/blockscout-suave-all-in-one:v2.0 pull_policy: always container_name: blockscout-all-in-one environment: From 8d3b2b9cac811fc23095c7e77160d33786e8447f Mon Sep 17 00:00:00 2001 From: Viktor Baranov Date: Mon, 30 Oct 2023 14:55:52 +0300 Subject: [PATCH 7/9] Use named volume instead of path --- Makefile | 2 +- suave/devenv/blockscout/services/docker-compose-db.yml | 4 ++-- suave/devenv/docker-compose.yml | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 6ca8096dd7..d6af90694a 100644 --- a/Makefile +++ b/Makefile @@ -51,4 +51,4 @@ devnet-up: docker-compose -f ./suave/devenv/docker-compose.yml up -d --build devnet-down: - docker-compose -f ./suave/devenv/docker-compose.yml down + docker-compose -f ./suave/devenv/docker-compose.yml down -v diff --git a/suave/devenv/blockscout/services/docker-compose-db.yml b/suave/devenv/blockscout/services/docker-compose-db.yml index 515d7d224f..0d76ae39c6 100644 --- a/suave/devenv/blockscout/services/docker-compose-db.yml +++ b/suave/devenv/blockscout/services/docker-compose-db.yml @@ -4,7 +4,7 @@ services: blockscout-db-init: image: postgres:14 volumes: - - ./blockscout-db-data:/var/lib/postgresql/data + - blockscout_db_data:/var/lib/postgresql/data entrypoint: - sh - -c @@ -27,7 +27,7 @@ services: ports: - 7432:5432 volumes: - - ./blockscout-db-data:/var/lib/postgresql/data + - blockscout_db_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U blockscout -d blockscout"] interval: 10s diff --git a/suave/devenv/docker-compose.yml b/suave/devenv/docker-compose.yml index 865965dbed..2a06ebf1dc 100644 --- a/suave/devenv/docker-compose.yml +++ b/suave/devenv/docker-compose.yml @@ -98,3 +98,6 @@ services: ports: - 4000:4000 - 8080:3000 + +volumes: + blockscout_db_data: From 3ba2c06b123f3f91618a45c14244696b23561a59 Mon Sep 17 00:00:00 2001 From: Viktor Baranov Date: Mon, 30 Oct 2023 15:07:59 +0300 Subject: [PATCH 8/9] Update .gitignore --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index e4923a42b7..f4db106b56 100644 --- a/.gitignore +++ b/.gitignore @@ -47,7 +47,5 @@ profile.cov /dashboard/assets/bundle.js.map /dashboard/assets/package-lock.json -/suave/devenv/blockscout/services/blockscout-db-data - **/yarn-error.log logs/ \ No newline at end of file From 56926454e2e37a165e1b3688cfe746dd66acdaa2 Mon Sep 17 00:00:00 2001 From: Viktor Baranov Date: Mon, 30 Oct 2023 18:55:32 +0300 Subject: [PATCH 9/9] Use container name instead host.docker.internal for the node endpoint --- suave/devenv/docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/suave/devenv/docker-compose.yml b/suave/devenv/docker-compose.yml index 2a06ebf1dc..6bd57d8ad1 100644 --- a/suave/devenv/docker-compose.yml +++ b/suave/devenv/docker-compose.yml @@ -58,9 +58,9 @@ services: INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: "true" INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER: "true" DATABASE_URL: "postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@blockscout-db:5432/blockscout" - ETHEREUM_JSONRPC_HTTP_URL: "http://host.docker.internal:8545" - ETHEREUM_JSONRPC_TRACE_URL: "http://host.docker.internal:8545" - ETHEREUM_JSONRPC_WS_URL: "ws://host.docker.internal:8546" + ETHEREUM_JSONRPC_HTTP_URL: "http://suave-mevm:8545" + ETHEREUM_JSONRPC_TRACE_URL: "http://suave-mevm:8545" + ETHEREUM_JSONRPC_WS_URL: "ws://suave-mevm:8546" CHAIN_TYPE: "suave" ECTO_USE_SSL: "false" POOL_SIZE: "30"