Skip to content

Getting Started

Brendan O'Bra edited this page Aug 17, 2025 · 7 revisions

Getting Started with Ripple

This page shows a minimal local setup to get Ripple running against a device on your network.

Prerequisites

Development Environment

  • Rust Toolchain

    • Stable channel (minimum version 1.82.0)
    • Install via rustup
    • Components needed: rustc, cargo, rust-std
  • Build Tools

    • Linux: build-essential, pkg-config, libssl-dev
    • macOS: Xcode Command Line Tools
    • Windows: Visual Studio Build Tools with C++ workload
  • Development Tools (Recommended)

    • Visual Studio Code
    • Rust Analyzer Extension
    • LLDB Extension for debugging

Target Environment

  • RDK device accessible on your network
  • Network connectivity between development machine and device
  • Device management access (e.g., SSH, Web UI)

For detailed requirements and troubleshooting, see the Ripple Repository.

Installation

1. Clone Repository

git clone https://github.com/rdkcentral/Ripple.git
cd Ripple

2. Initialize Environment

# Bootstrap Ripple configuration
./ripple init

This creates the ~/.ripple directory and sets up default manifests.

Manifest Setup

Ripple uses three key manifest types:

  1. Device Manifest

    • Defines device capabilities
    • Platform settings
    • Library references
    • Located at ~/.ripple/firebolt-device-manifest.json
  2. Extension Manifest

    • Extension binary locations
    • Contract definitions
    • Located at ~/.ripple/firebolt-extn-manifest.json
  3. App Library

    • Application metadata
    • Launch configurations
    • Referenced in device manifest

See Manifests for detailed configuration options.p you set up Ripple in your development environment and get it running against an RDK device.

Manifests you’ll touch (quick peek)

See Manifests for details and sample paths.

Essential Configuration Steps

  1. Extension Settings In ~/.ripple/firebolt-extn-manifest.json:

    {
      "default_path": "target/debug/",
      "default_extension": "so"  # or "dylib" (macOS), "dll" (Windows)
    }
  2. Device Configuration Verify in ~/.ripple/firebolt-device-manifest.json:

    {
      "library": "path/to/your/app-library.json"
    }
  3. App Configuration Add Firebolt endpoint to your app's launch URL:

    __firebolt_endpoint=ws%3A%2F%2F<RIPPLE_IP>%3A3473%3FappId%3D<app_id>%26session%3D<app_id>
    

Running Ripple

Launch

ripple run <DEVICE_IP>

Ensure your development machine and the target device have bidirectional network connectivity.

Verification

  1. Check Ripple logs for successful initialization
  2. Verify WebSocket server is listening
  3. Confirm device connection status

Next Steps

Troubleshooting

Common issues and solutions are documented in our Troubleshooting .

For additional support:

Clone this wiki locally