Skip to content

Commit 2c3a0eb

Browse files
JOYclaude
andcommitted
feat: Enhance testnet config — enable microservices, user-ops, faucet
- Enable internal/pending tx fetchers - Enable all microservices (verifier, visualizer, sig-provider, user-ops) - Add smart-contract-verifier, visualizer, sig-provider containers - Move frontend config to env_file (common-frontend-testnet.env) - Enable homepage stats, gas refuel (DOS Faucet), user ops indexer - Update stats API host to test-stats.doscan.io Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent a101006 commit 2c3a0eb

2 files changed

Lines changed: 86 additions & 50 deletions

File tree

docker-compose/docker-compose-testnet.yml

Lines changed: 80 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,9 @@ services:
113113
BLOCKSCOUT_PROTOCOL: https
114114
BLOCKSCOUT_VERSION: 9.0.2
115115

116-
# Indexer Settings
117-
INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: "true"
118-
INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER: "true"
116+
# Indexer Settings - Enable internal/pending txs
117+
INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: "false"
118+
INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER: "false"
119119
ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES: "true"
120120

121121
# Features
@@ -125,10 +125,25 @@ services:
125125
SUPPORTED_CHAINS: "[]"
126126
TXS_STATS_DAYS_TO_COMPILE_AT_INIT: 10
127127

128-
# Microservices (disabled for simplicity)
129-
MICROSERVICE_SC_VERIFIER_ENABLED: "false"
130-
MICROSERVICE_VISUALIZE_SOL2UML_ENABLED: "false"
131-
MICROSERVICE_SIG_PROVIDER_ENABLED: "false"
128+
# Admin & API Features
129+
ADMIN_PANEL_ENABLED: "true"
130+
API_GRAPHQL_ENABLED: "true"
131+
132+
# Sourcify Integration
133+
SOURCIFY_INTEGRATION_ENABLED: "true"
134+
SOURCIFY_SERVER_URL: "https://sourcify.dev/server"
135+
SOURCIFY_REPO_URL: "https://repo.sourcify.dev/contracts"
136+
137+
# Microservices - All Enabled
138+
MICROSERVICE_SC_VERIFIER_ENABLED: "true"
139+
MICROSERVICE_SC_VERIFIER_URL: "http://smart-contract-verifier:8050/"
140+
MICROSERVICE_SC_VERIFIER_TYPE: "sc_verifier"
141+
MICROSERVICE_VISUALIZE_SOL2UML_ENABLED: "true"
142+
MICROSERVICE_VISUALIZE_SOL2UML_URL: "http://visualizer:8050/"
143+
MICROSERVICE_SIG_PROVIDER_ENABLED: "true"
144+
MICROSERVICE_SIG_PROVIDER_URL: "http://sig-provider:8050/"
145+
MICROSERVICE_ACCOUNT_ABSTRACTION_ENABLED: "true"
146+
MICROSERVICE_ACCOUNT_ABSTRACTION_URL: "http://user-ops-indexer:8090/"
132147
links:
133148
- db:database
134149
ports:
@@ -140,51 +155,71 @@ services:
140155
frontend:
141156
depends_on:
142157
- backend
143-
image: ghcr.io/blockscout/frontend:v1.37.4
158+
image: ghcr.io/blockscout/frontend:latest
144159
pull_policy: always
145160
platform: linux/amd64
146161
restart: always
147162
container_name: frontend
148-
environment:
149-
# API Configuration
150-
NEXT_PUBLIC_API_HOST: test.doscan.io
151-
NEXT_PUBLIC_API_PROTOCOL: https
152-
NEXT_PUBLIC_API_BASE_PATH: /
153-
NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: wss
154-
NEXT_PUBLIC_API_SPEC_URL: https://raw.githubusercontent.com/blockscout/blockscout-api-v2-swagger/main/swagger.yaml
163+
env_file:
164+
- ./envs/common-frontend-testnet.env
165+
ports:
166+
- "3000:3000"
155167

