Devnet quickstart
This is the clearest end-to-end flow:- A VM runs Gora Devnet, local chains, and ngrok.
- Your local computer runs the Gora CLI and app code.
- The local CLI points at the Gora ngrok URL.
- Contract metadata comes from Gora Devnet, not from VM-only files.
A. Start Devnet on the VM
On the VM where the Gora repo, local chains, and ngrok live:- Gora dev HTTP API
- Dev Bridge for mobile approval/signing
- Base/Ganache local RPC
- Solana local validator
- Algorand localnet
- ngrok tunnels
- contract metadata registry
tmux if you want to detach:
http://127.0.0.1:8787. Mobile apps on another machine read the same requests through https://gora-bridge-dev.ngrok.app.
Stop processes started by the helper:
B. Configure your local app
On your local computer, create an app:C. Resolve chain contract metadata
For apps that target Base, Solana, or Algorand, link chain metadata before deploying the Gora app package. First run doctor:--node form calls GET /v1/contracts/{chain} and records the deployed address, program id, or Algorand app id in .gora/contracts/<chain>/latest.json.
For Algorand, this is the important distinction:
- local developers use
--node https://gora-dev.ngrok.app - VM operators may use
--datadir /path/to/Node
--datadir from a local computer unless that computer is running the Algorand localnet.
D. Build, validate, package, deploy
gora deploy uploads:
- app artifact
- manifest
- policy
- package metadata
- linked contract metadata
E. Invoke
Use the generated fixture:request_id.
If your app result includes a chain field, Devnet may attach contract_metadata to the invoke or result response. Use that metadata for app ids, program ids, addresses, RPC URLs, and auth hints.
F. Inspect
What success means
A successful invoke means:- Devnet found your deployed app.
- Devnet ran the declared artifact.
- Your app returned valid JSON.
- Gora recorded the result and attestation data.