Commit c5b54a4d authored by vicotor's avatar vicotor

update docker-compose and Makefile

parent 5644a63a
.idea .idea
node/data/geth
deployments deployments
data
deployer
init: init:
docker run --rm --name initlayer1 -v "${PWD}/layer1:/root" tscel/eth:v1.10.26 geth init --datadir /root/node/data /root/genesis.json @docker compose up layer1-init \
&& docker compose up -d layer1 \
&& docker compose up forge-init \
&& docker compose up forge-deploy \
&& docker compose up forge-generate \
&& docker compose up layer2-init
.PHONY: init
build: build:
docker build --no-cache -t tscel/exchain:contracts -f ./build/Dockerfile.contracts . @docker build --no-cache -t tscel/exchain:contracts -f ./build/Dockerfile.contracts .
.PHONY: build
start: start:
docker compose up -d docker compose up -d layer1 layer2
.PHONY: start
stop: stop:
docker compose down docker compose down layer1 layer2
.PHONY: stop
clean: clean:
sudo rm -rf layer1/.cache layer1/node/data/geth rm -rf data deployer
.PHONY: clean
...@@ -8,6 +8,15 @@ networks: ...@@ -8,6 +8,15 @@ networks:
services: services:
layer1-init:
image: tscel/eth:v1.10.26
container_name: initlayer1
volumes:
- "./layer1/genesis.json:/root/genesis.json"
- "./data/layer1:/root/node/data"
- "./layer1/keystore:/root/node/data/keystore"
entrypoint: geth init --datadir /root/node/data /root/genesis.json
layer1: layer1:
image: tscel/eth:v1.10.26 image: tscel/eth:v1.10.26
container_name: layer1 container_name: layer1
...@@ -23,17 +32,17 @@ services: ...@@ -23,17 +32,17 @@ services:
- "8545:8545" - "8545:8545"
entrypoint: geth --datadir /root/node/data --http --nodiscover --miner.gaslimit=10000000000 --http.api=eth,net,web3,admin,txpool,miner,debug --http.addr=0.0.0.0 --http.corsdomain=* --authrpc.vhosts=* --authrpc.addr=0.0.0.0 --authrpc.port=8552 --rpc.allow-unprotected-txs --authrpc.jwtsecret=/root/node/data/jwtsecret --allow-insecure-unlock --unlock=0xfEe2882b7d75FadDcebD002E7e3bEf7B19Eed14E --password=/root/password.txt --mine --gcmode archive entrypoint: geth --datadir /root/node/data --http --nodiscover --miner.gaslimit=10000000000 --http.api=eth,net,web3,admin,txpool,miner,debug --http.addr=0.0.0.0 --http.corsdomain=* --authrpc.vhosts=* --authrpc.addr=0.0.0.0 --authrpc.port=8552 --rpc.allow-unprotected-txs --authrpc.jwtsecret=/root/node/data/jwtsecret --allow-insecure-unlock --unlock=0xfEe2882b7d75FadDcebD002E7e3bEf7B19Eed14E --password=/root/password.txt --mine --gcmode archive
volumes: volumes:
- "./layer1/node:/root/node" - "./data/layer1:/root/node/data"
- "./layer1/keystore:/root/node/data/keystore"
- "./layer1/password.txt:/root/password.txt" - "./layer1/password.txt:/root/password.txt"
forge-init: forge-init:
image: ghcr.io/foundry-rs/foundry:latest image: ghcr.io/foundry-rs/foundry:latest
networks: networks:
- exchain - exchain
entrypoint: /bin/sh -c "sleep 5 && cast publish --rpc-url http://172.80.1.2:8545 0xf8a58085174876e800830186a08080b853604580600e600039806000f350fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf31ba02222222222222222222222222222222222222222222222222222222222222222a02222222222222222222222222222222222222222222222222222222222222222" entrypoint: /bin/sh -c "sleep 5 && cast publish --rpc-url http://172.80.1.2:8545 0xf8a58085174876e800830186a08080b853604580600e600039806000f350fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf31ba02222222222222222222222222222222222222222222222222222222222222222a02222222222222222222222222222222222222222222222222222222222222222"
depends_on: # depends_on:
- layer1 # - layer1
forge-deploy: forge-deploy:
image: tscel/exchain:contracts image: tscel/exchain:contracts
...@@ -45,8 +54,8 @@ services: ...@@ -45,8 +54,8 @@ services:
- "./.git:/app/contracts/.git" - "./.git:/app/contracts/.git"
- ".envrc:/app/.envrc" - ".envrc:/app/.envrc"
entrypoint: /app/contracts/deploy.sh entrypoint: /app/contracts/deploy.sh
depends_on: # depends_on:
- forge-init # - forge-init
forge-genesis: forge-genesis:
image: tscel/exchain-node:latest image: tscel/exchain-node:latest
...@@ -55,21 +64,50 @@ services: ...@@ -55,21 +64,50 @@ services:
volumes: volumes:
- "./deployer:/root/deployments" - "./deployer:/root/deployments"
- "./layer2/alloc.json:/root/alloc.json" - "./layer2/alloc.json:/root/alloc.json"
- ".envrc:/root/.envrc"
entrypoint: opnode genesis l2 --deploy-config /root/deployments/config.json --l1-deployments /root/deployments/artifact.json --l2-allocs /root/alloc.json --outfile.l2 /root/deployments/genesis.json --outfile.rollup ./root/deployments/rollup.json --l1-rpc=http://172.80.1.2:8545 entrypoint: opnode genesis l2 --deploy-config /root/deployments/config.json --l1-deployments /root/deployments/artifact.json --l2-allocs /root/alloc.json --outfile.l2 /root/deployments/genesis.json --outfile.rollup ./root/deployments/rollup.json --l1-rpc=http://172.80.1.2:8545
# depends_on:
# - forge-deploy
layer2-init:
image: tscel/exchain-node:latest
networks:
- exchain
volumes:
- "./deployer:/root/deployments"
- "./data/layer2:/root/node"
entrypoint: opnode genesis init --data-dir /root/node --genesis /root/deployments/genesis.json
# depends_on:
# - forge-deploy
layer2:
image: tscel/exchain-node:latest
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "3"
networks:
- exchain
volumes:
- ".envrc:/root/.envrc"
- "./layer2/start.sh:/root/start.sh"
- "./data/layer2:/root/node"
- "./deployer:/root/deployments"
entrypoint: /root/start.sh
depends_on: depends_on:
- forge-deploy - layer1
# exnode:
# image: tscel/exchain:v0.0.1 exnode:
# networks: image: tscel/exchain:v0.0.1
# - exchain networks:
# ports: - exchain
# - "1000:1000" ports:
# logging: - "1000:1000"
# driver: "json-file" logging:
# options: driver: "json-file"
# max-size: "100m" options:
# max-file: "3" max-size: "100m"
max-file: "3"
#!/bin/bash
source /root/.envrc
opnode \
--data-dir /root/node \
--sequencer.enabled \
--sequencer.l1-confs=5 \
--verifier.l1-confs=4 \
--rollup.config=/root/deployments/rollup.json \
--rpc.addr=0.0.0.0 \
--p2p.disable \
--rpc.enable-admin \
--p2p.sequencer.key=$GS_SEQUENCER_PRIVATE_KEY \
--l1=$L1_RPC_URL \
--log.level=debug \
--l1.rpckind=$L1_RPC_KIND
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment