> ## 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.

# Example Launches

> Validate end-to-end ROS 2 and peaq pipelines with the bundled launch files.

`peaq_ros2_examples` packages launch files that orchestrate the core services, storage bridge, and helper scripts. Use them to validate your setup or as templates for project-specific launches.

## `demo_core.launch.py`

Launches the core node and events node together:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
ros2 launch peaq_ros2_examples demo_core.launch.py \
  network:=agung \
  confirmation_mode:=FAST \
  log_level:=INFO
```

* Starts `core_node` and `events_node`
* Suitable for identity, access, and storage service testing
* Publishes on `peaq/tx_status`; the events node does not stream chain events to `peaq/events`

## `storage_bridge.launch.py`

Included with `peaq_ros2_core`, this launch is often combined with `demo_core` to exercise storage flows:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
ros2 launch peaq_ros2_core storage_bridge.launch.py
```

* Subscribes to `peaq/storage/ingest`
* Publishes `peaq/storage/status`
* Retries a failed submission twice, five seconds apart

The launch file takes no arguments. It uploads through the local IPFS API on `127.0.0.1:5001` and reports gateway URLs on `ipfs.io`; pass your own config to change either. The bridge also starts with `robot.require_did: true`: it exits at startup unless `peaq_core_node` is active and its wallet already has a DID (create it with `/peaq_core_node/identity/create`), or you set `require_did: false` under `storage_bridge.robot` in your config file. To point it at your config file, run the node directly instead:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
ros2 run peaq_ros2_core storage_bridge_node --ros-args \
  -p config.yaml_path:=/work/peaq_ros2_examples/config/peaq_robot.yaml
```

## `e2e_test.launch.py`

The package also ships `e2e_test.launch.py`, but it does not run from a clone: its test script is not installed as an executable, the bridge config it loads is not in the repository, and it never activates the core node.

`demo_core.launch.py` takes `network`, `confirmation_mode`, `events_enabled`, and `log_level`. Extend them with additional nodes or parameters as needed for your deployment.

Continue with the [example scripts](/peaqchain/sdk-reference/robotics-sdk/ros2/examples/scripts) to trigger specific blockchain operations.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.