Run the demo app
Clone and install
The reference integration lives in the Wavelength monorepo at
apps/rn-wallet-demo. Clone the repository, install dependencies with pnpm,
and build the workspace packages:
git clone https://github.com/lightninglabs/wavelength-sdk.gitcd wavelength-sdkpnpm installpnpm buildThe demo needs the native wallet runtime binaries staged before it can build.
Point WAVELENGTH_DIR at a daemon source checkout and run the package’s
fetch-bindings script:
WAVELENGTH_DIR=/path/to/daemon-checkout \ pnpm --filter @lightninglabs/wavelength-react-native run fetch-bindingsSee Installation for why the binaries ship this way and what the script stages.
Run
Start Metro in its own terminal, then build and launch per platform:
cd apps/rn-wallet-demonpx expo start --dev-client --clearThis starts Metro, the dev server that serves the JS bundle to the app. Keep
it running in its own terminal; --clear drops a possibly stale cache.
npx expo run:androidThis generates the native android project if needed, compiles the dev
build, installs it on the running emulator or a connected device, and
launches it.
LANG=en_US.UTF-8 npx expo run:iosThis does the same for the iOS simulator: generates the native ios project
if needed, compiles the dev build, installs it, and launches it. The LANG
prefix satisfies pod install’s locale requirement.
The first expo run:* generates the native android/ and ios/ projects
(gitignored) and takes a while; later runs are incremental.
Networks
The start screen offers four presets:
- regtest targets a local stack. Host addressing is automatic per
platform: the Android emulator reaches your machine as
10.0.2.2, the iOS simulator as127.0.0.1. - testnet and signet target the public test network deployments over TLS and also work on physical devices.
Every endpoint is editable under “Advanced endpoints” before starting, so a preset is a starting point, not a limit.
What the demo shows
The app exercises the full wallet flow: create, restore, or unlock (password or passkey), recovery-phrase backup, on-chain boarding and Lightning receive with scannable QRs, send, live activity, local-data wipe, and light/dark themes. It mirrors the web demo screen for screen, so the two SDK surfaces can be compared directly; see Demo app for the web counterpart.