Skip to content
Open
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
2 changes: 0 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,6 @@ require (
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 // indirect
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
github.com/pierrec/lz4/v4 v4.1.15 // indirect
github.com/pion/datachannel v1.5.8 // indirect
github.com/pion/dtls/v2 v2.2.12 // indirect
github.com/pion/ice/v2 v2.3.34 // indirect
Expand Down Expand Up @@ -253,7 +252,6 @@ require (
github.com/rs/cors v1.11.0 // indirect
github.com/rs/xid v1.6.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/segmentio/kafka-go v0.4.47 // indirect
github.com/sethvargo/go-envconfig v1.1.0 // indirect
github.com/shirou/gopsutil v3.21.11+incompatible // indirect
github.com/shirou/gopsutil/v4 v4.24.6 // indirect
Expand Down
16 changes: 0 additions & 16 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,6 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
Expand Down Expand Up @@ -697,8 +696,6 @@ github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 h1:oYW+YCJ1pachXTQm
github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0=
github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pierrec/lz4/v4 v4.1.15 h1:MO0/ucJhngq7299dKLwIMtgTfbkoSPF6AoMYDd8Q4q0=
github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4=
github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
github.com/pion/datachannel v1.5.8 h1:ph1P1NsGkazkjrvyMfhRBUAWMxugJjq2HfQifaOoSNo=
Expand Down Expand Up @@ -818,8 +815,6 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/schollz/progressbar/v3 v3.18.0 h1:uXdoHABRFmNIjUfte/Ex7WtuyVslrw2wVPQmCN62HpA=
github.com/schollz/progressbar/v3 v3.18.0/go.mod h1:IsO3lpbaGuzh8zIMzgY3+J8l4C8GjO0Y9S69eFvNsec=
github.com/segmentio/kafka-go v0.4.47 h1:IqziR4pA3vrZq7YdRxaT3w1/5fvIH5qpCwstUanQQB0=
github.com/segmentio/kafka-go v0.4.47/go.mod h1:HjF6XbOKh0Pjlkr5GVZxt6CsjjwnmhVOfURM5KMd8qg=
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/sethvargo/go-envconfig v1.1.0 h1:cWZiJxeTm7AlCvzGXrEXaSTCNgip5oJepekh/BOQuog=
github.com/sethvargo/go-envconfig v1.1.0/go.mod h1:JLd0KFWQYzyENqnEPWWZ49i4vzZo/6nRidxI8YvGiHw=
Expand Down Expand Up @@ -914,12 +909,6 @@ github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMI
github.com/wlynxg/anet v0.0.3/go.mod h1:eay5PRQr7fIVAMbTbchTnO9gG65Hg/uYGdc7mguHxoA=
github.com/wlynxg/anet v0.0.4 h1:0de1OFQxnNqAu+x2FAKKCVIrnfGKQbs7FQz++tB0+Uw=
github.com/wlynxg/anet v0.0.4/go.mod h1:eay5PRQr7fIVAMbTbchTnO9gG65Hg/uYGdc7mguHxoA=
github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY=
github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4=
github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8=
github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4=
Expand Down Expand Up @@ -1006,7 +995,6 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
Expand Down Expand Up @@ -1061,7 +1049,6 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
Expand Down Expand Up @@ -1144,7 +1131,6 @@ golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
Expand All @@ -1156,7 +1142,6 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
Expand All @@ -1171,7 +1156,6 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
Expand Down
2 changes: 1 addition & 1 deletion op-geth
Submodule op-geth updated 41 files
+4 −24 core/blockchain.go
+6 −1 core/blockchain_reader.go
+3 −3 core/filtermaps/filtermaps.go
+4 −4 core/filtermaps/map_renderer.go
+12 −5 core/genesis.go
+17 −0 core/rawdb/accessors_chain.go
+4 −4 core/rawdb/chain_freezer.go
+17 −14 core/rawdb/database.go
+10 −10 core/state_processor_xlayer.go
+5 −0 core/state_transition.go
+0 −132 core/txpool/xlayer_filter.go
+0 −438 core/txpool/xlayer_filter_test.go
+0 −73 core/util_xlayer.go
+0 −247 core/util_xlayer_test.go
+9 −11 core/vm/evm_xlayer.go
+0 −14 eth/api_backend.go
+2 −33 eth/backend.go
+0 −5 eth/gasprice/gasprice.go
+0 −44 eth/gasprice/gasprice_xlayer.go
+0 −52 eth/gasprice/xlayer/default_xlayer.go
+0 −103 eth/gasprice/xlayer/fixed_xlayer.go
+0 −117 eth/gasprice/xlayer/follower_xlayer.go
+0 −149 eth/gasprice/xlayer/gasprice_cache_xlayer.go
+0 −222 eth/gasprice/xlayer/gasprice_scheduler_xlayer.go
+0 −62 eth/gasprice/xlayer/gaspricesuggester_xlayer.go
+0 −274 eth/gasprice/xlayer/kafka_proc_xlayer.go
+0 −17 eth/gasprice/xlayer/utils_xlayer.go
+0 −39 eth/gasprice_backend_xlayer.go
+0 −2 go.mod
+0 −16 go.sum
+2 −58 internal/ethapi/api.go
+0 −9 internal/ethapi/api_test.go
+0 −6 internal/ethapi/backend.go
+0 −3 internal/ethapi/transaction_args_test.go
+80 −34 metrics/log_statistics.go
+0 −90 metrics/log_statistics_test.go
+0 −64 metrics/stats_store.go
+0 −66 metrics/stats_store_test.go
+3 −1 miner/miner.go
+25 −18 miner/worker.go
+1 −9 params/config.go
48 changes: 18 additions & 30 deletions test/3-op-init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ if [ -z "$FORK_BLOCK" ]; then
fi

FORK_BLOCK_HEX=$(printf "0x%x" "$FORK_BLOCK")
sed_inplace '/"config": {/,/}/ s/"optimism": {/"legacyXLayerBlock": '"$((FORK_BLOCK + 1))"',\n "optimism": {/' ./config-op/genesis.json
sed_inplace 's/"number": "0x0"/"number": "'"$FORK_BLOCK_HEX"'"/' ./config-op/genesis.json
sed_inplace 's/"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"/"parentHash": "'"$PARENT_HASH"'"/' ./config-op/genesis.json
sed_inplace '/"70997970c51812dc3a010c7d01b50e0d17dc79c8": {/,/}/ s/"balance": "[^"]*"/"balance": "0x446c3b15f9926687d2c40534fdb564000000000000"/' config-op/genesis.json
sed_inplace 's/"number": 0/"number": '"$((FORK_BLOCK + 1))"'/' ./config-op/rollup.json
sed_inplace 's/"number": 0/"number": '"$FORK_BLOCK"'/' ./config-op/rollup.json

# Extract contract addresses from state.json and update .env file
echo "🔧 Extracting contract addresses from state.json..."
Expand Down Expand Up @@ -120,33 +120,13 @@ docker compose run --no-deps --rm \
--state.scheme=hash \
/genesis.json 2>&1 | tee init.log

# Start op-geth-seq to get the block hash at FORK_BLOCK+1
echo "🚀 Starting op-geth-seq to get block hash at FORK_BLOCK+1..."
docker compose up -d op-geth-seq

# Wait for op-geth-seq to be ready
echo "⏳ Waiting for op-geth-seq to be ready..."
sleep 20
set +x
# Get the block hash at FORK_BLOCK+1
TARGET_BLOCK=$((FORK_BLOCK + 1))
echo "🔍 Getting block hash at block number: $TARGET_BLOCK"
NEW_BLOCK_HASH=$(curl -s -X POST -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBlockByNumber\",\"params\":[\"0x$(printf "%x" $TARGET_BLOCK)\",false],\"id\":1}" http://localhost:8123 | jq -r '.result.hash' 2>/dev/null)
echo "New block hash: $NEW_BLOCK_HASH"
if [ -z "$NEW_BLOCK_HASH" ] || [ "$NEW_BLOCK_HASH" = "null" ] || [ "$NEW_BLOCK_HASH" = "undefined" ]; then
echo " ❌ Failed to get block hash at block $TARGET_BLOCK"
echo "Please check if op-geth-seq is running and has produced enough blocks"
docker compose logs op-geth-seq --tail=20
# update genesis block hash in rollup.json
NEW_BLOCK_HASH=$(grep "Successfully wrote genesis state" init.log | jq -r .hash)
if [ -z "$NEW_BLOCK_HASH" ] || [ "$NEW_BLOCK_HASH" = "null" ]; then
echo " ❌ Failed to extract genesis block hash from init.log"
echo "Please check if op-geth-seq initialization was successful"
exit 1
fi
set -x

echo " ✅ Got block hash at block $TARGET_BLOCK: $NEW_BLOCK_HASH"

# Stop op-geth-seq after getting the hash
docker compose stop op-geth-seq

# update genesis block hash in rollup.json
jq ".genesis.l2.hash = \"$NEW_BLOCK_HASH\"" config-op/rollup.json > config-op/rollup.json.tmp
mv config-op/rollup.json.tmp config-op/rollup.json

Expand All @@ -157,9 +137,17 @@ echo " 🔄 Copying database from op-geth-seq to op-geth-rpc..."
rm -rf "$OP_GETH_RPC_DATADIR"
cp -r "$OP_GETH_DATADIR" "$OP_GETH_RPC_DATADIR"

# Remove nodekey to ensure op-geth-rpc generates a unique node ID
echo " 🔑 Removing nodekey to generate unique node ID for op-geth-rpc..."
rm -f "$OP_GETH_RPC_DATADIR/geth/nodekey"
if [ "$CONDUCTOR_ENABLED" = "true" ]; then
echo " 🔄 Copying database from op-geth-seq to op-geth-seq2..."
OP_GETH_SEQ2_DATADIR="$(pwd)/data/op-geth-seq2"
rm -rf "$OP_GETH_SEQ2_DATADIR"
cp -r "$OP_GETH_DATADIR" "$OP_GETH_SEQ2_DATADIR"

echo " 🔄 Copying database from op-geth-seq to op-geth-seq3..."
OP_GETH_SEQ3_DATADIR="$(pwd)/data/op-geth-seq3"
rm -rf "$OP_GETH_SEQ3_DATADIR"
cp -r "$OP_GETH_DATADIR" "$OP_GETH_SEQ3_DATADIR"
fi


if [ "$CONDUCTOR_ENABLED" = "true" ]; then
Expand Down
91 changes: 0 additions & 91 deletions test/4-op-start-service.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,97 +32,6 @@ fi

sleep 10

# Setup P2P static connections between op-geth nodes
echo "🔗 Setting up P2P static connections between op-geth nodes..."

# Function to get enode from a geth container
get_enode() {
local container_name=$1
local rpc_port=$2
local enode=$(docker exec $container_name geth attach --exec "admin.nodeInfo.enode" --datadir /datadir 2>/dev/null | tr -d '"')
echo "$enode"
}

# Function to replace 127.0.0.1 with container name in enode
replace_enode_ip() {
local enode=$1
local container_name=$2
echo "$enode" | sed "s/@127.0.0.1:/@$container_name:/"
}

# Get enodes for all op-geth containers
echo "📡 Getting enode addresses..."

# Get enodes
OP_GETH_SEQ_ENODE=$(get_enode "op-geth-seq" "8545")
OP_GETH_RPC_ENODE=$(get_enode "op-geth-rpc" "8545")

if [ "$CONDUCTOR_ENABLED" = "true" ]; then
OP_GETH_SEQ2_ENODE=$(get_enode "op-geth-seq2" "8545")
OP_GETH_SEQ3_ENODE=$(get_enode "op-geth-seq3" "8545")
fi

# Replace 127.0.0.1 with container names
OP_GETH_SEQ_ENODE=$(replace_enode_ip "$OP_GETH_SEQ_ENODE" "op-geth-seq")
OP_GETH_RPC_ENODE=$(replace_enode_ip "$OP_GETH_RPC_ENODE" "op-geth-rpc")

if [ "$CONDUCTOR_ENABLED" = "true" ]; then
OP_GETH_SEQ2_ENODE=$(replace_enode_ip "$OP_GETH_SEQ2_ENODE" "op-geth-seq2")
OP_GETH_SEQ3_ENODE=$(replace_enode_ip "$OP_GETH_SEQ3_ENODE" "op-geth-seq3")
fi

echo "✅ Enode addresses:"
echo " op-geth-seq: $OP_GETH_SEQ_ENODE"
echo " op-geth-rpc: $OP_GETH_RPC_ENODE"
if [ "$CONDUCTOR_ENABLED" = "true" ]; then
echo " op-geth-seq2: $OP_GETH_SEQ2_ENODE"
echo " op-geth-seq3: $OP_GETH_SEQ3_ENODE"
fi

# Function to add peer to a geth container
add_peer() {
local container_name=$1
local peer_enode=$2
echo "🔗 Adding peer to $container_name: $peer_enode"
docker exec $container_name geth attach --exec "admin.addPeer('$peer_enode')" --datadir /datadir 2>/dev/null
}

# Setup static connections between sequencer nodes
echo "🔗 Setting up static connections between sequencer nodes..."

# Add peers to op-geth-seq (connect to other sequencers)
echo "🔗 Setting up peers for op-geth-seq..."
if [ "$CONDUCTOR_ENABLED" = "true" ]; then
add_peer "op-geth-seq" "$OP_GETH_SEQ2_ENODE"
add_peer "op-geth-seq" "$OP_GETH_SEQ3_ENODE"
fi

if [ "$CONDUCTOR_ENABLED" = "true" ]; then
# Add peers to op-geth-seq2 (connect to other sequencers)
echo "🔗 Setting up peers for op-geth-seq2..."
add_peer "op-geth-seq2" "$OP_GETH_SEQ_ENODE"
add_peer "op-geth-seq2" "$OP_GETH_SEQ3_ENODE"

# Add peers to op-geth-seq3 (connect to other sequencers)
echo "🔗 Setting up peers for op-geth-seq3..."
add_peer "op-geth-seq3" "$OP_GETH_SEQ_ENODE"
add_peer "op-geth-seq3" "$OP_GETH_SEQ2_ENODE"
fi

# Setup RPC node to connect to all sequencer nodes
echo "🔗 Setting up RPC node to connect to all sequencer nodes..."
add_peer "op-geth-rpc" "$OP_GETH_SEQ_ENODE"
if [ "$CONDUCTOR_ENABLED" = "true" ]; then
add_peer "op-geth-rpc" "$OP_GETH_SEQ2_ENODE"
add_peer "op-geth-rpc" "$OP_GETH_SEQ3_ENODE"
fi

echo "✅ P2P static connections established:"
echo " - Sequencer nodes (op-geth-seq, op-geth-seq2, op-geth-seq3) are connected to each other"
echo " - RPC node (op-geth-rpc) is connected to all sequencer nodes"



PWD_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd $PWD_DIR
EXPORT_DIR="$PWD_DIR/data/cannon-data"
Expand Down
42 changes: 42 additions & 0 deletions test/Dockerfile.beacon-chain
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Multi-stage Docker build for beacon-chain binary
# Stage 1: Build the Go binary
FROM golang:1.22.0-alpine AS builder

# Install git, ca-certificates and build dependencies for CGO
RUN apk add --no-cache git ca-certificates gcc musl-dev g++

# Set working directory
WORKDIR /app

# Clone source code from GitHub
ARG GIT_COMMIT=v4.1.1
RUN git clone https://github.com/prysmaticlabs/prysm.git . && \
git checkout $GIT_COMMIT

# Download dependencies
RUN go mod download

# Build the beacon-chain binary with CGO enabled
RUN CGO_ENABLED=1 GOOS=linux go build \
-a -installsuffix cgo \
-ldflags="-w -s" \
-o beacon-chain \
./cmd/beacon-chain

# Stage 2: Create the final minimal image
FROM alpine:latest

# Install ca-certificates and libstdc++ for HTTPS requests and C++ runtime
RUN apk --no-cache add ca-certificates libstdc++

# Set working directory
WORKDIR /root

# Copy the binary from builder stage
COPY --from=builder /app/beacon-chain /usr/local/bin/

# Set the entrypoint
ENTRYPOINT ["beacon-chain"]

# Default command shows help
CMD ["--help"]
45 changes: 45 additions & 0 deletions test/Dockerfile.prysmctl
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Multi-stage Docker build for prysmctl binary
# Stage 1: Build the Go binary
FROM golang:1.22.0-alpine AS builder

# Install git, ca-certificates and build dependencies for CGO
RUN apk add --no-cache git ca-certificates gcc musl-dev g++

# Set working directory
WORKDIR /app

# Clone source code from GitHub
ARG GIT_COMMIT=aec349f75
RUN git clone https://github.com/prysmaticlabs/prysm.git . && \
git checkout $GIT_COMMIT

# Download dependencies
RUN go mod download

# Build the prysmctl binary with CGO enabled
RUN CGO_ENABLED=1 GOOS=linux go build \
-a -installsuffix cgo \
-ldflags="-w -s" \
-o prysmctl \
./cmd/prysmctl

# Stage 2: Create the final minimal image
FROM alpine:latest

# Install ca-certificates and libstdc++ for HTTPS requests and C++ runtime
RUN apk --no-cache add ca-certificates libstdc++


# Set working directory
WORKDIR /root

# Copy the binary from builder stage
COPY --from=builder /app/prysmctl /usr/local/bin/prysmctl



# Set the entrypoint
ENTRYPOINT ["prysmctl"]

# Default command shows help
CMD ["--help"]
Loading