Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 22 additions & 17 deletions docker-compose/envs/common-blockscout.env
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ETHEREUM_JSONRPC_VARIANT=geth
ETHEREUM_JSONRPC_HTTP_URL=http://host.docker.internal:8545/
DATABASE_URL=postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@db:5432/blockscout
# ETHEREUM_JSONRPC_HTTP_URL=http://host.docker.internal:3050/
DATABASE_URL=postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@db:7432/blockscout

# DATABASE_EVENT_URL=
# DATABASE_QUEUE_TARGET
Expand All @@ -9,12 +9,11 @@ DATABASE_URL=postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@db:5432/blockscout

ETHEREUM_JSONRPC_TRANSPORT=http
ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES=false
# ETHEREUM_JSONRPC_FALLBACK_HTTP_URL=
ETHEREUM_JSONRPC_TRACE_URL=http://host.docker.internal:8545/
# ETHEREUM_JSONRPC_TRACE_URL=http://host.docker.internal:3050/
# ETHEREUM_JSONRPC_FALLBACK_TRACE_URL=
# ETHEREUM_JSONRPC_ETH_CALL_URL=
# ETHEREUM_JSONRPC_FALLBACK_ETH_CALL_URL=
# ETHEREUM_JSONRPC_WS_URL=
# ETHEREUM_JSONRPC_WS_URL=ws://host.docker.internal:3051/
# ETHEREUM_JSONRPC_FALLBACK_WS_URL=
# ETHEREUM_JSONRPC_WS_RETRY_INTERVAL=
# ETHEREUM_JSONRPC_ARCHIVE_BALANCES_WINDOW=200
Expand All @@ -31,9 +30,9 @@ ETHEREUM_JSONRPC_TRACE_URL=http://host.docker.internal:8545/
# ETHEREUM_JSONRPC_FALLBACK_TRACE_URLS=
# ETHEREUM_JSONRPC_ETH_CALL_URLS=
# ETHEREUM_JSONRPC_FALLBACK_ETH_CALL_URLS=
# CHAIN_TYPE=
CHAIN_TYPE=via
# IPC_PATH=
# BLOCKSCOUT_HOST=
BLOCKSCOUT_HOST=localhost
# BLOCKSCOUT_PROTOCOL=
SECRET_KEY_BASE=56NtB48ear7+wMSf0IQuWDAAazhpb31qyc7GiyspBP2vh7t5zlCsF5QDv76chXeN
# CHECK_ORIGIN=
Expand Down Expand Up @@ -173,12 +172,12 @@ API_V1_WRITE_METHODS_DISABLED=false
# INDEXER_DISABLE_TOKEN_INSTANCE_SANITIZE_FETCHER=false
# INDEXER_DISABLE_TOKEN_INSTANCE_REFETCH_FETCHER=false
# INDEXER_PENDING_TRANSACTIONS_SANITIZER_INTERVAL=
# INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=false
# INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER=false
# INDEXER_DISABLE_CATALOGED_TOKEN_UPDATER_FETCHER=
# INDEXER_DISABLE_BLOCK_REWARD_FETCHER=
INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=true
INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER=true
INDEXER_DISABLE_CATALOGED_TOKEN_UPDATER_FETCHER=true
INDEXER_DISABLE_BLOCK_REWARD_FETCHER=true
# INDEXER_DISABLE_EMPTY_BLOCKS_SANITIZER=
# INDEXER_DISABLE_WITHDRAWALS_FETCHER=
INDEXER_DISABLE_WITHDRAWALS_FETCHER=true
# INDEXER_DISABLE_REPLACED_TRANSACTION_FETCHER=
# INDEXER_CATCHUP_BLOCKS_BATCH_SIZE=
# INDEXER_CATCHUP_BLOCKS_CONCURRENCY=
Expand Down Expand Up @@ -248,6 +247,12 @@ API_V1_WRITE_METHODS_DISABLED=false
# INDEXER_ZKSYNC_NEW_BATCHES_RECHECK_INTERVAL=
# INDEXER_ZKSYNC_L1_RPC=
# INDEXER_ZKSYNC_BATCHES_STATUS_RECHECK_INTERVAL=
# INDEXER_VIA_BATCHES_ENABLED=true
# INDEXER_VIA_BATCHES_CHUNK_SIZE=1
# INDEXER_VIA_NEW_BATCHES_MAX_RANGE=1
# INDEXER_VIA_NEW_BATCHES_RECHECK_INTERVAL=10000
# INDEXER_VIA_L1_RPC=
# INDEXER_VIA_BATCHES_STATUS_RECHECK_INTERVAL=
# INDEXER_ARBITRUM_ARBSYS_CONTRACT=
# INDEXER_ARBITRUM_NODE_INTERFACE_CONTRACT=
# INDEXER_ARBITRUM_L1_RPC=
Expand Down Expand Up @@ -375,7 +380,7 @@ COIN_BALANCE_HISTORY_DAYS=90
# ADDRESSES_BLACKLIST_UPDATE_INTERVAL=
# ADDRESSES_BLACKLIST_RETRY_INTERVAL=
# ADDRESSES_BLACKLIST_PROVIDER=
# CHAIN_ID=
CHAIN_ID=25223
# HIDE_SCAM_ADDRESSES=
# RE_CAPTCHA_SECRET_KEY=
# RE_CAPTCHA_V3_SECRET_KEY=
Expand All @@ -388,10 +393,10 @@ RE_CAPTCHA_DISABLED=false
# API_RATE_LIMIT_IS_BLOCKSCOUT_BEHIND_PROXY=false
# API_RATE_LIMIT_UI_V2_TOKEN_TTL_IN_SECONDS=18000
# FETCH_REWARDS_WAY=trace_block
# MICROSERVICE_SC_VERIFIER_ENABLED=true
# MICROSERVICE_SC_VERIFIER_URL=http://smart-contract-verifier:8050/
# MICROSERVICE_SC_VERIFIER_TYPE=sc_verifier
MICROSERVICE_SC_VERIFIER_TYPE=eth_bytecode_db
MICROSERVICE_SC_VERIFIER_ENABLED=true
MICROSERVICE_SC_VERIFIER_URL=http://sc-verifier:8050/
MICROSERVICE_SC_VERIFIER_TYPE=sc_verifier
# MICROSERVICE_SC_VERIFIER_TYPE=eth_bytecode_db
# MICROSERVICE_ETH_BYTECODE_DB_INTERVAL_BETWEEN_LOOKUPS=10m
# MICROSERVICE_ETH_BYTECODE_DB_MAX_LOOKUPS_CONCURRENCY=10
MICROSERVICE_VISUALIZE_SOL2UML_ENABLED=true
Expand Down
22 changes: 16 additions & 6 deletions docker-compose/envs/common-frontend.env
Original file line number Diff line number Diff line change
@@ -1,19 +1,29 @@
NEXT_PUBLIC_API_HOST=localhost
NEXT_PUBLIC_API_PROTOCOL=http
NEXT_PUBLIC_STATS_API_HOST=http://localhost:8080
NEXT_PUBLIC_NETWORK_NAME=Awesome chain
NEXT_PUBLIC_NETWORK_SHORT_NAME=Awesome chain
NEXT_PUBLIC_NETWORK_ID=5
NEXT_PUBLIC_NETWORK_CURRENCY_NAME=Ether
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL=ETH
NEXT_PUBLIC_NETWORK_NAME=VIA Alpha Testnet
NEXT_PUBLIC_NETWORK_SHORT_NAME=VIA
NEXT_PUBLIC_NETWORK_ID=25223
NEXT_PUBLIC_NETWORK_CURRENCY_NAME=Bitcoin
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL=BTC
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS=18
NEXT_PUBLIC_API_BASE_PATH=/
NEXT_PUBLIC_APP_HOST=localhost
NEXT_PUBLIC_APP_PROTOCOL=http
NEXT_PUBLIC_HOMEPAGE_CHARTS=['daily_txs']
NEXT_PUBLIC_HOMEPAGE_CHARTS=[]
NEXT_PUBLIC_VISUALIZE_API_HOST=http://localhost:8081
NEXT_PUBLIC_NETWORK_CURRENCY_WEI_NAME=satoshi
NEXT_PUBLIC_IS_TESTNET=true
NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL=ws
NEXT_PUBLIC_GAS_TRACKER_UNITS=['usd']
NEXT_PUBLIC_API_SPEC_URL=https://raw.githubusercontent.com/blockscout/blockscout-api-v2-swagger/main/swagger.yaml
# Required to enable blockchain interaction
# NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=
NEXT_PUBLIC_NETWORK_ICON=https://raw.githubusercontent.com/blockscout/frontend-configs/refs/heads/main/configs/network-logos/via-light.svg
NEXT_PUBLIC_NETWORK_ICON_DARK=https://raw.githubusercontent.com/blockscout/frontend-configs/refs/heads/main/configs/network-logos/via-dark.svg
NEXT_PUBLIC_NETWORK_LOGO=https://raw.githubusercontent.com/blockscout/frontend-configs/refs/heads/main/configs/network-logos/via-light.svg
NEXT_PUBLIC_NETWORK_LOGO_DARK=https://raw.githubusercontent.com/blockscout/frontend-configs/refs/heads/main/configs/network-logos/via-dark.svg
# NEXT_PUBLIC_NAVIGATION_HIGHLIGHTED_ROUTES
# NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE=validation
NEXT_PUBLIC_ROLLUP_TYPE=via
NEXT_PUBLIC_ROLLUP_L1_BASE_URL=https://mempool.space/testnet
17 changes: 13 additions & 4 deletions docker-compose/envs/common-smart-contract-verifier.env
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,24 @@ SMART_CONTRACT_VERIFIER__SERVER__HTTP__MAX_BODY_SIZE=2097152
SMART_CONTRACT_VERIFIER__SERVER__GRPC__ENABLED=false
SMART_CONTRACT_VERIFIER__SERVER__GRPC__ADDR=0.0.0.0:8051

