Files
mev-beta/bin
Administrator 7694811784 ...
2025-11-17 20:45:05 +01:00
..
...
2025-11-17 20:45:05 +01:00
...
2025-11-17 20:45:05 +01:00
...
2025-11-17 20:45:05 +01:00
...
2025-11-17 20:45:05 +01:00
...
2025-11-17 20:45:05 +01:00

Foundry Container Wrappers

All Foundry tools MUST run through Podman containers, not bare processes.

Usage

From the /docker/mev-beta directory:

# Cast (RPC calls)
./bin/cast block-number --rpc-url http://localhost:8545
./bin/cast balance 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --rpc-url http://localhost:8545

# Forge (build, test, deploy)
./bin/forge build
./bin/forge test
./bin/forge script <script>

# Anvil (runs as persistent container)
# DO NOT run ./bin/anvil directly!
# Anvil runs as: mev-bot-anvil container
podman logs mev-bot-anvil        # View logs
podman restart mev-bot-anvil     # Restart
podman stop mev-bot-anvil        # Stop

Why Container-Only?

Problems with bare processes:

  • No process isolation
  • No automatic restart on failure
  • No resource limits
  • Manual cleanup required
  • Inconsistent with infrastructure

Container benefits:

  • Automatic restart policies
  • Resource limits and quotas
  • Clean shutdown and cleanup
  • Integrated with container stack
  • Version management through image tags

Implementation

  • cast: Runs ephemeral container for each command
  • forge: Runs ephemeral container with workspace volume mount
  • anvil: Runs as persistent container (mev-bot-anvil)

Do NOT Use

/home/administrator/.foundry/bin/anvil /home/administrator/.foundry/bin/cast /home/administrator/.foundry/bin/forge

/docker/mev-beta/bin/cast (Podman wrapper) /docker/mev-beta/bin/forge (Podman wrapper) podman logs mev-bot-anvil (Container management)