For compatibility with PoP-related changes to op-geth
, Blockscout docker images must be built from source to operate correctly.
If you do not have Docker installed, install it first following a guide like this one.
Note that the default branch has been configured to connect to a local instance of op-geth after running the instructions to deploy a Hemi L2 network based on the infrastructure
repo which sets up op-geth's HTTP RPC API (--http.port
) on port 18546.
First clone this repo:
git clone https://github.com/hemilabs/blockscout
cd blockscout
Then run the docker containers with the build
flag to compile the codebase before starting up the docker images:
cd docker-compose
docker-compose up --build
The build process takes 5-10 minutes the first time you run it.
Once the build is complete and the containers start up, you should be able to open a web browser and view the explorer by navigating to the IP/DNS of the server, for example http://localhost:90
. It may take several minutes for blockscout to load on first initialization.
You should see the following containers running if you run docker ps
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
767b30ee43f4 nginx "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:90->90/tcp, :::90->90/tcp, 0.0.0.0:8090-8091->8090-8091/tcp, :::8090-8091->8090-8091/tcp proxy
3029051483b6 ghcr.io/blockscout/stats:latest "./stats-server" About a minute ago Up About a minute stats
4fb359138be5 hemilabs/frontend:main "./entrypoint.sh nod…" About a minute ago Up About a minute 3000/tcp frontend
762b238f229e postgres:14 "docker-entrypoint.s…" About a minute ago Up About a minute (healthy) 0.0.0.0:7433->5432/tcp, :::7433->5432/tcp stats-postgres
38650109bbde hemilabs/blockscout:latest "sh -c 'bin/blocksco…" About a minute ago Up About a minute backend
872336afa117 postgres:14 "docker-entrypoint.s…" About a minute ago Up About a minute (healthy) 0.0.0.0:7432->5432/tcp, :::7432->5432/tcp db
f219e08c1004 ghcr.io/blockscout/visualizer:latest "./visualizer-server" About a minute ago Up About a minute visualizer
f8a2d95be7d8 redis:alpine "docker-entrypoint.s…" About a minute ago Up About a minute 6379/tcp redis_db
7e5747691b8c ghcr.io/blockscout/sig-provider:latest "./sig-provider-serv…" About a minute ago Up About a minute sig-provider
-
The "Contract" tab for smart contract addresses does not appear, at least for addresses holding smart contracts deployed as part of the genesis configuration.
-
Even after indexing the chain, CPU usage remains high (primarily from
beam.smp
). This may be a configuration issue? -
The explorer does not detect the chain is a rollup and so does not display L1->L2 deposits or L2->L1 withdrawals in their own list. Rollups likely need additional configuration (and possibly a connection to a regular geth node?).
Blockchain Explorer for inspecting and analyzing EVM Chains.
Blockscout provides a comprehensive, easy-to-use interface for users to view, confirm, and inspect transactions on EVM (Ethereum Virtual Machine) blockchains. This includes Ethereum Mainnet, Ethereum Classic, Optimism, Gnosis Chain and many other Ethereum testnets, private networks, L2s and sidechains.
See our project documentation for detailed information and setup instructions.
For questions, comments and feature requests see the discussions section or via Discord.
Blockscout allows users to search transactions, view accounts and balances, verify and interact with smart contracts and view and interact with applications on the Ethereum network including many forks, sidechains, L2s and testnets.
Blockscout is an open-source alternative to centralized, closed source block explorers such as Etherscan, Etherchain and others. As Ethereum sidechains and L2s continue to proliferate in both private and public settings, transparent, open-source tools are needed to analyze and validate all transactions.
Blockscout currently supports several hundred chains and rollups throughout the greater blockchain ecosystem. Ethereum, Cosmos, Polkadot, Avalanche, Near and many others include Blockscout integrations. A comprehensive list is available here. If your project is not listed, please submit a PR or contact the team in Discord.
See the project documentation for instructions:
- Manual deployment
- Docker-compose deployment
- Kubernetes deployment
- Manual deployment (backend + old UI)
- Ansible deployment
- ENV variables
- Configuration options
We would like to thank the EthPrize foundation for their funding support.
See CONTRIBUTING.md for contribution and pull request protocol. We expect contributors to follow our code of conduct when submitting code or comments.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.