156-
# App Configuration
157-
NEXT_PUBLIC_APP_HOST: test.doscan.io
158-
NEXT_PUBLIC_APP_PROTOCOL: https
168+
# ==========================================================================
169+
# Microservices
170+
# ==========================================================================
171+
smart-contract-verifier:
172+
image: ghcr.io/blockscout/smart-contract-verifier:latest
173+
pull_policy: always
174+
platform: linux/amd64
175+
restart: always
176+
container_name: smart-contract-verifier
177+
env_file:
178+
- ./envs/common-smart-contract-verifier.env
179+
ports:
180+
- "8043:8050"
159181

160-
# Network Info
161-
NEXT_PUBLIC_NETWORK_NAME: DOS Chain Testnet
162-
NEXT_PUBLIC_NETWORK_SHORT_NAME: DOS
163-
NEXT_PUBLIC_NETWORK_ID: 3939
164-
NEXT_PUBLIC_NETWORK_RPC_URL: https://test.doschain.com
165-
NEXT_PUBLIC_NETWORK_CURRENCY_NAME: DOS
166-
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: DOS
167-
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: 18
168-
NEXT_PUBLIC_IS_TESTNET: "true"
169-
170-
# UI Configuration
171-
NEXT_PUBLIC_HOMEPAGE_CHARTS: "['daily_txs']"
172-
NEXT_PUBLIC_HOMEPAGE_PLATE_BACKGROUND: "linear-gradient(90deg, rgb(232, 52, 53) 0%, rgb(139, 28, 232) 100%)"
173-
174-
# Branding
175-
NEXT_PUBLIC_NETWORK_LOGO: https://raw.githubusercontent.com/DOSLabs/DOScan-Frontend-Configs/main/configs/network-logos/dos.svg
176-
NEXT_PUBLIC_NETWORK_LOGO_DARK: https://raw.githubusercontent.com/DOSLabs/DOScan-Frontend-Configs/main/configs/network-logos/dos-dark.svg
177-
NEXT_PUBLIC_NETWORK_ICON: https://raw.githubusercontent.com/DOSLabs/DOScan-Frontend-Configs/main/configs/network-icons/dos.svg
178-
FAVICON_MASTER_URL: https://raw.githubusercontent.com/DOSLabs/DOScan-Frontend-Configs/main/configs/network-icons/dos.svg
179-
180-
# Disable Blockscout branding
181-
NEXT_PUBLIC_PROMOTE_BLOCKSCOUT_IN_TITLE: "false"
182-
183-
# Disable services not needed
184-
NEXT_PUBLIC_VISUALIZE_API_HOST: ""
185-
NEXT_PUBLIC_STATS_API_HOST: ""
182+
visualizer:
183+
image: ghcr.io/blockscout/visualizer:latest
184+
pull_policy: always
185+
platform: linux/amd64
186+
restart: always
187+
container_name: visualizer
188+
env_file:
189+
- ./envs/common-visualizer.env
186190
ports:
187-
- "3000:3000"
191+
- "8044:8050"
192+
193+
sig-provider:
194+
image: ghcr.io/blockscout/sig-provider:latest
195+
pull_policy: always
196+
platform: linux/amd64
197+
restart: always
198+
container_name: sig-provider
199+
ports:
200+
- "8045:8050"
201+
202+
user-ops-indexer:
203+
depends_on:
204+
- db
205+
- avago
206+
image: ghcr.io/blockscout/user-ops-indexer:latest
207+
pull_policy: always
208+
platform: linux/amd64
209+
restart: always
210+
container_name: user-ops-indexer
211+
environment:
212+
USER_OPS_INDEXER__INDEXER__RPC_URL: http://avago:9650/ext/bc/e4PHth8utBAPorg4sFRTaWmDfUWf9X8nAECczGx1BJVmYBv3A/rpc
213+
USER_OPS_INDEXER__INDEXER__ENTRYPOINTS__V08: "true"
214+
USER_OPS_INDEXER__INDEXER__ENTRYPOINTS__V08_ENTRY_POINT: "0x433709009B8330FDa32311DF1C2AFA402eD8D009"
215+
USER_OPS_INDEXER__INDEXER__ENTRYPOINTS__V06: "false"
216+
USER_OPS_INDEXER__INDEXER__ENTRYPOINTS__V07: "false"
217+
USER_OPS_INDEXER__DATABASE__CONNECT__URL: postgresql://postgres:@db:5432/blockscout
218+
USER_OPS_INDEXER__DATABASE__CREATE_DATABASE: "false"
219+
USER_OPS_INDEXER__DATABASE__RUN_MIGRATIONS: "true"
220+
USER_OPS_INDEXER__SERVER__HTTP__ADDR: "0.0.0.0:8090"
221+
ports:
222+
- "8090:8090"
188223

