staterecover: improve local stack (#336)

* staterecover: improve local stack and make file
This commit is contained in:
Pedro Novais
2024-11-25 16:48:45 +00:00
committed by GitHub
parent 8749f920cb
commit 9361d4a23e
4 changed files with 76 additions and 88 deletions

View File

@@ -44,15 +44,19 @@ start-l2:
start-l2-blockchain-only:
docker compose -f docker/compose.yml -f docker/compose-local-dev.overrides.yml --profile l2-bc up -d
start-whole-environment: COMPOSE_PROFILES:=l1,l2
start-whole-environment:
# docker compose -f docker/compose.yml -f docker/compose-local-dev.overrides.yml build prover
docker compose -f docker/compose.yml -f docker/compose-local-dev.overrides.yml --profile l1 --profile l2 up -d
COMPOSE_PROFILES=$(COMPOSE_PROFILES) docker compose -f docker/compose.yml -f docker/compose-local-dev.overrides.yml up -d
start-whole-environment-traces-v2: COMPOSE_PROFILES:=l1,l2
start-whole-environment-traces-v2:
docker compose -f docker/compose.yml -f docker/compose-local-dev-traces-v2.overrides.yml --profile l1 --profile l2 up -d
COMPOSE_PROFILES=$(COMPOSE_PROFILES) docker compose -f docker/compose.yml -f docker/compose-local-dev-traces-v2.overrides.yml up -d
pull-all-images:
docker compose -f docker/compose.yml -f docker/compose-local-dev-traces-v2.overrides.yml --profile l1 --profile l2 pull
COMPOSE_PROFILES:=l1,l2 docker compose -f docker/compose.yml -f docker/compose-local-dev-traces-v2.overrides.yml pull
pull-images-external-to-monorepo:
docker compose -f docker/compose.yml -f docker/compose-local-dev-traces-v2.overrides.yml --profile external-to-monorepo pull
@@ -65,7 +69,8 @@ compile-contracts-no-cache:
cd contracts/; \
make force-compile
deploy-linea-rollup-v5:
deploy-linea-rollup: L1_CONTRACT_VERSION:=5
deploy-linea-rollup:
# WARNING: FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE
cd contracts/; \
PRIVATE_KEY=$${DEPLOYMENT_PRIVATE_KEY:-0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80} \
@@ -78,22 +83,14 @@ deploy-linea-rollup-v5:
LINEA_ROLLUP_RATE_LIMIT_PERIOD=86400 \
LINEA_ROLLUP_RATE_LIMIT_AMOUNT=1000000000000000000000 \
LINEA_ROLLUP_GENESIS_TIMESTAMP=1683325137 \
npx ts-node local-deployments-artifacts/deployPlonkVerifierAndLineaRollupV5.ts
npx ts-node local-deployments-artifacts/deployPlonkVerifierAndLineaRollupV$(L1_CONTRACT_VERSION).ts
deploy-linea-rollup-v5:
$(MAKE) deploy-linea-rollup L1_CONTRACT_VERSION=5
deploy-linea-rollup-v6:
# WARNING: FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE
cd contracts/; \
PRIVATE_KEY=$${DEPLOYMENT_PRIVATE_KEY:-0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80} \
RPC_URL=http:\\localhost:8445/ \
VERIFIER_CONTRACT_NAME=IntegrationTestTrueVerifier \
LINEA_ROLLUP_INITIAL_STATE_ROOT_HASH=0x072ead6777750dc20232d1cee8dc9a395c2d350df4bbaa5096c6f59b214dcecd \
LINEA_ROLLUP_INITIAL_L2_BLOCK_NUMBER=0 \
LINEA_ROLLUP_SECURITY_COUNCIL=0x90F79bf6EB2c4f870365E785982E1f101E93b906 \
LINEA_ROLLUP_OPERATORS=$${LINEA_ROLLUP_OPERATORS:-0x70997970C51812dc3A010C7d01b50e0d17dc79C8,0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC} \
LINEA_ROLLUP_RATE_LIMIT_PERIOD=86400 \
LINEA_ROLLUP_RATE_LIMIT_AMOUNT=1000000000000000000000 \
LINEA_ROLLUP_GENESIS_TIMESTAMP=1683325137 \
npx ts-node local-deployments-artifacts/deployPlonkVerifierAndLineaRollupV6.ts
$(MAKE) deploy-linea-rollup L1_CONTRACT_VERSION=6
deploy-l2messageservice:
# WARNING: FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE
@@ -163,28 +160,51 @@ restart-shomei:
rm -rf tmp/local/shomei/*
docker compose -f docker/compose.yml -f docker/compose-local-dev.overrides.yml up zkbesu-shomei shomei -d
fresh-start-all: COMPOSE_PROFILES:="l1,l2"
fresh-start-all: L1_CONTRACT_VERSION:=5
fresh-start-all:
make clean-environment
make start-all
make start-all L1_CONTRACT_VERSION=$(L1_CONTRACT_VERSION) COMPOSE_PROFILES=$(COMPOSE_PROFILES)
fresh-start-all-traces-v2: COMPOSE_PROFILES:="l1,l2"
fresh-start-all-traces-v2: L1_CONTRACT_VERSION:=5
fresh-start-all-traces-v2:
make clean-environment
make start-all-traces-v2
$(MAKE) start-all-traces-v2 L1_CONTRACT_VERSION=$(L1_CONTRACT_VERSION) COMPOSE_PROFILES=$(COMPOSE_PROFILES)
start-all: COMPOSE_PROFILES:=l1,l2
start-all: L1_CONTRACT_VERSION:=5
start-all:
L1_GENESIS_TIME=$(get_future_time) make start-whole-environment
make deploy-contracts
L1_GENESIS_TIME=$(get_future_time) make start-whole-environment COMPOSE_PROFILES=$(COMPOSE_PROFILES)
make deploy-contracts L1_CONTRACT_VERSION=$(L1_CONTRACT_VERSION)
start-all-traces-v2: COMPOSE_PROFILES:="l1,l2"
start-all-traces-v2: L1_CONTRACT_VERSION:=5
start-all-traces-v2:
L1_GENESIS_TIME=$(get_future_time) make start-whole-environment-traces-v2
make deploy-contracts
L1_GENESIS_TIME=$(get_future_time) make start-whole-environment-traces-v2 COMPOSE_PROFILES=$(COMPOSE_PROFILES)
$(MAKE) deploy-contracts L1_CONTRACT_VERSION=$(L1_CONTRACT_VERSION)
deploy-contracts: L1_CONTRACT_VERSION:=5
deploy-contracts:
cd contracts/; \
export L1_NONCE=$$(npx ts-node local-deployments-artifacts/get-wallet-nonce.ts --wallet-priv-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:8445) && \
export L2_NONCE=$$(npx ts-node local-deployments-artifacts/get-wallet-nonce.ts --wallet-priv-key 0x1dd171cec7e2995408b5513004e8207fe88d6820aeff0d82463b3e41df251aae --rpc-url http://localhost:8545) && \
cd .. && \
$(MAKE) -j6 deploy-linea-rollup-v5 deploy-token-bridge-l1 deploy-l1-test-erc20 deploy-l2messageservice deploy-token-bridge-l2 deploy-l2-test-erc20
$(MAKE) -j6 deploy-linea-rollup-v$(L1_CONTRACT_VERSION) deploy-token-bridge-l1 deploy-l1-test-erc20 deploy-l2messageservice deploy-token-bridge-l2 deploy-l2-test-erc20
deploy-contracts-minimal: L1_CONTRACT_VERSION:=5
deploy-contracts-minimal:
cd contracts/; \
export L1_NONCE=$$(npx ts-node local-deployments-artifacts/get-wallet-nonce.ts --wallet-priv-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:8445) && \
export L2_NONCE=$$(npx ts-node local-deployments-artifacts/get-wallet-nonce.ts --wallet-priv-key 0x1dd171cec7e2995408b5513004e8207fe88d6820aeff0d82463b3e41df251aae --rpc-url http://localhost:8545) && \
cd .. && \
$(MAKE) -j6 deploy-linea-rollup-v$(L1_CONTRACT_VERSION) deploy-l2messageservice
start-all-staterecover: L1_CONTRACT_VERSION:=6
start-all-staterecover: COMPOSE_PROFILES:=l1,l2,staterecover
start-all-staterecover:
L1_GENESIS_TIME=$(get_future_time) make start-whole-environment COMPOSE_PROFILES=$(COMPOSE_PROFILES)
make deploy-contracts-minimal L1_CONTRACT_VERSION=$(L1_CONTRACT_VERSION)
testnet-start-l2:
docker compose -f docker/compose.yml -f docker/compose-testnet-sync.overrides.yml --profile l2 up -d

View File

@@ -68,7 +68,7 @@ services:
prover-v3: # prover compatible with the traces from zkbesu
container_name: prover-v3
hostname: prover-v3
image: consensys/linea-prover:${PROVER_TAG:-c4abdd9}
image: consensys/linea-prover:${PROVER_TAG:-bb7cd3d}
platform: linux/amd64
# to avoid spinning up on CI for now
profiles: [ "l2" ]

View File

@@ -330,7 +330,7 @@ services:
coordinator:
hostname: coordinator
container_name: coordinator
image: consensys/linea-coordinator:${COORDINATOR_TAG:-c4abdd9}
image: consensys/linea-coordinator:${COORDINATOR_TAG:-bb7cd3d}
platform: linux/amd64
profiles: [ "l2", "debug" ]
depends_on:
@@ -717,6 +717,8 @@ services:
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
blobscan-indexer:
container_name: blobscan-indexer
@@ -740,17 +742,19 @@ services:
container_name: redis
hostname: redis
image: "redis:7.4.1-alpine"
command: redis-server /usr/local/etc/redis/redis.conf
profiles: [ "staterecover" ]
ports:
- "6379:6379"
volumes:
- ./misc/data:/var/lib/redis
- ./misc/conf:/usr/local/etc/redis/redis.conf
environment:
- REDIS_REPLICATION_MODE=master
- REDIS_PASSWORD=s3cr3t
- REDIS_USERNAME=blobscan
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
networks:
l1network:
ipv4_address: 10.10.10.205

View File

@@ -9,10 +9,10 @@
# DATABASE_URL=postgresql://blobscan:s3cr3t@localhost:5432/blobscan_dev?schema=public
DATABASE_URL=postgresql://postgres:postgres@postgres:5432/blobscan
BLOBSCAN_WEB_TAG=next
BLOBSCAN_API_TAG=next
INDEXER_TAG=master
DENCUN_FORK_SLOT=0
#BLOBSCAN_WEB_TAG=next
#BLOBSCAN_API_TAG=next
#INDEXER_TAG=master
############################
@@ -21,9 +21,23 @@ DENCUN_FORK_SLOT=0
BLOBSCAN_API_PORT=4001
EXTERNAL_API_PORT=4001
CHAIN_ID=31648428
DENCUN_FORK_SLOT=0
LOG_LEVEL=debug
NETWORK_NAME=devnet
REDIS_URI=redis://redis:6379/1
# SENTRY_DSN_API=
BLOB_PROPAGATOR_ENABLED=false
GOOGLE_STORAGE_ENABLED=false
POSTGRES_STORAGE_ENABLED=true
SWARM_STORAGE_ENABLED=false
# BEE_ENDPOINT=
# GOOGLE_STORAGE_BUCKET_NAME=blobscan-test-bucket
# GOOGLE_STORAGE_PROJECT_ID=blobscan-test-project
# GOOGLE_SERVICE_KEY=
# GOOGLE_STORAGE_API_ENDPOINT=http://localhost:4443
# PRISMA_BATCH_OPERATIONS_MAX_SIZE=
# FEEDBACK_WEBHOOK_URL=
############################
#### blobscan indexer APP
@@ -33,60 +47,10 @@ BLOBSCAN_API_ENDPOINT=http://blobscan-api:4001
BEACON_NODE_ENDPOINT=http://l1-cl-node:4000
EXECUTION_NODE_ENDPOINT=http://l1-el-node:8545
RUST_LOG=blob_indexer=info
LOGGER=default
NODE_ENV=development
# SENTRY_DSN_INDEXER=
############################
### telemetry
# METRICS_ENABLED=
# TRACES_ENABLED=
# OTLP_AUTH_USERNAME=
# OTLP_AUTH_PASSWORD=
# OTEL_EXPORTER_OTLP_PROTOCOL=
# OTEL_EXPORTER_OTLP_ENDPOINT=
# OTEL_DIAG_ENABLED=
### blobscan website
### NOTE: Just place holder for now. Not used in the project atm
EXTERNAL_WEB_PORT=3000
# BEE_ENDPOINT=
CHAIN_ID=31648428
NETWORK_NAME=devnet
# GOOGLE_STORAGE_BUCKET_NAME=blobscan-test-bucket
# GOOGLE_STORAGE_PROJECT_ID=blobscan-test-project
# GOOGLE_SERVICE_KEY=
# GOOGLE_STORAGE_API_ENDPOINT=http://localhost:4443
BLOB_PROPAGATOR_ENABLED=false
GOOGLE_STORAGE_ENABLED=false
POSTGRES_STORAGE_ENABLED=true
SWARM_STORAGE_ENABLED=false
REDIS_URI=redis://redis:6379/1
# PRISMA_BATCH_OPERATIONS_MAX_SIZE=
# FEEDBACK_WEBHOOK_URL=
# @see https://next-auth.js.org/configuration/options#nextauth_url
NEXTAUTH_URL=http://localhost:3000
# You can generate the secret via 'openssl rand -base64 32' on Unix
# @see https://next-auth.js.org/configuration/options#secret
SECRET_KEY=supersecret
NEXT_PUBLIC_NETWORK_NAME=mainnet
NEXT_PUBLIC_VERCEL_ANALYTICS_ENABLED=false
NEXT_PUBLIC_BEACON_BASE_URL=https://dora.ethpandaops.io/
NEXT_PUBLIC_EXPLORER_BASE_URL=https://etherscan.io/