diff --git a/testnets/devcon/.bolt-sidecar.example.env b/testnets/devcon/.bolt-sidecar.example.env deleted file mode 100644 index 647afebb0..000000000 --- a/testnets/devcon/.bolt-sidecar.example.env +++ /dev/null @@ -1,95 +0,0 @@ -# Port to listen on for incoming JSON-RPC requests of the Commitments API. -# (This is where users will send preconfirmation requests to) -BOLT_SIDECAR_PORT=8017 - -# Execution client API URL -BOLT_SIDECAR_EXECUTION_API_URL="http://127.0.0.1:8545" - -# Beacon client API URL -BOLT_SIDECAR_BEACON_API_URL="http://127.0.0.1:5052" - -# Execution client Engine API URL. -# This is needed for fallback block building and must be a synced Geth node. -BOLT_SIDECAR_ENGINE_API_URL="http://127.0.0.1:8551" - -# Execution client Engine Secret. -# This is the secret token token to authenticate calls to the engine API. It can be -# either be a hex-encoded string or a file path to a file containing the secret. -BOLT_SIDECAR_ENGINE_JWT_HEX= - -# The port from which the Bolt sidecar will receive Builder-API requests from the Beacon client. -#  -# For Devcon, this is where the commit boost's PBS module should forward requests to. -# (From the PBS module's POV, this is the endpoint of a pbs relay) -BOLT_SIDECAR_CONSTRAINTS_PROXY_PORT=18550 - -# URL to forward the constraints produced by the Bolt sidecar to a server -# supporting the Constraints API, such as an MEV-Boost fork. -# -# For Devcon, this should be set to a pbs relay URL. -BOLT_SIDECAR_CONSTRAINTS_API_URL="https://relay-holesky.bolt.chainbound.io" - -# The fee recipient address for fallback blocks (this is the address that will receive the fees). -BOLT_SIDECAR_FEE_RECIPIENT= - -# Secret ECDSA key to sign commitment messages with. The public key associated -# to it must be then used when registering the operator in the `BoltManager` contract -# -# For Devcon, both registration and validation are skipped so any key can be used. -# You can generate one with `openssl rand -hex 32` and set it here. -BOLT_SIDECAR_COMMITMENT_PRIVATE_KEY= - -# Secret BLS key to sign fallback payloads with. This should be a BLS secret of 32 bytes. -# You can generate one for testing purposes at https://iancoleman.io/eip2333/ -BOLT_SIDECAR_BUILDER_PRIVATE_KEY=0c824d40ad3545b4973d1d491d7e8f318536b3aad11609ecdf51d2894fd8cac0 - -# Unsafe flags --- these are NOT to be used in production. -# These MUST be set for the Devcon experiment, otherwise the sidecar will not work. -BOLT_SIDECAR_UNSAFE_DISABLE_CONSENSUS_CHECKS="true" -BOLT_SIDECAR_UNSAFE_DISABLE_ONCHAIN_CHECKS="true" - -# Commitments limits -# Max number of commitments to accept per block -BOLT_SIDECAR_MAX_COMMITMENTS_PER_SLOT=128 - -# Max committed gas per slot -BOLT_SIDECAR_MAX_COMMITTED_GAS_PER_SLOT=10000000 - -# Min priority fee to accept for a commitment -BOLT_SIDECAR_MIN_PRIORITY_FEE=4000000000 # 4 Gwei = 4 * 10^9 wei - -# Chain configuration -# Chain on which the sidecar is running -BOLT_SIDECAR_CHAIN="mainnet" - -# The slot time duration in seconds. If provided, it overrides the default for -# the selected [chain] -BOLT_SIDECAR_SLOT_TIME=12 - -# The deadline in the slot at which the sidecar will stop accepting new -# commitments for the next block (parsed as milliseconds) -BOLT_SIDECAR_COMMITMENT_DEADLINE=8000 - -# Enable a two-epoch lookahead by enabling unsafe lookahead option -BOLT_SIDECAR_ENABLE_UNSAFE_LOOKAHEAD=true - -# Signing options. -# -# For Devcon, constraint signature verification is skipped so any key can be used. -# This is the BLS private key used to sign constraints. -# You can generate one for testing purposes at https://iancoleman.io/eip2333/ -BOLT_SIDECAR_CONSTRAINT_PRIVATE_KEY=70c348842ca8d995f4a6f10e367b6ae2690762b84b084776393519c0f8939f9d - -# Alternative signing options. We don't need these for Devcon. -# -# BOLT_SIDECAR_CB_SIGNER_URL= -# BOLT_SIDECAR_CB_JWT_HEX= -# BOLT_SIDECAR_KEYSTORE_PASSWORD= -# BOLT_SIDECAR_KEYSTORE_SECRETS_PATH= -# BOLT_SIDECAR_KEYSTORE_PATH= -# BOLT_SIDECAR_DELEGATIONS_PATH= - -# Telemetry and Metrics -# Changing this requires also changing the `target.json` file -BOLT_SIDECAR_METRICS_PORT=9091 -BOLT_SIDECAR_DISABLE_METRICS=false diff --git a/testnets/devcon/.cb.env b/testnets/devcon/.cb.env deleted file mode 100644 index 20a19d1da..000000000 --- a/testnets/devcon/.cb.env +++ /dev/null @@ -1,2 +0,0 @@ -CB_JWT_BOLT=gDe1u93coRk7cNxe8yyAbGVEpuTIS8R3 -CB_JWTS=BOLT=gDe1u93coRk7cNxe8yyAbGVEpuTIS8R3 diff --git a/testnets/devcon/.gitignore b/testnets/devcon/.gitignore deleted file mode 100644 index ede2760f0..000000000 --- a/testnets/devcon/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.bolt-sidecar.env \ No newline at end of file diff --git a/testnets/devcon/README.md b/testnets/devcon/README.md deleted file mode 100644 index 07153f447..000000000 --- a/testnets/devcon/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# Devcon Validators Launch Instructions - -Validators can run Bolt through the `bolt-sidecar` commit-boost module. - -You can get started with the docker-compose file available [here](./cb.docker-compose.yml). - -Before being able to run it, you need to create a `.bolt-sidecar.env` file from the provided example: - -```bash -cp .bolt-sidecar.example.env .bolt-sidecar.env -``` - -You can then modify the `.bolt-sidecar.env` file with your own configuration. -Comments and explanations are provided in the file. - -After you're done, you can start the setup with the following command -(from the same directory as the `cb.docker-compose.yml` file): - -```bash -docker-compose -f cb.docker-compose.yml --env-file .cb.env up -d -``` - -## Connecting Validators - -Once the setup is running, you can point your beacon node's `builder-endpoint` to the commit-boost PBS module. -In the provided config files, this is exposed on the host at port 18550, and should be reachable at `http://localhost:18550`. - -## Architecture Overview - -Here is an overview of the setup you will be running: - -![Architecture Overview](./cb-devcon-architecture.png) diff --git a/testnets/devcon/cb-config.toml b/testnets/devcon/cb-config.toml deleted file mode 100644 index 0b9efeab4..000000000 --- a/testnets/devcon/cb-config.toml +++ /dev/null @@ -1,103 +0,0 @@ -# The main configuration file for the Commit-Boost sidecar. -# Some fields are optional and can be omitted, in which case the default value, if present, will be used. - -# Chain spec id. Supported values: Mainnet, Holesky, Helder -chain = "Mainnet" - -# Configuration for the PBS module -[pbs] -# Docker image to use for the PBS module. -# BOLT: We use the bolt-boost PBS module here. -docker_image = "ghcr.io/commit-boost/pbs:latest" -# Whether to enable the PBS module to request signatures from the Signer module (not used in the default PBS image) -# OPTIONAL, DEFAULT: false -with_signer = false -# Port to receive BuilderAPI calls from beacon node -port = 18550 -# Whether to forward `status` calls to relays or skip and return 200 -# OPTIONAL, DEFAULT: true -relay_check = false -# Timeout in milliseconds for the `get_header` call to relays. Note that the CL has also a timeout (e.g. 1 second) so -# this should be lower than that, leaving some margin for overhead -# OPTIONAL, DEFAULT: 950 -timeout_get_header_ms = 950 -# Timeout in milliseconds for the `submit_blinded_block` call to relays. -# OPTIONAL, DEFAULT: 4000 -timeout_get_payload_ms = 4000 -# Timeout in milliseconds for the `register_validator` call to relays. -# OPTIONAL, DEFAULT: 3000 -timeout_register_validator_ms = 3000 -# Whether to skip signature verification of headers against the relay pubkey -# OPTIONAL, DEFAULT: false -skip_sigverify = true -# Minimum bid in ETH that will be accepted from `get_header` -# OPTIONAL, DEFAULT: 0.0 -min_bid_eth = 0.0 -# List of URLs of relay monitors to send registrations to -# OPTIONAL -relay_monitors = [] -# How late in milliseconds in the slot is "late". This impacts the `get_header` requests, by shortening timeouts for `get_header` calls to -# relays and make sure a header is returned within this deadline. If the request from the CL comes later in the slot, then fetching headers is skipped -# to force local building and miniminzing the risk of missed slots. See also the timing games section below -# OPTIONAL, DEFAULT: 2000 -late_in_slot_time_ms = 1000 - -# The PBS module needs one or more [[relays]] as defined below. -[[relays]] -# Relay ID to use in telemetry -# OPTIONAL, DEFAULT: URL hostname -id = "bolt-sidecar" -# Relay URL in the format scheme://pubkey@host -url = "http://0xa55c1285d84ba83a5ad26420cd5ad3091e49c55a813eee651cd467db38a8c8e63192f47955e9376f6b42f6d190571cb5@cb_bolt:18550" -# Headers to send with each request for this relay -# OPTIONAL -# headers = { X-MyCustomHeader = "MyCustomValue" } - -# Commit-Boost can optionally run "modules" which extend the capabilities of the sidecar. -# Currently, two types of modules are supported: -# - "commit": modules which request commitment signatures from the validator keys -# - "events": modules which callback to BuilderAPI events as triggered from the PBS modules, used e.g. for monitoring -# If any "commit" module is present, then the [signer] section should also be configured -# OPTIONAL -[[modules]] -# Unique ID of the module -id = "BOLT" -# Type of the module. Supported values: commit, events -type = "commit" -# Docker image of the module -docker_image = "ghcr.io/chainbound/bolt-sidecar:v0.3.0-alpha.rc2" - -[modules.env] -# The bolt sidecar uses its own env file so we don't need to add stuff here. - -# Configuration for how metrics should be collected and scraped -# OPTIONAL, skip metrics collection if missing -[metrics] -# Path to a `prometheus.yml` file to use in Prometheus. If using a custom config file, be sure to add a -# file discovery section as follows: -# ```yml -# file_sd_configs: -# - files: -# - /etc/prometheus/targets.json -# ``` -# and use the `targets.json` file generated by `commit-boost init` -prometheus_config = "./cb-prometheus.yml" -# Whether to start Grafana with built-in dashboards -# OPTIONAL, DEFAULT: true -use_grafana = true -# Whether to start cadvisor for system monitoring -# OPTIONAL, DEFAULT: true -use_cadvisor = true - -# Configuration for how logs should be collected and stored -# OPTIONAL, info to stdout if missing -[logs] -# Path to the log directory -# OPTIONAL, DEFAULT: /var/logs/commit-boost -log_dir_path = "./logs" -# Log level. Supported values: trace, debug, info, warn, error -# OPTIONAL, DEFAULT: debug to file, info to stdout -log_level = "debug" -# Maximum number of log files to keep -# OPTIONAL -max_log_files = 30 diff --git a/testnets/devcon/cb-devcon-architecture.png b/testnets/devcon/cb-devcon-architecture.png deleted file mode 100644 index 0d5de0634..000000000 Binary files a/testnets/devcon/cb-devcon-architecture.png and /dev/null differ diff --git a/testnets/devcon/cb-prometheus.yml b/testnets/devcon/cb-prometheus.yml deleted file mode 100644 index 91b5d5905..000000000 --- a/testnets/devcon/cb-prometheus.yml +++ /dev/null @@ -1,8 +0,0 @@ -global: - scrape_interval: 15s - -scrape_configs: - - job_name: "commit-boost" - file_sd_configs: - - files: - - /etc/prometheus/targets.json diff --git a/testnets/devcon/cb.docker-compose.yml b/testnets/devcon/cb.docker-compose.yml deleted file mode 100644 index 6128bef72..000000000 --- a/testnets/devcon/cb.docker-compose.yml +++ /dev/null @@ -1,98 +0,0 @@ -services: - cb_bolt: - image: ghcr.io/chainbound/bolt-sidecar:v0.3.0-alpha.rc2 - container_name: cb_bolt - env_file: - - .bolt-sidecar.env - environment: - CB_MODULE_ID: BOLT - CB_CONFIG: /cb-config.toml - CB_SIGNER_JWT: ${CB_JWT_BOLT} - CB_SIGNER_URL: http://cb_signer:20000 - ports: - - 8017:8017 - networks: - - signer_network - - monitoring_network - depends_on: - - cb_signer - cb_pbs: - image: ghcr.io/commit-boost/pbs:latest - container_name: cb_pbs - ports: - - 18550:18550 - environment: - CB_CONFIG: /cb-config.toml - CB_METRICS_PORT: 10000 - CB_LOGS_DIR: /var/logs/commit-boost - volumes: - - ./cb-bolt-config.toml:/cb-config.toml:ro - - ./logs/pbs:/var/logs/commit-boost - networks: - - monitoring_network - cb_signer: - image: ghcr.io/commit-boost/signer:latest - container_name: cb_signer - environment: - CB_CONFIG: /cb-config.toml - CB_JWTS: ${CB_JWTS} - CB_SIGNER_PORT: 20000 - CB_METRICS_PORT: 10000 - CB_LOGS_DIR: /var/logs/commit-boost - CB_SIGNER_LOADER_FILE: /keys.json - volumes: - - ./cb-bolt-config.toml:/cb-config.toml:ro - - ././keys.json:/keys.json:ro - - ./logs/signer:/var/logs/commit-boost - networks: - - signer_network - - monitoring_network - cb_prometheus: - image: prom/prometheus:latest - container_name: cb_prometheus - ports: - - 9090:9090 - volumes: - - ./cb-prometheus.yml:/etc/prometheus/prometheus.yml - - ./targets.json:/etc/prometheus/targets.json - - prometheus-data:/prometheus - networks: - - monitoring_network - cb_grafana: - image: grafana/grafana:latest - container_name: cb_grafana - ports: - - 3000:3000 - environment: - - GF_SECURITY_ADMIN_PASSWORD=admin - volumes: - - ./grafana/dashboards:/etc/grafana/provisioning/dashboards - - ./grafana/datasources:/etc/grafana/provisioning/datasources - - grafana-data:/var/lib/grafana - networks: - - monitoring_network - depends_on: - - cb_prometheus - logging: - driver: none - cb_cadvisor: - image: gcr.io/cadvisor/cadvisor - container_name: cb_cadvisor - ports: - - 8080:8080 - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro - - /sys:/sys:ro - - /var/lib/docker/:/var/lib/docker:ro - networks: - - monitoring_network -volumes: - prometheus-data: - driver: local - grafana-data: - driver: local -networks: - monitoring_network: - driver: bridge - signer_network: - driver: bridge diff --git a/testnets/devcon/targets.json b/testnets/devcon/targets.json deleted file mode 100644 index 95216793f..000000000 --- a/testnets/devcon/targets.json +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - "targets": ["cb_bolt:10000"], - "labels": { - "job": "cb_bolt" - } - }, - { - "targets": ["cb_pbs:10000"], - "labels": { - "job": "pbs" - } - }, - { - "targets": ["cb_cadvisor:8080"], - "labels": { - "job": "cadvisor" - } - } -]