189224
# ==========================================================================
190225
# Caddy - Reverse Proxy with Auto SSL

docker-compose/envs/common-frontend-testnet.env

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ NEXT_PUBLIC_API_SPEC_URL=https://raw.githubusercontent.com/blockscout/blockscout
4949
# UI CONFIGURATION - HOMEPAGE
5050
# =============================================================================
5151
NEXT_PUBLIC_HOMEPAGE_CHARTS=['daily_txs']
52-
# NEXT_PUBLIC_HOMEPAGE_STATS=
52+
NEXT_PUBLIC_HOMEPAGE_STATS=['total_blocks','average_block_time','total_txs','wallet_addresses','gas_tracker']
5353
NEXT_PUBLIC_HOMEPAGE_PLATE_BACKGROUND=linear-gradient(90deg, rgb(232, 52, 53) 0%, rgb(139, 28, 232) 100%)
5454
# NEXT_PUBLIC_HOMEPAGE_PLATE_TEXT_COLOR=
5555
# NEXT_PUBLIC_HOMEPAGE_SHOW_AVG_BLOCK_TIME=true # DEPRECATED - removed in v1.37+
@@ -205,7 +205,7 @@ NEXT_PUBLIC_AD_TEXT_PROVIDER=none
205205
# FEATURE: USER OPERATIONS (ERC-4337)
206206
# =============================================================================
207207
NEXT_PUBLIC_HAS_USER_OPS=true
208-
# NEXT_PUBLIC_USER_OPS_INDEXER_API_HOST=
208+
NEXT_PUBLIC_USER_OPS_INDEXER_API_HOST=https://test-ops.doscan.io
209209

210210
# =============================================================================
211211
# FEATURE: ROLLUP CHAIN (not applicable for DOS Chain)
@@ -269,7 +269,7 @@ NEXT_PUBLIC_VISUALIZE_API_HOST=https://viz-beta.doscan.io
269269
# =============================================================================
270270
# FEATURE: BLOCKCHAIN STATISTICS
271271
# =============================================================================
272-
NEXT_PUBLIC_STATS_API_HOST=https://stats-beta.doscan.io
272+
NEXT_PUBLIC_STATS_API_HOST=https://test-stats.doscan.io
273273
# NEXT_PUBLIC_STATS_API_BASE_PATH=
274274

275275
# =============================================================================
@@ -366,7 +366,8 @@ NEXT_PUBLIC_BRIDGED_TOKENS_BRIDGES=[{'type':'omni','title':'OmniBridge','short_t
366366
# =============================================================================
367367
# FEATURE: VALIDATORS LIST
368368
# =============================================================================
369-
# NEXT_PUBLIC_VALIDATORS_CHAIN_TYPE=stability # Not applicable for Avalanche L1
369+
# Note: Avalanche L1 uses PoA with ValidatorManager at 0xfacade...
370+
# NEXT_PUBLIC_VALIDATORS_CHAIN_TYPE không dùng cho Avalanche L1
370371

371372
# =============================================================================
372373
# FEATURE: ROLLBAR ERROR MONITORING
@@ -391,7 +392,7 @@ NEXT_PUBLIC_BRIDGED_TOKENS_BRIDGES=[{'type':'omni','title':'OmniBridge','short_t
391392
# =============================================================================
392393
# FEATURE: GET GAS BUTTON
393394
# =============================================================================
394-
# NEXT_PUBLIC_GAS_REFUEL_PROVIDER_CONFIG=
395+
NEXT_PUBLIC_GAS_REFUEL_PROVIDER_CONFIG={'name':'DOS Faucet','url_template':'https://faucet.doschain.com?address={address}','denom':'DOS','logo':'https://raw.githubusercontent.com/DOSLabs/DOScan-Frontend-Configs/main/configs/network-icons/dos.svg'}
395396

396397
# =============================================================================
397398
# FEATURE: SAVE ON GAS WITH GASHAWK

0 commit comments

Comments
 (0)