SMART_CONTRACT_VERIFIER__SOLIDITY__ENABLED=true
SMART_CONTRACT_VERIFIER__SOLIDITY__ENABLED=false
SMART_CONTRACT_VERIFIER__SOLIDITY__COMPILERS_DIR=/tmp/solidity-compilers
SMART_CONTRACT_VERIFIER__SOLIDITY__REFRESH_VERSIONS_SCHEDULE=0 0 * * * * *

# It depends on the OS you are running the service on
SMART_CONTRACT_VERIFIER__SOLIDITY__FETCHER__LIST__LIST_URL=https://solc-bin.ethereum.org/linux-amd64/list.json
SMART_CONTRACT_VERIFIER__SOLIDITY__FETCHER__LIST__LIST_URL=https://raw.githubusercontent.com/blockscout/solc-bin/refs/heads/main/era-solidity.linux-amd64.list.json
#SMART_CONTRACT_VERIFIER__SOLIDITY__FETCHER__LIST__LIST_URL=https://solc-bin.ethereum.org/macosx-amd64/list.json
#SMART_CONTRACT_VERIFIER__SOLIDITY__FETCHER__LIST__LIST_URL=https://solc-bin.ethereum.org/windows-amd64/list.json

SMART_CONTRACT_VERIFIER__VYPER__ENABLED=true
SMART_CONTRACT_VERIFIER__VYPER__ENABLED=false
SMART_CONTRACT_VERIFIER__VYPER__COMPILERS_DIR=/tmp/vyper-compilers
SMART_CONTRACT_VERIFIER__VYPER__REFRESH_VERSIONS_SCHEDULE=0 0 * * * * *

