Layr-Labs / Layr-Labs/devkit-cli

Feature Request: Add Local Block Explorer Integration

Open
#185 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
Go
Stars
27
Forks
10
PR merge metrics
No merged PRs in 30d

Description

Problem

Developers using the devkit avs start command often need to visualize and interact with their local blockchain's state. Currently, the project lacks a user-friendly interface for exploring transactions, blocks, accounts, and contracts beyond logs. This makes debugging and demos more difficult.

Solution

Integrate a local block explorer (like Otterscan) that connects to the Anvil node. This would provide a web-based UI for querying and displaying blockchain data.

Motivation

This change improves developer experience by:

  1. Allowing developers to visually inspect transactions, blocks, token balances, and contract events without relying solely on logs
  2. Enabling easier debugging of smart contracts during development
  3. Providing a user-friendly interface for demonstrations and external consumption

Implementation

Update the project's docker-compose.yaml to include a service for running Otterscan. Since Anvil runs on http://localhost:8545 by default, we can configure Otterscan to connect to this node.

Steps:

  1. Add a new service in docker-compose.yaml for the block explorer

Details

Example docker-compose.yaml modification:

services:
  devkit-devnet:
    image: ${FOUNDRY_IMAGE}
    container_name: ${AVS_CONTAINER_NAME} 
    entrypoint: anvil
    command: "--host 0.0.0.0 --fork-url ${FORK_RPC_URL} --fork-block-number ${FORK_BLOCK_NUMBER}  ${ANVIL_ARGS}"
    ports:
      - "${DEVNET_PORT}:8545"
    extra_hosts:
      - "host.docker.internal:host-gateway"
  
  devkit-explorer:
    image: "otterscan/otterscan:v2.8.0"
    ports:
      - "5100:80"
    environment:
      ERIGON_URL: "http://devkit-devnet:8545"

Additional Considerations

  1. Performance: Ensure this change doesn't significantly impact developer machine performance during local development.

Documentation

Update the README.md to explain how the new block explorer service can be accessed.

Expected Outcome

  1. Developers will be able to view and interact with their local network using a visual interface.
  2. Existing workflows remain unchanged unless explicitly modified by the user.

Bonus Points

  • A sourcify instance coupled with the otterscan instance so that developer deployed contracts can be verified and interacted with.

References

  1. Otterscan Documentation

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing docker/anvil/docker-compose.yaml and the existing README.md instructions. Check the Otterscan Docker configuration and its connection to the Anvil service, then run the local stack and verify the explorer is reachable on port 5100 and can query the node. Done means the service works without changing existing workflows and the README explains access.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose
Domain
blockchain, developer-experience, devops, documentation
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.