> ## Documentation Index
> Fetch the complete documentation index at: https://docs.peaq.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Launch Core Services

> Run lifecycle-managed ROS 2 nodes for peaq identity, access, and storage operations.

After configuring the workspace, start the lifecycle nodes that provide blockchain connectivity. Source both the ROS 2 distro and the workspace overlay before launching.

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
source /opt/ros/humble/setup.bash
source install/setup.bash

# Launch core services with default parameters
ros2 launch peaq_ros2_core core.launch.py
```

The launch file spins up `core_node` and `events_node` with lifecycle management enabled. Key launch arguments:

| Parameter           | Default                                     | Description                                         |
| ------------------- | ------------------------------------------- | --------------------------------------------------- |
| `network`           | `agung`                                     | peaq network to target (`peaq` for mainnet)         |
| `confirmation_mode` | `FAST`                                      | Transaction confirmation strategy (`FAST`, `FINAL`) |
| `log_level`         | `INFO`                                      | Logging level across nodes                          |
| `config_yaml`       | `peaq_ros2_examples/config/peaq_robot.yaml` | Path to configuration file                          |

Override them inline:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
ros2 launch peaq_ros2_core core.launch.py \
  network:=peaq \
  confirmation_mode:=FINAL \
  log_level:=DEBUG \
  config_yaml:=/work/configs/robot.yaml
```

### Lifecycle Management

The nodes start in the *unconfigured* state. Use standard lifecycle commands to configure and activate them:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
ros2 lifecycle set /peaq_core_node configure
ros2 lifecycle set /peaq_core_node activate

ros2 lifecycle get /peaq_core_node
```

Repeat the lifecycle commands for `/peaq_events_node` if you need to pause or resume event streaming independently. Nodes publish status logs to `/tmp/core_node.log` and `/tmp/events_node.log` by default.

### Storage Bridge

Launch the storage bridge when you want IPFS-backed storage flows (managed pinning optional):

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
ros2 launch peaq_ros2_core storage_bridge.launch.py \
  config_yaml:=/work/peaq_ros2_examples/config/peaq_robot.yaml
```

The bridge consumes the same configuration file, handles retry logic, and exposes ROS 2 interfaces documented in [Verifiable Storage](/peaqchain/sdk-reference/robotics-sdk/ros2/messaging/verifiable-storage).

For a full demo, continue with the [example launches](/peaqchain/sdk-reference/robotics-sdk/ros2/examples/overview).
