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 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..432a46d2c 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 { @@ -186,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 552cfe0a4..a233a8c67 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,14 @@ 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' + # '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: @@ -103,3 +114,4 @@ services: extends: file: ./services/nginx.yml service: proxy + 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