A lightweight Ethereum scanner focused on clarity, simplicity, and essential on-chain data.
This project provides a minimal, fast, and developer-friendly interface for exploring blocks, transactions, and addresses without the overhead of a full blockchain explorer.
- Live Site: https://code0xff.github.io/eth-ui
- Repository: https://github.com/code0xff/eth-ui
Clean, readable UI for essential Ethereum data:
- Block information (gas used, miner, timestamp, transactions)
- Transaction metadata (from, to, value, gas, status)
- Address balance and basic account details
eth-ui intentionally avoids heavy ABI-based decoding.
Instead, it presents low-level contract data clearly:
- Raw calldata (hex)
- Contract bytecode and size
- Basic contract metadata
- Automatically reconnects when WebSocket connections drop
- Resumes updates when the browser returns from idle or sleep
- Refreshes block and transaction data on new block arrival
Designed to be:
- Easy to understand
- Simple to extend
- Useful for local or forked Ethereum chains
- Ideal for debugging and low-level contract inspection
Can be integrated into larger dashboards or tooling, including:
- Provider initialization utilities
- Small helper functions
- Reusable layout patterns
git clone https://github.com/code0xff/eth-ui
cd eth-uinpm installnpm run devnpm run buildnpm run deployBuild and run with Docker Compose:
docker compose up --build -dOpen http://localhost:8080.
Run directly with Docker:
docker build -t eth-ui .
docker run --rm -p 8080:80 eth-uiIf you need GitHub Pages base path in container build:
docker build --build-arg BASE_PATH=/eth-ui -t eth-ui .Test prerequisites:
- Node.js and npm installed
- For browser-based Vitest runs, Playwright Chromium installed (
npx playwright install chromium) - For Anvil integration test, Foundry Anvil installed and available at
~/.foundry/bin/anvil - For a custom Anvil binary path, use
ANVIL_BIN=/path/to/anvil test:anviluses127.0.0.1:8547, so make sure the port is available
Run all unit tests once:
npm testRun unit tests in watch mode:
npm run test:unitBefore running integration test with local Anvil, set up once:
- Install Foundry (includes Anvil):
curl -L https://foundry.paradigm.xyz | bash
foundryup- Confirm Anvil binary path:
~/.foundry/bin/anvil --version- If Anvil is installed in another location, set
ANVIL_BIN:
ANVIL_BIN=/path/to/anvil npm run test:anvil- Ensure
127.0.0.1:8547is free (used bytest:anvil).
Run integration test with local Anvil:
npm run test:anvil- Provide a clean and intuitive UI for essential on-chain data
- Offer a lightweight alternative to heavy explorers like Etherscan or Blockscout
- Keep the code simple, modular, and easy to integrate
- Serve as a minimal debugging tool for private Ethereum chains and development environments
Contributions and feedback are welcome.
- Open an issue or discussion
- Submit a pull request
- Follow the existing project structure and style
Apache-2.0