From 85a50a0f0360b13f82780375a1696c65bbaaf9a8 Mon Sep 17 00:00:00 2001 From: skudasov Date: Wed, 17 Sep 2025 15:11:39 +0200 Subject: [PATCH 1/3] add sc verifier service, specify chain ID --- framework/cmd/main.go | 10 ++++++++-- framework/observability.go | 12 +++--------- .../blockscout/docker-compose.yml | 18 ++++++++++++++---- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/framework/cmd/main.go b/framework/cmd/main.go index 25fadb087..14007a4ce 100644 --- a/framework/cmd/main.go +++ b/framework/cmd/main.go @@ -147,7 +147,10 @@ func main() { Aliases: []string{"u"}, Description: "Spins up Blockscout stack", Action: func(c *cli.Context) error { - return framework.BlockScoutUp(c.String("rpc")) + return framework.BlockScoutUp( + c.String("rpc"), + c.String("chain-id"), + ) }, }, { @@ -169,7 +172,10 @@ func main() { if err := framework.BlockScoutDown(rpc); err != nil { return err } - return framework.BlockScoutUp(rpc) + return framework.BlockScoutUp( + c.String("rpc"), + c.String("chain-id"), + ) }, }, }, diff --git a/framework/observability.go b/framework/observability.go index 39dafe919..11e08ba25 100644 --- a/framework/observability.go +++ b/framework/observability.go @@ -78,12 +78,13 @@ func extractAllFiles(embeddedDir string) error { return err } -func BlockScoutUp(url string) error { +func BlockScoutUp(url, chainID string) error { L.Info().Msg("Creating local Blockscout stack") if err := extractAllFiles("observability"); err != nil { return err } os.Setenv("BLOCKSCOUT_RPC_URL", url) + os.Setenv("BLOCKSCOUT_CHAID_ID", chainID) // old migrations for v15 is still applied somehow, cleaning up DB helps if err := RunCommand("bash", "-c", fmt.Sprintf(` cd %s && \ @@ -117,14 +118,7 @@ func BlockScoutDown(url string) error { if err != nil { return err } - return RunCommand("bash", "-c", fmt.Sprintf(` - cd %s && \ - rm -rf blockscout-db-data && \ - rm -rf logs && \ - rm -rf redis-data && \ - rm -rf stats-db-data && \ - rm -rf dets - `, filepath.Join("blockscout", "services"))) + return RunCommand("bash", "-c", "rm -rf blockscout/") } func ObservabilityUp() error { diff --git a/framework/observability/blockscout/docker-compose.yml b/framework/observability/blockscout/docker-compose.yml index 552cfe0a4..d3cafbddf 100644 --- a/framework/observability/blockscout/docker-compose.yml +++ b/framework/observability/blockscout/docker-compose.yml @@ -17,6 +17,13 @@ services: file: ./services/db.yml service: db + sc-verifier: + extends: + file: ./services/smart-contract-verifier.yml + service: smart-contract-verifier + ports: + - 8082:8050 + backend: depends_on: - db @@ -32,10 +39,12 @@ services: links: - db:database environment: - 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:8545/ - CHAIN_ID: '1337' + ETHEREUM_JSONRPC_HTTP_URL: ${BLOCKSCOUT_RPC_URL:-http://host.docker.internal:8555} + ETHEREUM_JSONRPC_TRACE_URL: ${BLOCKSCOUT_RPC_URL:-http://host.docker.internal:8555} + MICROSERVICE_SC_VERIFIER_ENABLED: true + MICROSERVICE_SC_VERIFIER_URL: http://smart-contract-verifier:8050/ + MICROSERVICE_SC_VERIFIER_TYPE: sc_verifier + CHAIN_ID: ${BLOCKSCOUT_CHAIN_ID:-1337} nft_media_handler: depends_on: @@ -103,3 +112,4 @@ services: extends: file: ./services/nginx.yml service: proxy + From ff22e0df1cfd9805e4e40f9f4bc84b7345bbdf8b Mon Sep 17 00:00:00 2001 From: skudasov Date: Wed, 17 Sep 2025 17:40:17 +0200 Subject: [PATCH 2/3] check that internal txs are working --- framework/observability.go | 2 +- .../observability/blockscout/docker-compose.yml | 14 ++++++++------ .../observability/blockscout/services/backend.yml | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/framework/observability.go b/framework/observability.go index 11e08ba25..432a46d2c 100644 --- a/framework/observability.go +++ b/framework/observability.go @@ -180,5 +180,5 @@ func ObservabilityDown() error { if err != nil { return err } - return nil + return RunCommand("bash", "-c", "rm -rf compose/") } diff --git a/framework/observability/blockscout/docker-compose.yml b/framework/observability/blockscout/docker-compose.yml index d3cafbddf..a233a8c67 100644 --- a/framework/observability/blockscout/docker-compose.yml +++ b/framework/observability/blockscout/docker-compose.yml @@ -39,12 +39,14 @@ services: links: - db:database environment: - ETHEREUM_JSONRPC_HTTP_URL: ${BLOCKSCOUT_RPC_URL:-http://host.docker.internal:8555} - ETHEREUM_JSONRPC_TRACE_URL: ${BLOCKSCOUT_RPC_URL:-http://host.docker.internal:8555} - MICROSERVICE_SC_VERIFIER_ENABLED: true - MICROSERVICE_SC_VERIFIER_URL: http://smart-contract-verifier:8050/ - MICROSERVICE_SC_VERIFIER_TYPE: sc_verifier - CHAIN_ID: ${BLOCKSCOUT_CHAIN_ID:-1337} + # 'anvil' do not support internal transactions + ETHEREUM_JSONRPC_VARIANT: 'geth' + ETHEREUM_JSONRPC_HTTP_URL: ${BLOCKSCOUT_RPC_URL} + ETHEREUM_JSONRPC_TRACE_URL: ${BLOCKSCOUT_RPC_URL} + CHAIN_ID: ${BLOCKSCOUT_CHAIN_ID:-1337} + MICROSERVICE_SC_VERIFIER_ENABLED: true + MICROSERVICE_SC_VERIFIER_URL: http://smart-contract-verifier:8050/ + MICROSERVICE_SC_VERIFIER_TYPE: sc_verifier nft_media_handler: depends_on: diff --git a/framework/observability/blockscout/services/backend.yml b/framework/observability/blockscout/services/backend.yml index cb1cb54de..7a6515f6c 100644 --- a/framework/observability/blockscout/services/backend.yml +++ b/framework/observability/blockscout/services/backend.yml @@ -2,7 +2,7 @@ version: '3.9' services: backend: - image: ghcr.io/blockscout/${DOCKER_REPO:-blockscout}:${DOCKER_TAG:-latest} + image: ghcr.io/blockscout/${DOCKER_REPO:-blockscout}:${DOCKER_TAG:-9.0.2.commit.2ab549a6} pull_policy: always restart: always stop_grace_period: 5m From 6acf16197d1e6076d1403f60f2ce1503a0cc713a Mon Sep 17 00:00:00 2001 From: skudasov Date: Wed, 17 Sep 2025 17:41:54 +0200 Subject: [PATCH 3/3] changeset --- framework/.changeset/v0.10.27.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 framework/.changeset/v0.10.27.md diff --git a/framework/.changeset/v0.10.27.md b/framework/.changeset/v0.10.27.md new file mode 100644 index 000000000..0199af725 --- /dev/null +++ b/framework/.changeset/v0.10.27.md @@ -0,0 +1 @@ +- Blockscout Geth variant + internal transactions + verifier \ No newline at end of file