Skip to content

Commit afda51e

Browse files
committed
Rename the builder containers to shadow-builder
1 parent fd9bcb8 commit afda51e

File tree

3 files changed

+28
-26
lines changed

3 files changed

+28
-26
lines changed

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,19 +38,21 @@ A Reth-based execution client that:
3838
- Syncs from production sequencer via an op-node instance (simulator-cl)
3939
- Used by the block builder stack to throttle transactions based on resource consumption
4040

41-
## 🏗️ Block Builder Stack
41+
## 🏗️ Shadow Builder Stack
4242

43-
The block builder stack enables production-ready block building with TIPS bundle integration. It consists of:
43+
The shadow builder stack enables production-ready block building with TIPS bundle integration. It consists of:
4444

45-
**builder-cl**: An op-node instance running in sequencer mode that:
45+
**shadow-builder-cl**: An op-node instance running in sequencer mode that:
4646
- Syncs from production sequencer via P2P
4747
- Drives block building through Engine API calls
48+
- Uses a placeholder sequencer key so built blocks will be rejected by the network
4849
- Does not submit blocks to L1 (shadow sequencer mode)
4950

50-
**builder**: A modified op-rbuilder instance that:
51-
- Receives Engine API calls from builder-cl
51+
**shadow-builder**: A modified op-rbuilder instance that:
52+
- Receives Engine API calls from shadow-builder-cl
5253
- Queries TIPS datastore for bundles with resource usage estimates from the simulator
5354
- Builds blocks including eligible bundles while respecting resource constraints
55+
- Runs in parallel with the production builder for testing and validation
5456

5557
**Prerequisites**:
5658
- [builder-playground](https://github.com/flashbots/builder-playground) running locally with the `niran:authorize-signers` branch
@@ -61,8 +63,8 @@ The block builder stack enables production-ready block building with TIPS bundle
6163
# Build op-rbuilder (optionally from a specific branch)
6264
just build-rbuilder
6365

64-
# Start the builder stack (requires builder-playground running)
66+
# Start the shadow builder stack (requires builder-playground running)
6567
just start-builder
6668
```
6769

68-
The builder-cl syncs from the production sequencer via P2P while op-rbuilder builds blocks with TIPS bundles. Built blocks are not submitted to L1, making this safe for testing and development.
70+
The shadow-builder-cl syncs from the production sequencer via P2P while shadow-builder builds blocks with TIPS bundles in parallel with the production builder. The shadow builder's blocks are never broadcast to the network due to the invalid sequencer key, and there is no batcher service to submit them to L1, making this safe for testing and validation without affecting production.

docker-compose.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,11 @@ services:
112112
# ENGINE CONFIGURATION (simulator-specific)
113113
OP_NODE_L2_ENGINE_RPC: http://simulator:4444
114114

115-
builder-cl:
115+
shadow-builder-cl:
116116
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.13.7
117-
container_name: tips-builder-cl
117+
container_name: tips-shadow-builder-cl
118118
depends_on:
119-
builder:
119+
shadow-builder:
120120
condition: service_started
121121
profiles:
122122
- builder
@@ -130,18 +130,18 @@ services:
130130
env_file:
131131
- .env.docker
132132
environment:
133-
# ENGINE CONFIGURATION (builder-specific, playground mode uses 4444)
134-
OP_NODE_L2_ENGINE_RPC: http://builder:4444
135-
# Enable sequencer mode so builder-cl generates payload attributes
133+
# ENGINE CONFIGURATION (shadow-builder-specific, playground mode uses 4444)
134+
OP_NODE_L2_ENGINE_RPC: http://shadow-builder:4444
135+
# Enable sequencer mode so shadow-builder-cl generates payload attributes
136136
# Using placeholder key so shadow builder blocks will be rejected by network
137137
OP_NODE_SEQUENCER_ENABLED: "true"
138138
OP_NODE_SEQUENCER_L1_CONFS: "0"
139139
OP_NODE_VERIFIER_L1_CONFS: "0"
140140
OP_NODE_P2P_SEQUENCER_KEY: "0000000000000000000000000000000000000000000000000000000000000001"
141141

142-
builder:
143-
image: tips-builder:latest
144-
container_name: tips-builder
142+
shadow-builder:
143+
image: op-rbuilder:latest
144+
container_name: tips-shadow-builder
145145
depends_on:
146146
postgres:
147147
condition: service_healthy
@@ -154,7 +154,7 @@ services:
154154
- ~/.playground/devnet/jwtsecret:/data/jwtsecret:ro
155155
- ~/.playground/devnet/rollup.json:/data/rollup.json:ro
156156
- ~/.playground/devnet:/playground
157-
command: ["node", "--datadir", "/playground/tips-builder"]
157+
command: ["node", "--datadir", "/playground/tips-shadow-builder"]
158158
env_file:
159159
- .env.docker
160160
extra_hosts:

justfile

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ playground-env: sync-env
159159

160160
echo "✓ Builder Playground environment configured successfully"
161161

162-
# Start builder stack (builder-cl + builder, simulator-cl + simulator)
162+
# Start shadow builder stack (shadow-builder-cl + shadow-builder, simulator-cl + simulator)
163163
start-builder: playground-env (start-all "builder")
164164

165165
### BUILDER COMMANDS ###
@@ -290,13 +290,13 @@ _build-rbuilder-common temp_dir tag revision:
290290
rm -f /tmp/tips-workspace-deps.txt
291291

292292
echo "Building docker image (revision: $REVISION)..."
293-
docker build -t "tips-builder:$TAG" .
294-
293+
docker build -t "op-rbuilder:$TAG" .
294+
295295
# Tag with git revision
296-
docker tag "tips-builder:$TAG" "tips-builder:$REVISION"
297-
296+
docker tag "op-rbuilder:$TAG" "op-rbuilder:$REVISION"
297+
298298
# Tag as latest for convenience
299-
docker tag "tips-builder:$TAG" tips-builder:latest
300-
301-
echo "✓ Built tips-builder:$TAG (revision: $REVISION)"
302-
docker images | grep tips-builder
299+
docker tag "op-rbuilder:$TAG" op-rbuilder:latest
300+
301+
echo "✓ Built op-rbuilder:$TAG (revision: $REVISION)"
302+
docker images | grep op-rbuilder

0 commit comments

Comments
 (0)