# It depends on the OS you are running the service on
SMART_CONTRACT_VERIFIER__VYPER__FETCHER__LIST__LIST_URL=https://raw.githubusercontent.com/blockscout/solc-bin/main/vyper.list.json
#SMART_CONTRACT_VERIFIER__VYPER__FETCHER__LIST__LIST_URL=https://raw.githubusercontent.com/blockscout/solc-bin/main/vyper.macos.list.json

SMART_CONTRACT_VERIFIER__SOURCIFY__ENABLED=true
SMART_CONTRACT_VERIFIER__SOURCIFY__ENABLED=false
SMART_CONTRACT_VERIFIER__SOURCIFY__API_URL=https://sourcify.dev/server/
SMART_CONTRACT_VERIFIER__SOURCIFY__VERIFICATION_ATTEMPTS=3
SMART_CONTRACT_VERIFIER__SOURCIFY__REQUEST_TIMEOUT=10
Expand All @@ -37,3 +37,12 @@ SMART_CONTRACT_VERIFIER__METRICS__ROUTE=/metrics

SMART_CONTRACT_VERIFIER__JAEGER__ENABLED=false
SMART_CONTRACT_VERIFIER__JAEGER__AGENT_ENDPOINT=localhost:6831

SMART_CONTRACT_VERIFIER__ZKSYNC_SOLIDITY__ENABLED=true
SMART_CONTRACT_VERIFIER__ZKSYNC_SOLIDITY__EVM_COMPILERS_DIR=/tmp/zksync-evm-compilers
SMART_CONTRACT_VERIFIER__ZKSYNC_SOLIDITY__EVM_REFRESH_VERSIONS_SCHEDULE=0 * * * * *
SMART_CONTRACT_VERIFIER__ZKSYNC_SOLIDITY__EVM_FETCHER__LIST__LIST_URL=https://solc-bin.ethereum.org/linux-amd64/list.json
SMART_CONTRACT_VERIFIER__ZKSYNC_SOLIDITY__ERA_EVM_FETCHER__LIST__LIST_URL=https://raw.githubusercontent.com/blockscout/solc-bin/main/era-solidity.linux-amd64.list.json
SMART_CONTRACT_VERIFIER__ZKSYNC_SOLIDITY__ZK_COMPILERS_DIR=/tmp/zksync-zk-compilers
SMART_CONTRACT_VERIFIER__ZKSYNC_SOLIDITY__ZK_REFRESH_VERSIONS_SCHEDULE=0 * * * * *
SMART_CONTRACT_VERIFIER__ZKSYNC_SOLIDITY__ZK_FETCHER__LIST__LIST_URL=https://raw.githubusercontent.com/blockscout/solc-bin/main/zksolc.linux-amd64.list.json
81 changes: 81 additions & 0 deletions docker-compose/via.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
version: '3.9'

