Skip to content

Commit

Permalink
chore: Update devnet to use eigenda-proxy
Browse files Browse the repository at this point in the history
chore: Update devnet with janky grafana and prometheus svc deps

chore: Update deps

fix(alt-da devnet): ops-bedrock/docker-compose file had missing .env dependency
also updated readme and makefile

chore: add grafana panels for batcher info in devnet grafana

chore: add some more stuff to devnet grafana dashboard

chore: added loki+promtail to devnet
Also added a grafana panel to show op-batcher logs

chore(devnet docker-compose): set OP_BATCHER_MAX_PENDING_TX to 0 for parallel tx sending

chore: devnet grafana add panel to visualize blob sizes

refactor: devnet grafana dashboard

chore: make loki use port 3200 to not conflict with eigenda-proxy

chore: fix buggy prometheus targets

chore: add grafana panels for eigenda-proxy

chore(grafana): created dedicated section for logs
  • Loading branch information
epociask authored and samlaf committed Aug 22, 2024
1 parent 5879300 commit 8712d55
Show file tree
Hide file tree
Showing 11 changed files with 2,589 additions and 24 deletions.
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,9 @@ devnet-up: pre-devnet ## Starts the local devnet
PYTHONPATH=./bedrock-devnet $(PYTHON) ./bedrock-devnet/main.py --monorepo-dir=.
.PHONY: devnet-up

altda-devnet-up:
DEVNET_PLASMA=true GENERIC_PLASMA=true make devnet-up

devnet-test: pre-devnet ## Runs tests on the local devnet
make -C op-e2e test-devnet
.PHONY: devnet-test
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**

