gateways onboard command for fleet onboarding
- Dominant language
- Rust
- Stars
- 2
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
When running multi-gateway as a fleet aggregator, each gateway's keypair is provisioned automatically on first connection, but onboarding those gateways to the Helium network as Data-Only Hotspots currently requires a manual multi-step process that is awkward at fleet scale:
1. Fetch each gateway's public key from the REST API
2. Run `helium_gateway add --owner --payer ` on a separate machine with gateway-rs installed to generate the add transaction
3. Sign the transaction using `POST /gateways/{mac}/sign`
4. Submit via `helium-wallet hotspots add iot`
Step 2 is the main friction point as it requires gateway-rs installed separately and manual work per gateway. For a fleet of any size this needs scripting.
**Proposed addition:** a `gateways onboard` subcommand:
```
helium-multi-gateway gateways onboard --owner --payer
```
That handles steps 2–3 internally and outputs either:
- A base64-encoded signed transaction ready for `helium-wallet hotspots add iot`
- A QR code (`--format qr`) for the mobile wallet onboarding flow
The signing infrastructure is already in place (`GatewayTable::sign`). The missing piece is constructing the add gateway transaction payload, embedding the gateway signature, and serializing it into the format `helium-wallet hotspots add iot` expects.
Not sure if this was an upcoming feature and my issue is premature but I'm happy to test.
Contributor guide
Assessment
This issue has not been assessed yet.