services:
redis-db:
extends:
file: ./services/redis.yml
service: redis-db

db-init:
extends:
file: ./services/db.yml
service: db-init

db:
depends_on:
db-init:
condition: service_completed_successfully
extends:
file: ./services/db.yml
service: db

backend:
depends_on:
- db
- redis-db
extends:
file: ./services/backend.yml
service: backend
build:
context: ..
dockerfile: ./docker/Dockerfile
args:
API_V1_READ_METHODS_DISABLED: "false"
DISABLE_WEBAPP: "false"
API_V1_WRITE_METHODS_DISABLED: "false"
ADMIN_PANEL_ENABLED: ""
RELEASE_VERSION: 8.0.2
CHAIN_TYPE: via
links:
- db:database
environment:
ETHEREUM_JSONRPC_HTTP_URL: https://via.testnet.viablockchain.dev
ETHEREUM_JSONRPC_TRACE_URL: https://via.testnet.viablockchain.dev
DATABASE_URL: postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@db:5432/blockscout
INDEXER_DISABLE_UNCLES_FETCHER: true
INDEXER_CATCHUP_BLOCKS_BATCH_SIZE: 10
INDEXER_CATCHUP_BLOCKS_CONCURRENCY: 1
INDEXER_BLOCK_INTERVAL: 5s
INDEXER_BLOCKS_CONCURRENCY: 1
INDEXER_EMPTY_BLOCKS_SANITIZER_BATCH_SIZE: 10
INDEXER_EMPTY_BLOCKS_SANITIZER_INTERVAL: 120s
INDEXER_VIA_BATCHES_ENABLED: true
INDEXER_DEBUG_LOG: true

frontend:
depends_on:
- backend
image: via:latest
restart: always
container_name: 'frontend'
env_file:
- ./envs/common-frontend.env
environment:
NEXT_PUBLIC_STATS_API_HOST:

proxy:
depends_on:
- backend
- frontend
extends:
file: ./services/nginx-explorer.yml
service: proxy
volumes:
- "./proxy/explorer.conf.template:/etc/nginx/templates/default.conf.template"

sc-verifier:
extends:
file: ./services/smart-contract-verifier.yml
service: smart-contract-verifier
ports:
- 8082:8050