From 991ef8f687e650c7f6ff90bf5af10ecb3eac674a Mon Sep 17 00:00:00 2001 From: Viktor Baranov Date: Tue, 11 Apr 2023 13:12:18 +0300 Subject: [PATCH] Rename env vars related to integration with microservices: add common MICROSERVICE_ prefix --- .github/workflows/config.yml | 2 +- .github/workflows/e2e-tests.yml | 7 +- .../publish-docker-image-every-push.yml | 9 ++- .../publish-docker-image-release.yml | 9 ++- CHANGELOG.md | 1 + apps/block_scout_web/config/config.exs | 2 +- .../templates/layout/_footer.html.eex | 2 +- .../lib/block_scout_web/views/layout_view.ex | 14 ++-- apps/explorer/config/config.exs | 2 +- config/runtime.exs | 35 +++++----- deploy/testing/eth-goerli/secrets.yaml | 16 ++--- deploy/testing/eth-goerli/values.yaml | 8 +-- .../docker-compose-no-rust-services.yml | 7 +- docker-compose/docker-compose.yml | 2 +- docker-compose/envs/common-blockscout.env | 29 ++++---- docker/Dockerfile | 2 +- docker/Makefile | 66 +++++++++---------- 17 files changed, 120 insertions(+), 93 deletions(-) diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index 4ea8e9834a..52ef78b022 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -622,4 +622,4 @@ jobs: ACCOUNT_ENABLED: "true" ACCOUNT_REDIS_URL: "redis://localhost:6379" API_V2_ENABLED: "true" - ENABLE_SOURCIFY_INTEGRATION: "true" + SOURCIFY_INTEGRATION_ENABLED: "true" diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 09e2826b26..53f19b59b2 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -66,8 +66,13 @@ jobs: DISABLE_READ_API=false DISABLE_WEBAPP=false DISABLE_WRITE_API=false - CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER= + CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED= ADMIN_PANEL_ENABLED=false + DECODE_NOT_A_CONTRACT_CALLS=false + MIXPANEL_URL= + MIXPANEL_TOKEN= + AMPLITUDE_URL= + AMPLITUDE_API_KEY= CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL= BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}-beta.+commit.${{ env.SHORT_SHA }} RELEASE_VERSION=${{ env.RELEASE_VERSION }} diff --git a/.github/workflows/publish-docker-image-every-push.yml b/.github/workflows/publish-docker-image-every-push.yml index 5ece3ab788..1b4586e743 100644 --- a/.github/workflows/publish-docker-image-every-push.yml +++ b/.github/workflows/publish-docker-image-every-push.yml @@ -61,8 +61,13 @@ jobs: DISABLE_READ_API=false DISABLE_WEBAPP=false DISABLE_WRITE_API=false - CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER= + CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED= ADMIN_PANEL_ENABLED=false + DECODE_NOT_A_CONTRACT_CALLS=false + MIXPANEL_URL= + MIXPANEL_TOKEN= + AMPLITUDE_URL= + AMPLITUDE_API_KEY= CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL= BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}-beta.+commit.${{ env.SHORT_SHA }} RELEASE_VERSION=${{ env.RELEASE_VERSION }} @@ -80,7 +85,7 @@ jobs: DISABLE_READ_API=false DISABLE_WEBAPP=false DISABLE_WRITE_API=false - CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER= + CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED= ADMIN_PANEL_ENABLED=false CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL= SESSION_COOKIE_DOMAIN=${{ secrets.FRONTEND_MAIN }} diff --git a/.github/workflows/publish-docker-image-release.yml b/.github/workflows/publish-docker-image-release.yml index dedc22fb7f..bf27bb5520 100644 --- a/.github/workflows/publish-docker-image-release.yml +++ b/.github/workflows/publish-docker-image-release.yml @@ -58,8 +58,13 @@ jobs: DISABLE_READ_API=false DISABLE_WEBAPP=false DISABLE_WRITE_API=false - CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER= - ADMIN_PANEL_ENABLED= + CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED= + ADMIN_PANEL_ENABLED=false + DECODE_NOT_A_CONTRACT_CALLS=false + MIXPANEL_URL= + MIXPANEL_TOKEN= + AMPLITUDE_URL= + AMPLITUDE_API_KEY= CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL= BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}-beta RELEASE_VERSION=${{ env.RELEASE_VERSION }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 3145c4e56b..2e49b49de4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ ### Chore +- [#7254](https://github.com/blockscout/blockscout/pull/7254) - Rename env vars related for the integration with microservices - [#7107](https://github.com/blockscout/blockscout/pull/7107) - Tx actions: remove excess delete_all calls and remake a cache - [#7201](https://github.com/blockscout/blockscout/pull/7201) - Remove rust, cargo from dependencies since the latest version of ex_keccak is using precompiled rust diff --git a/apps/block_scout_web/config/config.exs b/apps/block_scout_web/config/config.exs index 6a48daee3e..2e8911187b 100644 --- a/apps/block_scout_web/config/config.exs +++ b/apps/block_scout_web/config/config.exs @@ -106,7 +106,7 @@ else [ delete_buckets_timeout: 60_000 * 10, expiry_ms: 60_000 * 60 * 4, - redis_url: System.get_env("API_RATE_LIMIT_HAMMER_REDIS_URL") + redis_url: redis_url ]} end diff --git a/apps/block_scout_web/lib/block_scout_web/templates/layout/_footer.html.eex b/apps/block_scout_web/lib/block_scout_web/templates/layout/_footer.html.eex index 4afe708dec..7ab462eae4 100644 --- a/apps/block_scout_web/lib/block_scout_web/templates/layout/_footer.html.eex +++ b/apps/block_scout_web/lib/block_scout_web/templates/layout/_footer.html.eex @@ -39,7 +39,7 @@
  • <%= gettext("Submit an Issue") %>
  • <%= gettext("Contribute") %>
  • <%= gettext("Chat (#blockscout)") %>
  • - <%= if Application.get_env(:block_scout_web, :footer)[:enable_forum_link] do %> + <%= if Application.get_env(:block_scout_web, :footer)[:forum_link_enabled] do %>
  • <%= gettext("Forum") %>
  • <% end %> <%= render BlockScoutWeb.LayoutView, "_add_chain_to_mm.html" %> diff --git a/apps/block_scout_web/lib/block_scout_web/views/layout_view.ex b/apps/block_scout_web/lib/block_scout_web/views/layout_view.ex index 7d4d24cc21..536a012fe2 100644 --- a/apps/block_scout_web/lib/block_scout_web/views/layout_view.ex +++ b/apps/block_scout_web/lib/block_scout_web/views/layout_view.ex @@ -38,7 +38,7 @@ defmodule BlockScoutWeb.LayoutView do end def logo_footer do - Keyword.get(application_config(), :logo_footer) || Keyword.get(application_config(), :logo) + Keyword.get(application_config(), :footer)[:logo] || Keyword.get(application_config(), :logo) end def logo_text do @@ -202,18 +202,22 @@ defmodule BlockScoutWeb.LayoutView do |> Enum.filter(&Map.get(&1, :other?)) end + @spec other_explorers() :: map() def other_explorers do - if Application.get_env(:block_scout_web, :link_to_other_explorers) do - decode_other_explorers_json(Application.get_env(:block_scout_web, :other_explorers, [])) + if Application.get_env(:block_scout_web, :footer)[:link_to_other_explorers] do + decode_other_explorers_json(Application.get_env(:block_scout_web, :footer)[:other_explorers]) else - [] + %{} end end + @spec decode_other_explorers_json(nil | String.t()) :: map() + defp decode_other_explorers_json(nil), do: %{} + defp decode_other_explorers_json(data) do Jason.decode!(~s(#{data})) rescue - _ -> [] + _ -> %{} end def webapp_url(conn) do diff --git a/apps/explorer/config/config.exs b/apps/explorer/config/config.exs index 7d6ee8d67f..d72c78649a 100644 --- a/apps/explorer/config/config.exs +++ b/apps/explorer/config/config.exs @@ -110,7 +110,7 @@ config :explorer, Explorer.Chain.Fetcher.CheckBytecodeMatchingOnDemand, enabled: config :explorer, Explorer.Chain.Fetcher.FetchValidatorInfoOnDemand, enabled: true config :explorer, Explorer.Chain.Cache.GasUsage, - enabled: ConfigHelper.parse_bool_env_var("CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER") + enabled: ConfigHelper.parse_bool_env_var("CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED") config :explorer, Explorer.Integrations.EctoLogger, query_time_ms_threshold: :timer.seconds(2) diff --git a/config/runtime.exs b/config/runtime.exs index 09749f55f8..3fc77d3f9b 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -14,8 +14,6 @@ config :block_scout_web, decompiled_smart_contract_token: System.get_env("DECOMPILED_SMART_CONTRACT_TOKEN"), show_percentage: ConfigHelper.parse_bool_env_var("SHOW_ADDRESS_MARKETCAP_PERCENTAGE", "true"), checksum_address_hashes: ConfigHelper.parse_bool_env_var("CHECKSUM_ADDRESS_HASHES", "true"), - link_to_other_explorers: ConfigHelper.parse_bool_env_var("LINK_TO_OTHER_EXPLORERS"), - other_explorers: System.get_env("OTHER_EXPLORERS"), other_networks: System.get_env("SUPPORTED_CHAINS"), webapp_url: System.get_env("WEBAPP_URL"), api_url: System.get_env("API_URL"), @@ -62,7 +60,6 @@ config :block_scout_web, BlockScoutWeb.Chain, subnetwork: System.get_env("SUBNETWORK"), network_icon: System.get_env("NETWORK_ICON"), logo: System.get_env("LOGO"), - logo_footer: System.get_env("LOGO_FOOTER"), logo_text: System.get_env("LOGO_TEXT"), has_emission_funds: false, show_maintenance_alert: ConfigHelper.parse_bool_env_var("SHOW_MAINTENANCE_ALERT"), @@ -70,10 +67,13 @@ config :block_scout_web, BlockScoutWeb.Chain, testnet_label_text: System.get_env("TESTNET_LABEL_TEXT", "Testnet") config :block_scout_web, :footer, + logo: System.get_env("FOOTER_LOGO"), chat_link: System.get_env("FOOTER_CHAT_LINK", "https://discord.gg/blockscout"), forum_link: System.get_env("FOOTER_FORUM_LINK", "https://forum.poa.network/c/blockscout"), github_link: System.get_env("FOOTER_GITHUB_LINK", "https://github.com/blockscout/blockscout"), - enable_forum_link: ConfigHelper.parse_bool_env_var("FOOTER_ENABLE_FORUM_LINK") + forum_link_enabled: ConfigHelper.parse_bool_env_var("FOOTER_FORUM_LINK_ENABLED"), + link_to_other_explorers: ConfigHelper.parse_bool_env_var("FOOTER_LINK_TO_OTHER_EXPLORERS"), + other_explorers: System.get_env("FOOTER_OTHER_EXPLORERS", "") config :block_scout_web, :contract, verification_max_libraries: ConfigHelper.parse_integer_env_var("CONTRACT_VERIFICATION_MAX_LIBRARIES", 10), @@ -157,12 +157,15 @@ config :ethereum_jsonrpc, EthereumJSONRPC.PendingTransaction, disable_indexer? = ConfigHelper.parse_bool_env_var("DISABLE_INDEXER") disable_webapp? = ConfigHelper.parse_bool_env_var("DISABLE_WEBAPP") +checksum_function = System.get_env("CHECKSUM_FUNCTION") +exchange_rates_coin = System.get_env("EXCHANGE_RATES_COIN") + config :explorer, - coin: System.get_env("COIN") || System.get_env("EXCHANGE_RATES_COIN") || "ETH", - coin_name: System.get_env("COIN_NAME") || System.get_env("EXCHANGE_RATES_COIN") || "ETH", + coin: System.get_env("COIN") || exchange_rates_coin || "ETH", + coin_name: System.get_env("COIN_NAME") || exchange_rates_coin || "ETH", allowed_evm_versions: System.get_env("CONTRACT_VERIFICATION_ALLOWED_EVM_VERSIONS") || - "homestead,tangerineWhistle,spuriousDragon,byzantium,constantinople,petersburg,istanbul,berlin,london,default", + "homestead,tangerineWhistle,spuriousDragon,byzantium,constantinople,petersburg,istanbul,berlin,london,paris,default", include_uncles_in_average_block_time: ConfigHelper.parse_bool_env_var("UNCLES_IN_AVERAGE_BLOCK_TIME"), healthy_blocks_period: ConfigHelper.parse_time_env_var("HEALTHY_BLOCKS_PERIOD", "5m"), realtime_events_sender: @@ -176,7 +179,7 @@ config :explorer, implementation_data_fetching_timeout: :timer.seconds(2), restricted_list: System.get_env("RESTRICTED_LIST"), restricted_list_key: System.get_env("RESTRICTED_LIST_KEY"), - checksum_function: System.get_env("CHECKSUM_FUNCTION") && String.to_atom(System.get_env("CHECKSUM_FUNCTION")), + checksum_function: checksum_function && String.to_atom(checksum_function), elasticity_multiplier: ConfigHelper.parse_integer_env_var("EIP_1559_ELASTICITY_MULTIPLIER", 2) config :explorer, Explorer.Chain.Events.Listener, @@ -263,7 +266,7 @@ config :explorer, Explorer.ExchangeRates.TokenExchangeRates, config :explorer, Explorer.Market.History.Cataloger, enabled: !disable_indexer? config :explorer, Explorer.Chain.Transaction.History.Historian, - enabled: ConfigHelper.parse_bool_env_var("ENABLE_TXS_STATS", "true"), + enabled: ConfigHelper.parse_bool_env_var("TXS_STATS_ENABLED", "true"), init_lag_milliseconds: ConfigHelper.parse_time_env_var("TXS_HISTORIAN_INIT_LAG", "0"), days_to_compile_at_init: ConfigHelper.parse_integer_env_var("TXS_STATS_DAYS_TO_COMPILE_AT_INIT", 40) @@ -315,23 +318,23 @@ config :explorer, Explorer.Chain.Cache.Uncles, config :explorer, Explorer.ThirdPartyIntegrations.Sourcify, server_url: System.get_env("SOURCIFY_SERVER_URL") || "https://sourcify.dev/server", - enabled: ConfigHelper.parse_bool_env_var("ENABLE_SOURCIFY_INTEGRATION"), + enabled: ConfigHelper.parse_bool_env_var("SOURCIFY_INTEGRATION_ENABLED"), chain_id: System.get_env("CHAIN_ID"), repo_url: System.get_env("SOURCIFY_REPO_URL") || "https://repo.sourcify.dev/contracts" config :explorer, Explorer.SmartContract.RustVerifierInterfaceBehaviour, - service_url: System.get_env("RUST_VERIFICATION_SERVICE_URL"), - enabled: ConfigHelper.parse_bool_env_var("ENABLE_RUST_VERIFICATION_SERVICE"), + service_url: System.get_env("MICROSERVICE_SC_VERIFIER_URL"), + enabled: ConfigHelper.parse_bool_env_var("MICROSERVICE_SC_VERIFIER_ENABLED"), # or "eth_bytecode_db" type: System.get_env("MICROSERVICE_SC_VERIFIER_TYPE", "sc_verifier") config :explorer, Explorer.Visualize.Sol2uml, - service_url: System.get_env("VISUALIZE_SOL2UML_SERVICE_URL"), - enabled: ConfigHelper.parse_bool_env_var("VISUALIZE_SOL2UML_ENABLED") + service_url: System.get_env("MICROSERVICE_VISUALIZE_SOL2UML_URL"), + enabled: ConfigHelper.parse_bool_env_var("MICROSERVICE_VISUALIZE_SOL2UML_ENABLED") config :explorer, Explorer.SmartContract.SigProviderInterface, - service_url: System.get_env("SIG_PROVIDER_SERVICE_URL"), - enabled: ConfigHelper.parse_bool_env_var("SIG_PROVIDER_ENABLED") + service_url: System.get_env("MICROSERVICE_SIG_PROVIDER_URL"), + enabled: ConfigHelper.parse_bool_env_var("MICROSERVICE_SIG_PROVIDER_ENABLED") config :explorer, Explorer.ThirdPartyIntegrations.AirTable, table_url: System.get_env("ACCOUNT_PUBLIC_TAGS_AIRTABLE_URL"), diff --git a/deploy/testing/eth-goerli/secrets.yaml b/deploy/testing/eth-goerli/secrets.yaml index 936bcace33..8d046da907 100644 --- a/deploy/testing/eth-goerli/secrets.yaml +++ b/deploy/testing/eth-goerli/secrets.yaml @@ -7,12 +7,12 @@ blockscout: _default: ENC[AES256_GCM,data:Gxei79q5mOdbCQXv7k/9QNpw8lrJJ2C3kQ==,iv:jgAtB+YY0xp7GbbzUkqKLMVhnCBpfOYop5oxgstTCQw=,tag:yY21Yi7Ie7S0f3KHa7pSIw==,type:str] ETHEREUM_JSONRPC_HTTP_URL: _default: ENC[AES256_GCM,data:MLJ3HsljmSFFbeKrW/+3HJoSLxu0tE7izw==,iv:vpK/M+Zdx8U2IVRa+cD3UFPpsQG4CBxfNO72I9JkbyA=,tag:Pelx5iRxmoB2ZiTIj+5FNA==,type:str] - RUST_VERIFICATION_SERVICE_URL: - _default: ENC[AES256_GCM,data:fxi4owbjMeI1e/V7jBky+o8dHwnHMLB7+w==,iv:TO9+moR5aAtE0FTMgIos8LQcEF6mqt95Ir1bk8i/MEU=,tag:op6iu1KBL3vQtfg4YvCgIg==,type:str] - VISUALIZE_SOL2UML_SERVICE_URL: - _default: ENC[AES256_GCM,data:j1zU9iJCdZM3SjQ/Lh5+MiBzzrW17Etb,iv:c8434UBqvjaA8+xugJypJZu2tLl7RglgjaL40b2Vj4M=,tag:23mPeGGJv2YxwjddbeOZ8g==,type:str] - SIG_PROVIDER_SERVICE_URL: - _default: ENC[AES256_GCM,data:aexBswc1rJaClyvigYRkxJ0vcJUjdIXKLWfH,iv:wHAAeTP5riMSpsabDEiYONQPBjAw8QPKBm25r4PHXHI=,tag:/iaKU213pkR9y/mljhVycg==,type:str] + MICROSERVICE_SC_VERIFIER_URL: + _default: ENC[AES256_GCM,data:PcrMP4zuXRjObBj1JI+hDE6fyhMhzseFag==,iv:J6dtGXi7yGxiPqi8Hk6/64BgsaMuU445woZnQUrZLRA=,tag:3Mejc4O3xAhsWruW+ocdbg==,type:str] + MICROSERVICE_VISUALIZE_SOL2UML_URL: + _default: ENC[AES256_GCM,data:MR7hsQ3ut8aPGW7O6L6Ghs8Bielnaqx+,iv:y6cnGKRv41CTWSAi1YbHdTJ3bEIV0PObmfpuz2LUAB8=,tag:iEljIcZVuxd+U/GD1K1CUQ==,type:str] + MICROSERVICE_SIG_PROVIDER_URL: + _default: ENC[AES256_GCM,data:RLmbcciVU8fMGQWUa2GKXjmPFCTdmYHJTrNg,iv:Hu3BiKiiK1mGLEaKeiR5v9kq5doed9UKpQXdiq7J3wY=,tag:O6Ra/oe6EW8BTff0HfLJ6w==,type:str] BLOCKSCOUT_HOST: _default: ENC[AES256_GCM,data:beCEVQcGu7YJ3FHGqYJDD65hMdboDTSpnsrXgwm6cIRihukdvcdVmzsYnjOuGg==,iv:U/ZrjGQmMhnP/oLbSZ7xMJlZNl+5XxI8qjbPJthB7Kk=,tag:r9MKtOT7cT5WDT+dQ/gW8w==,type:str] JSON_RPC: @@ -142,8 +142,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2023-03-02T11:30:14Z" - mac: ENC[AES256_GCM,data:Tu8rO4855r6ag9DBM0dJxy/iBghumdASS3+76rqY22p4YsPNnJTV7SjIpQHWispILjN0r4MaDuD8XScAJXIfcIO4cKDPmu0yNNFPMhfPRKPQfsBUI8imUFhIswOhAIvBZIc6VWyvewVeECd2ZcrLJlJFgmJSQ5lRRZXp+pCvPuU=,iv:oPNwkCcw0+VwOeSuLabEbwBXUynrDwgPkAwee5FKaMA=,tag:nxW9hX37tEhWtIqQv35FMQ==,type:str] + lastmodified: "2023-04-11T10:06:27Z" + mac: ENC[AES256_GCM,data:j8zkQv0+1dkpwCve3blZ9nZ1q9bvnw7uoaVISRDe9iFvv8q00SOvf3Ukb4+xuxGJcAW+FJKNwM++f6ftBubLVpi8hGK78xfulJFMBKhvbziYgRMwceuaX6gcrdBMfkbmo6PmUADD1EcKrmjrNxZozil01fQ0G+D1VHAiAafLifQ=,iv:Y/g6JCilPjUcPpr2CvOSFR8v4STfnvJYjGHCPXpQCcQ=,tag:2LGt74acinC6U0FPtLAhWA==,type:str] pgp: - created_at: "2022-10-10T07:37:16Z" enc: | diff --git a/deploy/testing/eth-goerli/values.yaml b/deploy/testing/eth-goerli/values.yaml index 3d40fca8fc..607bbc1a8a 100644 --- a/deploy/testing/eth-goerli/values.yaml +++ b/deploy/testing/eth-goerli/values.yaml @@ -79,11 +79,11 @@ blockscout: _default: 'true' CHAIN_ID: _default: 5 - ENABLE_RUST_VERIFICATION_SERVICE: + MICROSERVICE_SC_VERIFIER_ENABLED: _default: 'true' - VISUALIZE_SOL2UML_ENABLED: + MICROSERVICE_VISUALIZE_SOL2UML_ENABLED: _default: 'true' - SIG_PROVIDER_ENABLED: + MICROSERVICE_SIG_PROVIDER_ENABLED: _default: 'true' INDEXER_MEMORY_LIMIT: _default: 7 @@ -113,7 +113,7 @@ blockscout: _default: 'true' DISABLE_EXCHANGE_RATES: _default: 'true' - ENABLE_SOURCIFY_INTEGRATION: + SOURCIFY_INTEGRATION_ENABLED: _default: 'true' frontend: diff --git a/docker-compose/docker-compose-no-rust-services.yml b/docker-compose/docker-compose-no-rust-services.yml index e95039b977..5ae18e148e 100644 --- a/docker-compose/docker-compose-no-rust-services.yml +++ b/docker-compose/docker-compose-no-rust-services.yml @@ -25,7 +25,7 @@ services: DISABLE_READ_API: "false" DISABLE_WEBAPP: "false" DISABLE_WRITE_API: "false" - CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER: "" + CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED: "" CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL: "" ADMIN_PANEL_ENABLED: "" RELEASE_VERSION: 5.1.2 @@ -40,8 +40,9 @@ services: env_file: - ./envs/common-blockscout.env environment: - ENABLE_RUST_VERIFICATION_SERVICE: 'false' - VISUALIZE_SOL2UML_ENABLED: 'false' + MICROSERVICE_SC_VERIFIER_ENABLED: 'false' + MICROSERVICE_VISUALIZE_SOL2UML_ENABLED: 'false' + MICROSERVICE_SIG_PROVIDER_ENABLED: 'false' ports: - 4000:4000 volumes: diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 0962fe7667..6681f8dc53 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -26,7 +26,7 @@ services: DISABLE_READ_API: "false" DISABLE_WEBAPP: "false" DISABLE_WRITE_API: "false" - CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER: "" + CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED: "" CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL: "" ADMIN_PANEL_ENABLED: "" RELEASE_VERSION: 5.1.2 diff --git a/docker-compose/envs/common-blockscout.env b/docker-compose/envs/common-blockscout.env index b24d0e8d47..b17c9fd817 100644 --- a/docker-compose/envs/common-blockscout.env +++ b/docker-compose/envs/common-blockscout.env @@ -7,7 +7,6 @@ ETHEREUM_JSONRPC_TRACE_URL=http://host.docker.internal:8545/ NETWORK= SUBNETWORK=Awesome chain LOGO=/images/blockscout_logo.svg -LOGO_FOOTER=/images/blockscout_logo.svg # ETHEREUM_JSONRPC_WS_URL= ETHEREUM_JSONRPC_TRANSPORT=http ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES=false @@ -56,8 +55,12 @@ BLOCK_TRANSFORMER=base # LAST_BLOCK= # TRACE_FIRST_BLOCK= # TRACE_LAST_BLOCK= -LINK_TO_OTHER_EXPLORERS=false -OTHER_EXPLORERS={} +# FOOTER_CHAT_LINK= +# FOOTER_FORUM_LINK= +# FOOTER_GITHUB_LINK= +FOOTER_LOGO=/images/blockscout_logo.svg +FOOTER_LINK_TO_OTHER_EXPLORERS=false +FOOTER_OTHER_EXPLORERS={} SUPPORTED_CHAINS={} CACHE_BLOCK_COUNT_PERIOD=7200 CACHE_TXS_COUNT_PERIOD=7200 @@ -73,7 +76,7 @@ CACHE_ADDRESS_TRANSACTIONS_COUNTER_PERIOD=1800 CACHE_ADDRESS_TOKENS_USD_SUM_PERIOD=3600 CACHE_ADDRESS_TOKEN_TRANSFERS_COUNTER_PERIOD=1800 TOKEN_METADATA_UPDATE_INTERVAL=172800 -CONTRACT_VERIFICATION_ALLOWED_EVM_VERSIONS=homestead,tangerineWhistle,spuriousDragon,byzantium,constantinople,petersburg,istanbul,berlin,london,default +CONTRACT_VERIFICATION_ALLOWED_EVM_VERSIONS=homestead,tangerineWhistle,spuriousDragon,byzantium,constantinople,petersburg,istanbul,berlin,london,paris,default # CONTRACT_VERIFICATION_MAX_LIBRARIES=10 CONTRACT_MAX_STRING_LENGTH_WITHOUT_TRIMMING=2040 # CONTRACT_DISABLE_INTERACTION= @@ -114,7 +117,7 @@ SHOW_ADDRESS_MARKETCAP_PERCENTAGE=true CHECKSUM_ADDRESS_HASHES=true CHECKSUM_FUNCTION=eth DISABLE_EXCHANGE_RATES=true -ENABLE_TXS_STATS=true +TXS_STATS_ENABLED=true SHOW_PRICE_CHART=false SHOW_TXS_CHART=true TXS_HISTORIAN_INIT_LAG=0 @@ -127,7 +130,7 @@ EXTERNAL_APPS=[] # RESTRICTED_LIST_KEY= SHOW_MAINTENANCE_ALERT=false MAINTENANCE_ALERT_MESSAGE= -ENABLE_SOURCIFY_INTEGRATION=false +SOURCIFY_INTEGRATION_ENABLED=false SOURCIFY_SERVER_URL= SOURCIFY_REPO_URL= CHAIN_ID= @@ -153,14 +156,14 @@ API_RATE_LIMIT_BY_IP=3000 # API_RATE_LIMIT_IS_BLOCKSCOUT_BEHIND_PROXY=false API_RATE_LIMIT_UI_V2_TOKEN_TTL_IN_SECONDS=18000 FETCH_REWARDS_WAY=trace_block -ENABLE_RUST_VERIFICATION_SERVICE=true -RUST_VERIFICATION_SERVICE_URL=http://smart-contract-verifier:8050/ -MICROSERVICE_ETH_BYTECODE_DB_INTERVAL_BETWEEN_LOOKUPS=10m +MICROSERVICE_SC_VERIFIER_ENABLED=true +MICROSERVICE_SC_VERIFIER_URL=http://smart-contract-verifier:8050/ MICROSERVICE_SC_VERIFIER_TYPE=sc_verifier -VISUALIZE_SOL2UML_ENABLED=true -VISUALIZE_SOL2UML_SERVICE_URL=http://visualizer:8050/ -SIG_PROVIDER_ENABLED=true -SIG_PROVIDER_SERVICE_URL=http://sig-provider:8050/ +MICROSERVICE_ETH_BYTECODE_DB_INTERVAL_BETWEEN_LOOKUPS=10m +MICROSERVICE_VISUALIZE_SOL2UML_ENABLED=true +MICROSERVICE_VISUALIZE_SOL2UML_URL=http://visualizer:8050/ +MICROSERVICE_SIG_PROVIDER_ENABLED=true +MICROSERVICE_SIG_PROVIDER_URL=http://sig-provider:8050/ DECODE_NOT_A_CONTRACT_CALLS=true # DATABASE_READ_ONLY_API_URL= # ACCOUNT_DATABASE_URL= diff --git a/docker/Dockerfile b/docker/Dockerfile index 9d4fc460b5..1153d60276 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -22,7 +22,7 @@ ARG CACHE_EXCHANGE_RATES_PERIOD ARG DISABLE_READ_API ARG DISABLE_WEBAPP ARG DISABLE_WRITE_API -ARG CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER +ARG CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED ARG ADMIN_PANEL_ENABLED ARG CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL ARG SESSION_COOKIE_DOMAIN diff --git a/docker/Makefile b/docker/Makefile index 10d52ab94e..04535f9ca0 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -36,9 +36,6 @@ endif ifdef LOGO BLOCKSCOUT_CONTAINER_PARAMS += -e 'LOGO=$(LOGO)' endif -ifdef LOGO_FOOTER - BLOCKSCOUT_CONTAINER_PARAMS += -e 'LOGO_FOOTER=$(LOGO_FOOTER)' -endif ifdef ETHEREUM_JSONRPC_VARIANT BLOCKSCOUT_CONTAINER_PARAMS += -e 'ETHEREUM_JSONRPC_VARIANT=$(ETHEREUM_JSONRPC_VARIANT)' endif @@ -141,9 +138,6 @@ endif ifdef CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL BLOCKSCOUT_CONTAINER_PARAMS += -e 'CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=$(CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL)' endif -ifdef LINK_TO_OTHER_EXPLORERS - BLOCKSCOUT_CONTAINER_PARAMS += -e 'LINK_TO_OTHER_EXPLORERS=$(LINK_TO_OTHER_EXPLORERS)' -endif ifdef SUPPORTED_CHAINS BLOCKSCOUT_CONTAINER_PARAMS += -e 'SUPPORTED_CHAINS=$(SUPPORTED_CHAINS)' endif @@ -300,8 +294,8 @@ endif ifdef CACHE_TOTAL_GAS_USAGE_PERIOD BLOCKSCOUT_CONTAINER_PARAMS += -e 'CACHE_TOTAL_GAS_USAGE_PERIOD=$(CACHE_TOTAL_GAS_USAGE_PERIOD)' endif -ifdef CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER - BLOCKSCOUT_CONTAINER_PARAMS += -e 'CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER=$(CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER)' +ifdef CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED + BLOCKSCOUT_CONTAINER_PARAMS += -e 'CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED=$(CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED)' endif ifdef DISABLE_LP_TOKENS_IN_MARKET_CAP BLOCKSCOUT_CONTAINER_PARAMS += -e 'DISABLE_LP_TOKENS_IN_MARKET_CAP=$(DISABLE_LP_TOKENS_IN_MARKET_CAP)' @@ -321,8 +315,8 @@ endif ifdef MAINTENANCE_ALERT_MESSAGE BLOCKSCOUT_CONTAINER_PARAMS += -e 'MAINTENANCE_ALERT_MESSAGE=$(MAINTENANCE_ALERT_MESSAGE)' endif -ifdef ENABLE_SOURCIFY_INTEGRATION - BLOCKSCOUT_CONTAINER_PARAMS += -e 'ENABLE_SOURCIFY_INTEGRATION=$(ENABLE_SOURCIFY_INTEGRATION)' +ifdef SOURCIFY_INTEGRATION_ENABLED + BLOCKSCOUT_CONTAINER_PARAMS += -e 'SOURCIFY_INTEGRATION_ENABLED=$(SOURCIFY_INTEGRATION_ENABLED)' endif ifdef SOURCIFY_SERVER_URL BLOCKSCOUT_CONTAINER_PARAMS += -e 'SOURCIFY_SERVER_URL=$(SOURCIFY_SERVER_URL)' @@ -411,6 +405,9 @@ endif ifdef FETCH_REWARDS_WAY BLOCKSCOUT_CONTAINER_PARAMS += -e 'FETCH_REWARDS_WAY=$(FETCH_REWARDS_WAY)' endif +ifdef FOOTER_LOGO + BLOCKSCOUT_CONTAINER_PARAMS += -e 'FOOTER_LOGO=$(FOOTER_LOGO)' +endif ifdef FOOTER_CHAT_LINK BLOCKSCOUT_CONTAINER_PARAMS += -e 'FOOTER_CHAT_LINK=$(FOOTER_CHAT_LINK)' endif @@ -420,6 +417,12 @@ endif ifdef FOOTER_GITHUB_LINK BLOCKSCOUT_CONTAINER_PARAMS += -e 'FOOTER_GITHUB_LINK=$(FOOTER_GITHUB_LINK)' endif +ifdef FOOTER_LINK_TO_OTHER_EXPLORERS + BLOCKSCOUT_CONTAINER_PARAMS += -e 'FOOTER_LINK_TO_OTHER_EXPLORERS=$(FOOTER_LINK_TO_OTHER_EXPLORERS)' +endif +ifdef FOOTER_OTHER_EXPLORERS + BLOCKSCOUT_CONTAINER_PARAMS += -e 'FOOTER_OTHER_EXPLORERS=$(FOOTER_OTHER_EXPLORERS)' +endif ifdef NETWORK_ICON BLOCKSCOUT_CONTAINER_PARAMS += -e 'NETWORK_ICON=$(NETWORK_ICON)' endif @@ -432,9 +435,6 @@ endif ifdef TESTNET_LABEL_TEXT BLOCKSCOUT_CONTAINER_PARAMS += -e 'TESTNET_LABEL_TEXT=$(TESTNET_LABEL_TEXT)' endif -ifdef OTHER_EXPLORERS - BLOCKSCOUT_CONTAINER_PARAMS += -e 'OTHER_EXPLORERS=$(OTHER_EXPLORERS)' -endif ifdef CUSTOM_CONTRACT_ADDRESSES_DARK_FOREST BLOCKSCOUT_CONTAINER_PARAMS += -e 'CUSTOM_CONTRACT_ADDRESSES_DARK_FOREST=$(CUSTOM_CONTRACT_ADDRESSES_DARK_FOREST)' endif @@ -450,8 +450,8 @@ endif ifdef EXCHANGE_RATES_FETCH_BTC_VALUE BLOCKSCOUT_CONTAINER_PARAMS += -e 'EXCHANGE_RATES_FETCH_BTC_VALUE=$(EXCHANGE_RATES_FETCH_BTC_VALUE)' endif -ifdef ENABLE_TXS_STATS - BLOCKSCOUT_CONTAINER_PARAMS += -e 'ENABLE_TXS_STATS=$(ENABLE_TXS_STATS)' +ifdef TXS_STATS_ENABLED + BLOCKSCOUT_CONTAINER_PARAMS += -e 'TXS_STATS_ENABLED=$(TXS_STATS_ENABLED)' endif ifdef INDEXER_MEMORY_LIMIT BLOCKSCOUT_CONTAINER_PARAMS += -e 'INDEXER_MEMORY_LIMIT=$(INDEXER_MEMORY_LIMIT)' @@ -555,17 +555,29 @@ endif ifdef POOL_SIZE_API BLOCKSCOUT_CONTAINER_PARAMS += -e 'POOL_SIZE_API=$(POOL_SIZE_API)' endif -ifdef ENABLE_RUST_VERIFICATION_SERVICE - BLOCKSCOUT_CONTAINER_PARAMS += -e 'ENABLE_RUST_VERIFICATION_SERVICE=$(ENABLE_RUST_VERIFICATION_SERVICE)' +ifdef MICROSERVICE_SC_VERIFIER_ENABLED + BLOCKSCOUT_CONTAINER_PARAMS += -e 'MICROSERVICE_SC_VERIFIER_ENABLED=$(MICROSERVICE_SC_VERIFIER_ENABLED)' +endif +ifdef MICROSERVICE_SC_VERIFIER_URL + BLOCKSCOUT_CONTAINER_PARAMS += -e 'MICROSERVICE_SC_VERIFIER_URL=$(MICROSERVICE_SC_VERIFIER_URL)' endif -ifdef RUST_VERIFICATION_SERVICE_URL - BLOCKSCOUT_CONTAINER_PARAMS += -e 'RUST_VERIFICATION_SERVICE_URL=$(RUST_VERIFICATION_SERVICE_URL)' +ifdef MICROSERVICE_SC_VERIFIER_TYPE + BLOCKSCOUT_CONTAINER_PARAMS += -e 'MICROSERVICE_SC_VERIFIER_TYPE=$(MICROSERVICE_SC_VERIFIER_TYPE)' endif ifdef MICROSERVICE_ETH_BYTECODE_DB_INTERVAL_BETWEEN_LOOKUPS BLOCKSCOUT_CONTAINER_PARAMS += -e 'MICROSERVICE_ETH_BYTECODE_DB_INTERVAL_BETWEEN_LOOKUPS=$(MICROSERVICE_ETH_BYTECODE_DB_INTERVAL_BETWEEN_LOOKUPS)' endif -ifdef MICROSERVICE_SC_VERIFIER_TYPE - BLOCKSCOUT_CONTAINER_PARAMS += -e 'MICROSERVICE_SC_VERIFIER_TYPE=$(MICROSERVICE_SC_VERIFIER_TYPE)' +ifdef MICROSERVICE_VISUALIZE_SOL2UML_ENABLED + BLOCKSCOUT_CONTAINER_PARAMS += -e 'MICROSERVICE_VISUALIZE_SOL2UML_ENABLED=$(MICROSERVICE_VISUALIZE_SOL2UML_ENABLED)' +endif +ifdef MICROSERVICE_VISUALIZE_SOL2UML_URL + BLOCKSCOUT_CONTAINER_PARAMS += -e 'MICROSERVICE_VISUALIZE_SOL2UML_URL=$(MICROSERVICE_VISUALIZE_SOL2UML_URL)' +endif +ifdef MICROSERVICE_SIG_PROVIDER_ENABLED + BLOCKSCOUT_CONTAINER_PARAMS += -e 'MICROSERVICE_SIG_PROVIDER_ENABLED=$(MICROSERVICE_SIG_PROVIDER_ENABLED)' +endif +ifdef MICROSERVICE_SIG_PROVIDER_URL + BLOCKSCOUT_CONTAINER_PARAMS += -e 'MICROSERVICE_SIG_PROVIDER_URL=$(MICROSERVICE_SIG_PROVIDER_URL)' endif ifdef ACCOUNT_ENABLED BLOCKSCOUT_CONTAINER_PARAMS += -e 'ACCOUNT_ENABLED=$(ACCOUNT_ENABLED)' @@ -615,12 +627,6 @@ endif ifdef ACCOUNT_CLOAK_KEY BLOCKSCOUT_CONTAINER_PARAMS += -e 'ACCOUNT_CLOAK_KEY=$(ACCOUNT_CLOAK_KEY)' endif -ifdef VISUALIZE_SOL2UML_ENABLED - BLOCKSCOUT_CONTAINER_PARAMS += -e 'VISUALIZE_SOL2UML_ENABLED=$(VISUALIZE_SOL2UML_ENABLED)' -endif -ifdef VISUALIZE_SOL2UML_SERVICE_URL - BLOCKSCOUT_CONTAINER_PARAMS += -e 'VISUALIZE_SOL2UML_SERVICE_URL=$(VISUALIZE_SOL2UML_SERVICE_URL)' -endif ifdef MIXPANEL_TOKEN BLOCKSCOUT_CONTAINER_PARAMS += -e 'MIXPANEL_TOKEN=$(MIXPANEL_TOKEN)' endif @@ -633,12 +639,6 @@ endif ifdef AMPLITUDE_URL BLOCKSCOUT_CONTAINER_PARAMS += -e 'AMPLITUDE_URL=$(AMPLITUDE_URL)' endif -ifdef SIG_PROVIDER_ENABLED - BLOCKSCOUT_CONTAINER_PARAMS += -e 'SIG_PROVIDER_ENABLED=$(SIG_PROVIDER_ENABLED)' -endif -ifdef SIG_PROVIDER_SERVICE_URL - BLOCKSCOUT_CONTAINER_PARAMS += -e 'SIG_PROVIDER_SERVICE_URL=$(SIG_PROVIDER_SERVICE_URL)' -endif ifdef DECODE_NOT_A_CONTRACT_CALLS BLOCKSCOUT_CONTAINER_PARAMS += -e 'DECODE_NOT_A_CONTRACT_CALLS=$(DECODE_NOT_A_CONTRACT_CALLS)' endif