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

# Messaging Index

> ROS 2 topics exposed by the peaq robotics workspace and how to use them.

The ROS 2 workspace exposes several pub/sub channels in addition to the service APIs. Use this index to stitch blockchain events and storage flows into your autonomy stack.

## Command & Telemetry Topics

| Topic                 | Type                                     | Direction | Purpose                                               |
| --------------------- | ---------------------------------------- | --------- | ----------------------------------------------------- |
| `peaq/storage/ingest` | `peaq_ros2_interfaces/msg/StorageIngest` | Publish   | Send telemetry or file CIDs to the storage bridge     |
| `peaq/storage/status` | `peaq_ros2_interfaces/msg/StorageResult` | Subscribe | Track success/failure for each storage ingest         |
| `peaq/tx_status`      | `peaq_ros2_interfaces/msg/TxStatus`      | Subscribe | Transaction lifecycle updates for all peaq operations |
| `peaq/events`         | `peaq_ros2_interfaces/msg/Event`         | Subscribe | Raw events emitted by peaq pallets                    |

### StorageIngest Schema

```text theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
string key
bool   is_file
string file_path
string content
string content_type
string metadata_json
```

* Use `is_file=true` with `file_path` when pointing to local files that the bridge should upload to IPFS
* Provide structured payloads via `content` (JSON) plus an optional `metadata_json` envelope for robot state, firmware versions, or mission identifiers

### StorageResult Schema

```text theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
string key
string cid
string ipfs_url
string tx_hash
string status
string error
```

* `status` transitions through `PENDING`, `RETRYING`, `SUCCESS`, or `FAILED`
* Failed entries are also written to `/tmp/storage_bridge_failures.jsonl` so you can replay them later

See [Verifiable Storage](/peaqchain/sdk-reference/robotics-sdk/ros2/messaging/verifiable-storage) to add DID-backed authentication on top of these topics.
