helium / helium/multi-gateway

gateways onboard command for fleet onboarding

Open
#3 0 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.