- [devnet with eigenda alt-da](#devnet-with-eigenda-alt-da)
- [What is Optimism?](#what-is-optimism)
- [Documentation](#documentation)
- [Specification](#specification)
Expand All @@ -26,6 +27,12 @@

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## devnet with eigenda alt-da

Run `make altda-devnet-up` to start the devnet with the eigenda proxy as alt-da, which sends batches to `disperser-holesky.eigenda.xyz` (I think this is preprod?).

This will also start a grafana instance, which you can access at `http://localhost:3000` with user:pw `admin:admin`.

## What is Optimism?

[Optimism](https://www.optimism.io/) is a project dedicated to scaling Ethereum's technology and expanding its ability to coordinate people from across the world to build effective decentralized economies and governance systems. The [Optimism Collective](https://www.optimism.io/vision) builds open-source software that powers scalable blockchains and aims to address key governance and economic challenges in the wider Ethereum ecosystem. Optimism operates on the principle of **impact=profit**, the idea that individuals who positively impact the Collective should be proportionally rewarded with profit. **Change the incentives and you change the world.**
Expand Down
6 changes: 6 additions & 0 deletions bedrock-devnet/devnet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,12 @@ def devnet_l2_allocs(paths):

# Bring up the devnet where the contracts are deployed to L1
def devnet_deploy(paths):

log.info('Starting peripheral telemetry services.')
run_command(['docker', 'compose', 'up', '-d', 'prometheus', 'grafana', 'loki', 'promtail'], cwd=paths.ops_bedrock_dir, env={
'PWD': paths.ops_bedrock_dir
})

if os.path.exists(paths.genesis_l1_path):
log.info('L1 genesis already generated.')
else:
Expand Down
88 changes: 64 additions & 24 deletions ops-bedrock/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ volumes:
da_data:
op_log:


services:

l1:
build:
context: .
Expand All @@ -34,8 +32,8 @@ services:
depends_on:
- l1
build:
context: .
dockerfile: l1-lighthouse.Dockerfile
context: .
dockerfile: l1-lighthouse.Dockerfile
ports:
- "9000:9000"
- "5052:5052"
Expand All @@ -56,8 +54,8 @@ services:
- l1
- l1-bn
build:
context: .
dockerfile: l1-lighthouse.Dockerfile
context: .
dockerfile: l1-lighthouse.Dockerfile
volumes:
- "l1_vc_data:/db"
- "${PWD}/beacon-data/data/keys:/validator_setup/validators"
Expand All @@ -82,7 +80,7 @@ services:
- "l2_data:/db"
- "${PWD}/../.devnet/genesis-l2.json:/genesis.json"
- "${PWD}/test-jwt-secret.txt:/config/jwt-secret.txt"
entrypoint: # pass the L2 specific flags by overriding the entry-point and adding extra arguments
entrypoint: # pass the L2 specific flags by overriding the entry-point and adding extra arguments
- "/bin/sh"
- "/entrypoint.sh"
environment:
Expand Down Expand Up @@ -190,16 +188,17 @@ services:
OP_BATCHER_L1_ETH_RPC: http://l1:8545
OP_BATCHER_L2_ETH_RPC: http://l2:8545
OP_BATCHER_ROLLUP_RPC: http://op-node:8545
OP_BATCHER_MAX_CHANNEL_DURATION: 2
OP_BATCHER_MAX_CHANNEL_DURATION: 10 # 10 L1 blocks = 60 seconds
OP_BATCHER_SUB_SAFETY_MARGIN: 4 # SWS is 15, ChannelTimeout is 40
OP_BATCHER_POLL_INTERVAL: 1s
OP_BATCHER_POLL_INTERVAL: 2s
OP_BATCHER_NUM_CONFIRMATIONS: 1
OP_BATCHER_MAX_PENDING_TX: 0 # no limit
OP_BATCHER_MNEMONIC: test test test test test test test test test test test junk
OP_BATCHER_SEQUENCER_HD_PATH: "m/44'/60'/0'/0/2"
OP_BATCHER_PPROF_ENABLED: "true"
OP_BATCHER_METRICS_ENABLED: "true"
OP_BATCHER_RPC_ENABLE_ADMIN: "true"
OP_BATCHER_BATCH_TYPE: 1
OP_BATCHER_BATCH_TYPE: 0
OP_BATCHER_ALTDA_ENABLED: "${ALTDA_ENABLED}"
OP_BATCHER_ALTDA_DA_SERVICE: "${ALTDA_SERVICE}"
OP_BATCHER_ALTDA_DA_SERVER: "http://da-server:3100"
Expand Down Expand Up @@ -240,22 +239,63 @@ services:
OP_CHALLENGER_NUM_CONFIRMATIONS: 1

da-server:
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/da-server:devnet
build:
context: ../
dockerfile: ops/docker/op-stack-go/Dockerfile
target: da-server-target
command: >
da-server
--file.path=/data
--addr=0.0.0.0
--port=3100
--log.level=debug
--generic-commitment="${ALTDA_GENERIC_DA}"
platform: linux/amd64
image: ghcr.io/layr-labs/eigenda-proxy@sha256:c7aae98c0ed65763e0bfe9b2f41147123d6d576f435dcc2d0d8dbcbb03cdc205
environment:
- EIGENDA_PROXY_ADDR=0.0.0.0
- EIGENDA_PROXY_PORT=3100
- MEMSTORE_ENABLED=true
- MEMSTORE_EXPIRATION=45m
- EIGENDA_PROXY_SIGNER_PRIVATE_KEY_HEX=0000000000000000000100000000000000000000000000000000000000000000
- EIGENDA_PROXY_EIGENDA_DISPERSER_RPC=disperser-holesky.eigenda.xyz:443
- EIGENDA_PROXY_METRICS_ENABLED=true
- EIGENDA_PROXY_METRICS_PORT=7300
ports:
- "3100:3100"
- 3100:3100
- 6969:7300

grafana:
image: grafana/grafana:11.1.0
restart: unless-stopped
env_file:
- grafana.env
volumes:
- ./monitoring/grafana/provisioning/:/etc/grafana/provisioning/:ro
- ./monitoring/grafana/dashboards:/var/lib/grafana/dashboards
# - grafana_data:/var/lib/grafana
ports:
- 3000:3000

prometheus:
image: prom/prometheus:latest
restart: unless-stopped
# env_file:
# - .env
volumes:
- ./monitoring/prometheus:/etc/prometheus
# - prometheus_data:/prometheus
ports:
- 9090:9090
command: --config.file=/etc/prometheus/prometheus.yml --log.level=debug

loki:
image: grafana/loki:3.1.1
restart: unless-stopped
volumes:
- ./monitoring/loki:/etc/loki
ports:
- 3200:3200
command: -config.file=/etc/loki/config.yaml

promtail:
image: grafana/promtail:3.1.1
restart: unless-stopped
volumes:
- "da_data:/data"
# uncomment to scrape system logs
# - /var/log:/var/log
- ./monitoring/promtail:/etc/promtail
- /var/run/docker.sock:/var/run/docker.sock # Mount Docker socket to read container logs
command: -config.file=/etc/promtail/config.yaml

sentinel:
image: quarry/sentinel # TODO(10141): We need a public image for this (sentinel is out of repo)
Expand Down
1 change: 1 addition & 0 deletions ops-bedrock/grafana.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
GF_SECURITY_ADMIN_PASSWORD=admin
Loading

0 comments on commit 8712d55

Please sign in to comment.