Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

alt-da devnet with eigenda proxy #2

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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?).
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@epociask is this 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