From 0d53cb3fa5d25b17ae356f931618eb4f966cddd0 Mon Sep 17 00:00:00 2001 From: Josh Stein <46639943+jcstein@users.noreply.github.com> Date: Wed, 4 Feb 2026 17:53:22 -0700 Subject: [PATCH 1/5] docs: add documentation for bridge node pruning changes (WIP) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add comprehensive documentation updates for upcoming bridge node changes: - Document new default pruning mode for bridge nodes (PR #4768) - Add --archival flag documentation for full historical data retention - Include routing exchange optimization notes (PR #4758) - Update hardware requirements to clarify pruned vs archival modes - Add migration guide for existing bridge node operators - Update custom networks docs with genesis hash requirements - Add breaking change warnings across all relevant pages Note: Version placeholders (TODO) added pending release of PR #4768 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../data-availability/bridge-node/page.mdx | 114 +++++++++++++++++- .../config-reference/page.mdx | 22 ++++ .../custom-networks/page.mdx | 38 ++++++ .../hardware-requirements/page.mdx | 8 +- app/operate/networks/arabica-devnet/page.mdx | 2 +- app/operate/networks/local-devnet/page.mdx | 3 + app/operate/networks/mainnet-beta/page.mdx | 19 ++- app/operate/networks/mocha-testnet/page.mdx | 2 +- 8 files changed, 199 insertions(+), 9 deletions(-) diff --git a/app/operate/data-availability/bridge-node/page.mdx b/app/operate/data-availability/bridge-node/page.mdx index 0050ff2a1fc..e1fff80c2b7 100644 --- a/app/operate/data-availability/bridge-node/page.mdx +++ b/app/operate/data-availability/bridge-node/page.mdx @@ -8,6 +8,10 @@ import { Callout, Steps, Tabs } from 'nextra/components' This tutorial will go over the steps to set up your Celestia bridge node. + +**Breaking Change**: Starting from celestia-node [TODO: Add version from PR #4768], bridge nodes now have pruning enabled by default. This means they will only store a limited amount of historical data. To run an archival bridge node that stores all historical data from genesis, you must use the `--archival` flag. See the [pruning vs archival modes](#pruning-vs-archival-modes) section for details. + + Bridge nodes connect the data availability layer and the consensus layer. ## Overview of bridge nodes @@ -42,7 +46,42 @@ From an implementation perspective, Bridge nodes run two separate processes: - **celestia-node** augments the above with a separate libp2p network that serves data availability sampling requests. The team sometimes refers to - this as the “halo” network. + this as the "halo" network. + +## Pruning vs archival modes + +Bridge nodes can operate in two modes: + +### Pruned mode (default) +- **Default behavior**: Bridge nodes now prune old data automatically +- Stores only recent blocks within the availability window +- Significantly reduces storage requirements +- Can sync from a recent height or hash instead of genesis +- Suitable for most use cases + +### Archival mode +- Stores all historical data from genesis +- Requires the `--archival` flag to enable +- Much higher storage requirements (see [hardware requirements](/operate/getting-started/hardware-requirements)) +- Necessary for applications requiring full historical data access +- Required if you need to serve data to light nodes for blocks outside the availability window + + +**Routing Exchange Optimization**: Bridge nodes automatically optimize header synchronization using a routing exchange mechanism. Requests within the data availability window are routed to the core exchange for complete blocks, while requests outside the window are routed to the P2P exchange for headers only. This optimization happens automatically without any configuration needed. + + +### Choosing between modes + +Use **pruned mode** (default) if you: +- Want lower storage requirements +- Only need recent blockchain data +- Are running a standard bridge node for the network + +Use **archival mode** (`--archival` flag) if you: +- Need access to full historical data +- Are running infrastructure that requires all blocks from genesis +- Want to serve data for blocks outside the availability window +- Are running a bridge node on a private network without proper genesis hash configuration ## Hardware requirements @@ -74,6 +113,12 @@ Run the following: celestia bridge init --core.ip --core.port ``` +To initialize an archival bridge node that stores all historical data: + +```sh +celestia bridge init --core.ip --core.port --archival +``` + After v0.21.5, the `--core.port` must be specified. In most cases, it is port 9090 by default. @@ -98,19 +143,33 @@ Here is an example of initializing the bridge node: ```sh + # Pruned mode (default) celestia bridge init --core.ip --core.port + + # Archival mode + celestia bridge init --core.ip --core.port --archival ``` ```sh + # Pruned mode (default) celestia bridge init --core.ip --core.port \ --p2p.network mocha + + # Archival mode + celestia bridge init --core.ip --core.port \ + --p2p.network mocha --archival ``` ```sh + # Pruned mode (default) celestia bridge init --core.ip --core.port \ --p2p.network arabica + + # Archival mode + celestia bridge init --core.ip --core.port \ + --p2p.network arabica --archival ``` @@ -121,20 +180,33 @@ Here is an example of initializing the bridge node: Start the bridge node with a connection to a consensus node's gRPC endpoint, which is usually exposed on port 9090: ```sh +# Pruned mode (default) celestia bridge start --core.ip --core.port + +# Archival mode +celestia bridge start --core.ip --core.port --archival ``` Here is an example of starting the bridge node on Mocha: ```sh +# Pruned mode (default) celestia bridge start --core.ip rpc-mocha.pops.one --core.port 9090 --p2p.network mocha + +# Archival mode +celestia bridge start --core.ip rpc-mocha.pops.one --core.port 9090 --p2p.network mocha --archival ``` And on Arabica: ```sh +# Pruned mode (default) celestia bridge start --core.ip validator-1.celestia-{{constants['arabicaChainId']}}.com \ --p2p.network arabica --core.port 9090 + +# Archival mode +celestia bridge start --core.ip validator-1.celestia-{{constants['arabicaChainId']}}.com \ + --p2p.network arabica --core.port 9090 --archival ``` If you're connecting your bridge node to a localhost consensus node (`--core.ip localhost` or `--core.ip 127.0.0.1`), ensure that gRPC is enabled in your consensus node's `app.toml` configuration file. Look for the `[grpc]` section and verify that `enable = true` is set: @@ -223,3 +295,43 @@ You have successfully set up a bridge node that is syncing with the network. Follow the [tutorial on how to set up your DA node to use on-fly compression with ZFS](/operate/data-availability/storage-optimization). + +## Migration guide for existing bridge nodes + +If you're running an existing bridge node and upgrading to celestia-node [TODO: Add version from PR #4768] or later, you need to be aware of the pruning changes: + +### For nodes that need full historical data + +If your bridge node needs to maintain full historical data: + +1. Stop your existing bridge node +2. Add the `--archival` flag to your start command +3. Restart your node + +Example: +```sh +# Old command +celestia bridge start --core.ip --core.port + +# New command with archival mode +celestia bridge start --core.ip --core.port --archival +``` + +### For nodes that can use pruned mode + +If your bridge node doesn't need full historical data: + +1. Your node will automatically start pruning old data after the upgrade +2. No action required - this is now the default behavior +3. Storage usage will gradually decrease as old data is pruned + +### For private networks + + +**Important for Private Networks**: If you're running a bridge node on a private network without the `--archival` flag, you must provide the genesis hash. Without it, the node will fail to start. See [custom networks documentation](/operate/data-availability/custom-networks) for details on configuring the genesis hash. + + +Options for private network operators: +1. **Use archival mode**: Add `--archival` to maintain existing behavior +2. **Configure genesis hash**: Set up `CELESTIA_CUSTOM` environment variable with your network's genesis hash +3. **Use SyncFromHeight or SyncFromHash**: Configure the node to sync from a specific height or hash diff --git a/app/operate/data-availability/config-reference/page.mdx b/app/operate/data-availability/config-reference/page.mdx index 238a02ddc9c..f6c02059782 100644 --- a/app/operate/data-availability/config-reference/page.mdx +++ b/app/operate/data-availability/config-reference/page.mdx @@ -66,3 +66,25 @@ in config file. Any Celestia bridge node can be a trusted peer for the light one. However, the light node by design can not be a trusted peer for another light node. + +#### Pruning Configuration (Bridge Nodes) + +Starting from [TODO: Add version from PR #4768], bridge nodes support pruning configuration: + +- `PruningWindow`: Defines how many blocks to keep (0 = keep all, default for non-archival nodes) +- `SyncFromHeight`: Specifies a specific height to start syncing from (for pruned nodes) +- `SyncFromHash`: Specifies a specific block hash to start syncing from (for pruned nodes) +- `--archival` flag: Disables pruning entirely and syncs all data from genesis + +Example configuration for a pruned bridge node: +```toml +[Services] +TrustedHash = "580B3DFF8A7C716968161D91116A1E171F486298D582874E93714E489C9E6E88" +SyncFromHeight = 1000000 # Start from block 1,000,000 +``` + +For archival bridge nodes, use the `--archival` flag when initializing and starting: +```bash +celestia bridge init --core.ip --core.port --archival +celestia bridge start --core.ip --core.port --archival +``` diff --git a/app/operate/data-availability/custom-networks/page.mdx b/app/operate/data-availability/custom-networks/page.mdx index 974598d78e8..e95611418cf 100644 --- a/app/operate/data-availability/custom-networks/page.mdx +++ b/app/operate/data-availability/custom-networks/page.mdx @@ -8,6 +8,12 @@ This section will cover importing bootstrapper IDs, chain ID, and network ID. This will allow you to import custom values for a chain that is not in the default configuration. +> **Important for Bridge Nodes**: Starting from [TODO: Add version from PR #4768], bridge nodes default to pruning mode. For private networks, you **must** either: +> - Use the `--archival` flag to run an archival node, OR +> - Provide a valid genesis hash configuration as shown below +> +> Without one of these options, bridge nodes on private networks will fail to start. + If you have a custom network you can export `CELESTIA_CUSTOM`, which will look something like: @@ -31,5 +37,37 @@ export CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}" Then, start your node with: ```bash +# For bridge nodes with pruning (default) +celestia bridge start [flags...] + +# For archival bridge nodes (no genesis hash required) +celestia bridge start --archival [flags...] + +# For other node types celestia start [flags...] ``` + +## Bridge node specific configuration + +For bridge nodes on custom networks, you have three options: + +1. **Use archival mode** (simplest for private networks): + ```bash + celestia bridge init --archival --core.ip --core.port + celestia bridge start --archival --core.ip --core.port + ``` + +2. **Configure with genesis hash** (for pruned nodes): + ```bash + # Set up the environment variable with genesis hash + export CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}" + celestia bridge init --core.ip --core.port + celestia bridge start --core.ip --core.port + ``` + +3. **Sync from a specific height or hash**: + ```bash + # Configure in config.toml after initialization + [Services] + SyncFromHeight = 1000 # Or use SyncFromHash + ``` diff --git a/app/operate/getting-started/hardware-requirements/page.mdx b/app/operate/getting-started/hardware-requirements/page.mdx index 8a9b342dbcc..c8e58dcc119 100644 --- a/app/operate/getting-started/hardware-requirements/page.mdx +++ b/app/operate/getting-started/hardware-requirements/page.mdx @@ -6,7 +6,7 @@ description: Recommended hardware profiles for Celestia node types. ## Data availability nodes -### Non-archival data availability nodes +### Non-archival data availability nodes (pruned) | Node type | Memory | CPU | Disk | Bandwidth | | ----------- | ---------- | ----------- | ----------- | --------- | @@ -15,15 +15,19 @@ description: Recommended hardware profiles for Celestia node types. Non-archival node requirements are based on the maximum possible throughput at 128MB/6s for 7 days. Operators may provision less by pruning more aggressively **at their own risk**. +> **Note**: Starting from [TODO: Add version from PR #4768], bridge nodes default to pruning mode. These are the recommended specifications for pruned nodes. + ### Archival data availability nodes | Node type | Memory | CPU | Disk | Bandwidth | | ----------------------------- | ---------- | ----------- | -------------- | --------- | | Light node (unpruned headers) | 500 MB RAM | Single core | 7 TiB NVME\* | 56 Kbps | -| Bridge node | 64 GB RAM | 32 cores | 637 TiB NVME\* | 1 Gbps | +| Bridge node (--archival flag) | 64 GB RAM | 32 cores | 637 TiB NVME\* | 1 Gbps | \*Archival disk requirement is based on the current v6 128MB/6s throughput at maximum capacity for one year. In reality the requirement can be much lower and we advise regularly checking disk usage and having at least 1 month worth of max throughput of extra disk space. +> **Important**: To run an archival bridge node, you must use the `--archival` flag when initializing and starting the node. + ## Consensus nodes ### Non-archival consensus nodes diff --git a/app/operate/networks/arabica-devnet/page.mdx b/app/operate/networks/arabica-devnet/page.mdx index 389912e23c7..31bb308a642 100644 --- a/app/operate/networks/arabica-devnet/page.mdx +++ b/app/operate/networks/arabica-devnet/page.mdx @@ -67,7 +67,7 @@ These RPC providers are meant to be used in production environments and for specific use cases that require reliable access to full block history, such as: -- Running Bridge Nodes that download data from core RPC endpoints +- Running Bridge Nodes that download data from core RPC endpoints (Note: Bridge nodes will default to pruning mode in upcoming release - see PR #4768) - Applications that need Bridge Node endpoints with guaranteed uptime and SLAs - Submitting blobs in production settings (free RPC endpoints have no guarantees, even for submitting transactions) diff --git a/app/operate/networks/local-devnet/page.mdx b/app/operate/networks/local-devnet/page.mdx index 5e90a35702c..eb609ad77f8 100644 --- a/app/operate/networks/local-devnet/page.mdx +++ b/app/operate/networks/local-devnet/page.mdx @@ -26,6 +26,8 @@ Install [Docker and Docker Compose](https://docs.docker.com/get-docker). Create a `docker-compose.yml` file with the following content: +> **Note**: The bridge node in this example uses `--archival` mode to avoid genesis hash configuration requirements for private networks. Remove this flag if you want to use pruning mode and have configured the genesis hash. + ```yaml version: "3.8" services: @@ -61,6 +63,7 @@ Create a `docker-compose.yml` file with the following content: --core.ip celestia-validator --rpc.addr 0.0.0.0 --rpc.port 26658 + --archival depends_on: - celestia-validator networks: diff --git a/app/operate/networks/mainnet-beta/page.mdx b/app/operate/networks/mainnet-beta/page.mdx index c7b093b157e..8ecc0a740c2 100644 --- a/app/operate/networks/mainnet-beta/page.mdx +++ b/app/operate/networks/mainnet-beta/page.mdx @@ -107,7 +107,7 @@ These RPC providers are meant to be used in production environments and for specific use cases that require reliable access to full block history, such as: -- Running Bridge Nodes that download data from core RPC endpoints +- Running Bridge Nodes that download data from core RPC endpoints (Note: Bridge nodes will default to pruning mode in upcoming release - see PR #4768. Use `--archival` flag for full history) - Applications that need Bridge Node endpoints with guaranteed uptime and SLAs - Submitting blobs in production settings (free RPC endpoints have no guarantees, even for submitting transactions) @@ -186,10 +186,21 @@ celestia light start --core.ip rpc.celestia.pops.one --core.port 9090 ### Bridge node requirements -Not all RPC endpoints guarantee the full block history. -Bridge nodes require access to the full historical block data, so you should use an archive endpoint to run your bridge node. + +**Important Change**: Starting from [TODO: Add version from PR #4768], bridge nodes default to pruning mode. If you need full historical data, you must use the `--archival` flag when starting your bridge node. + -Check the [production endpoints](#production-rpc-endpoints) or the [community dashboard](https://celestia-tools.brightlystake.com/) to identify which endpoints are archive nodes with full historical data. +For archival bridge nodes (using `--archival` flag): +- Not all RPC endpoints guarantee the full block history +- Bridge nodes with `--archival` flag require access to the full historical block data +- Use an archive endpoint to run your archival bridge node +- Check the [production endpoints](#production-rpc-endpoints) or the [community dashboard](https://celestia-tools.brightlystake.com/) to identify which endpoints are archive nodes + +For pruned bridge nodes (default): +- Will only store recent data within the availability window +- Can sync from a recent height or hash +- Significantly lower storage requirements +- Suitable for most use cases Alternatively, you can run your own consensus node with no pruning for your bridge node. diff --git a/app/operate/networks/mocha-testnet/page.mdx b/app/operate/networks/mocha-testnet/page.mdx index 3f5ee22dadd..6b6d0d5dd56 100644 --- a/app/operate/networks/mocha-testnet/page.mdx +++ b/app/operate/networks/mocha-testnet/page.mdx @@ -31,7 +31,7 @@ Consensus: Data Availability: -- [Bridge node](/operate/data-availability/bridge-node) +- [Bridge node](/operate/data-availability/bridge-node) *(Note: Bridge nodes will default to pruning mode in upcoming release - see PR #4768)* - [Light node](/operate/data-availability/light-node/quickstart) Select the type of node you would like to run and follow the instructions From d5972ad8ece4f3837a88f7feaa10c1742227500b Mon Sep 17 00:00:00 2001 From: Josh Stein <46639943+jcstein@users.noreply.github.com> Date: Fri, 6 Feb 2026 11:23:42 -0500 Subject: [PATCH 2/5] Apply suggestion from @jcstein --- app/operate/data-availability/custom-networks/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/operate/data-availability/custom-networks/page.mdx b/app/operate/data-availability/custom-networks/page.mdx index e95611418cf..89d4ebc25a8 100644 --- a/app/operate/data-availability/custom-networks/page.mdx +++ b/app/operate/data-availability/custom-networks/page.mdx @@ -66,7 +66,7 @@ For bridge nodes on custom networks, you have three options: ``` 3. **Sync from a specific height or hash**: - ```bash + ```toml # Configure in config.toml after initialization [Services] SyncFromHeight = 1000 # Or use SyncFromHash From b0ab3393f7f84165c6e60a7768815e784f647e2a Mon Sep 17 00:00:00 2001 From: Josh Stein <46639943+jcstein@users.noreply.github.com> Date: Fri, 6 Feb 2026 15:37:43 -0700 Subject: [PATCH 3/5] docs: clarify PruningWindow configuration description - Fixed confusing description that incorrectly implied 0 was default for non-archival nodes - Clarified that 0 disables pruning (archival mode) - Added note about typical default window for non-archival nodes --- app/operate/data-availability/config-reference/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/operate/data-availability/config-reference/page.mdx b/app/operate/data-availability/config-reference/page.mdx index f6c02059782..3537b799a6e 100644 --- a/app/operate/data-availability/config-reference/page.mdx +++ b/app/operate/data-availability/config-reference/page.mdx @@ -71,7 +71,7 @@ the light node by design can not be a trusted peer for another light node. Starting from [TODO: Add version from PR #4768], bridge nodes support pruning configuration: -- `PruningWindow`: Defines how many blocks to keep (0 = keep all, default for non-archival nodes) +- `PruningWindow`: Defines how many blocks to keep in local storage. Set to 0 to disable pruning and keep all blocks (archival mode). Non-archival nodes typically use a default window like 30 days of blocks. - `SyncFromHeight`: Specifies a specific height to start syncing from (for pruned nodes) - `SyncFromHash`: Specifies a specific block hash to start syncing from (for pruned nodes) - `--archival` flag: Disables pruning entirely and syncs all data from genesis From 69b7b0947a80817d8cd6f138af17be78925faaa4 Mon Sep 17 00:00:00 2001 From: Josh Stein <46639943+jcstein@users.noreply.github.com> Date: Fri, 6 Feb 2026 16:15:13 -0700 Subject: [PATCH 4/5] docs: simplify migration guide to TODO placeholder - Removed premature migration instructions for unreleased feature - Will add proper guidance once PR #4768 is released with version info - Avoids confusion with untested migration steps --- .../data-availability/bridge-node/page.mdx | 38 +------------------ 1 file changed, 1 insertion(+), 37 deletions(-) diff --git a/app/operate/data-availability/bridge-node/page.mdx b/app/operate/data-availability/bridge-node/page.mdx index e1fff80c2b7..db78d31ab03 100644 --- a/app/operate/data-availability/bridge-node/page.mdx +++ b/app/operate/data-availability/bridge-node/page.mdx @@ -298,40 +298,4 @@ Follow the ## Migration guide for existing bridge nodes -If you're running an existing bridge node and upgrading to celestia-node [TODO: Add version from PR #4768] or later, you need to be aware of the pruning changes: - -### For nodes that need full historical data - -If your bridge node needs to maintain full historical data: - -1. Stop your existing bridge node -2. Add the `--archival` flag to your start command -3. Restart your node - -Example: -```sh -# Old command -celestia bridge start --core.ip --core.port - -# New command with archival mode -celestia bridge start --core.ip --core.port --archival -``` - -### For nodes that can use pruned mode - -If your bridge node doesn't need full historical data: - -1. Your node will automatically start pruning old data after the upgrade -2. No action required - this is now the default behavior -3. Storage usage will gradually decrease as old data is pruned - -### For private networks - - -**Important for Private Networks**: If you're running a bridge node on a private network without the `--archival` flag, you must provide the genesis hash. Without it, the node will fail to start. See [custom networks documentation](/operate/data-availability/custom-networks) for details on configuring the genesis hash. - - -Options for private network operators: -1. **Use archival mode**: Add `--archival` to maintain existing behavior -2. **Configure genesis hash**: Set up `CELESTIA_CUSTOM` environment variable with your network's genesis hash -3. **Use SyncFromHeight or SyncFromHash**: Configure the node to sync from a specific height or hash +[TODO: Add migration guide once PR #4768 is released with specific version number and finalized migration instructions] From 4701d099ab917b388a77f49010c984eb39a6d307 Mon Sep 17 00:00:00 2001 From: Josh Stein <46639943+jcstein@users.noreply.github.com> Date: Fri, 6 Feb 2026 16:23:18 -0700 Subject: [PATCH 5/5] docs: use tabs to toggle between pruned and archival modes - Added tabs component to show pruned (default) vs archival mode options - Cleaner presentation that reduces repetition in documentation - Makes it clear which mode is the default behavior --- .../data-availability/bridge-node/page.mdx | 158 +++++++++++------- 1 file changed, 95 insertions(+), 63 deletions(-) diff --git a/app/operate/data-availability/bridge-node/page.mdx b/app/operate/data-availability/bridge-node/page.mdx index db78d31ab03..a2435b051c3 100644 --- a/app/operate/data-availability/bridge-node/page.mdx +++ b/app/operate/data-availability/bridge-node/page.mdx @@ -107,17 +107,20 @@ Follow the tutorial for [installing `celestia-node`](/operate/data-availability/ ### Initialize the bridge node -Run the following: +Choose between pruned mode (default) or archival mode: -```sh -celestia bridge init --core.ip --core.port -``` - -To initialize an archival bridge node that stores all historical data: - -```sh -celestia bridge init --core.ip --core.port --archival -``` + + + ```sh + celestia bridge init --core.ip --core.port + ``` + + + ```sh + celestia bridge init --core.ip --core.port --archival + ``` + + After v0.21.5, the `--core.port` must be specified. In most cases, it is port 9090 by default. @@ -137,40 +140,54 @@ Connecting to a consensus node endpoint (flag: `--core.ip string`) provides the light node with access to state queries (reading balances, submitting transactions, and other state-related queries). -Here is an example of initializing the bridge node: - +Here is an example of initializing the bridge node on different networks: - ```sh - # Pruned mode (default) - celestia bridge init --core.ip --core.port - - # Archival mode - celestia bridge init --core.ip --core.port --archival - ``` + + + ```sh + celestia bridge init --core.ip --core.port + ``` + + + ```sh + celestia bridge init --core.ip --core.port --archival + ``` + + - ```sh - # Pruned mode (default) - celestia bridge init --core.ip --core.port \ - --p2p.network mocha - - # Archival mode - celestia bridge init --core.ip --core.port \ - --p2p.network mocha --archival - ``` + + + ```sh + celestia bridge init --core.ip --core.port \ + --p2p.network mocha + ``` + + + ```sh + celestia bridge init --core.ip --core.port \ + --p2p.network mocha --archival + ``` + + - ```sh - # Pruned mode (default) - celestia bridge init --core.ip --core.port \ - --p2p.network arabica - - # Archival mode - celestia bridge init --core.ip --core.port \ - --p2p.network arabica --archival - ``` + + + ```sh + celestia bridge init --core.ip --core.port \ + --p2p.network arabica + ``` + + + ```sh + celestia bridge init --core.ip --core.port \ + --p2p.network arabica --archival + ``` + + @@ -179,35 +196,50 @@ Here is an example of initializing the bridge node: Start the bridge node with a connection to a consensus node's gRPC endpoint, which is usually exposed on port 9090: -```sh -# Pruned mode (default) -celestia bridge start --core.ip --core.port - -# Archival mode -celestia bridge start --core.ip --core.port --archival -``` - -Here is an example of starting the bridge node on Mocha: - -```sh -# Pruned mode (default) -celestia bridge start --core.ip rpc-mocha.pops.one --core.port 9090 --p2p.network mocha - -# Archival mode -celestia bridge start --core.ip rpc-mocha.pops.one --core.port 9090 --p2p.network mocha --archival -``` + + + ```sh + celestia bridge start --core.ip --core.port + ``` + + + ```sh + celestia bridge start --core.ip --core.port --archival + ``` + + -And on Arabica: +Here are examples of starting the bridge node on specific networks: -```sh -# Pruned mode (default) -celestia bridge start --core.ip validator-1.celestia-{{constants['arabicaChainId']}}.com \ - --p2p.network arabica --core.port 9090 +**Mocha:** + + + ```sh + celestia bridge start --core.ip rpc-mocha.pops.one --core.port 9090 --p2p.network mocha + ``` + + + ```sh + celestia bridge start --core.ip rpc-mocha.pops.one --core.port 9090 --p2p.network mocha --archival + ``` + + -# Archival mode -celestia bridge start --core.ip validator-1.celestia-{{constants['arabicaChainId']}}.com \ - --p2p.network arabica --core.port 9090 --archival -``` +**Arabica:** + + + ```sh + celestia bridge start --core.ip validator-1.celestia-{{constants['arabicaChainId']}}.com \ + --p2p.network arabica --core.port 9090 + ``` + + + ```sh + celestia bridge start --core.ip validator-1.celestia-{{constants['arabicaChainId']}}.com \ + --p2p.network arabica --core.port 9090 --archival + ``` + + If you're connecting your bridge node to a localhost consensus node (`--core.ip localhost` or `--core.ip 127.0.0.1`), ensure that gRPC is enabled in your consensus node's `app.toml` configuration file. Look for the `[grpc]` section and verify that `enable = true` is set: