Gora developer docs
Gora runs your app code off-chain, produces a verifiable result, and gives wallets or contracts the information they need to act on-chain. The normal development setup is:app_id, not ask for the VM’s --datadir.
Start here
If you are the Devnet operator on the VM:What to read
| Goal | Page |
|---|---|
| Understand the system | How Gora apps work |
| Understand validators and consensus | Validators and consensus |
| Use verifiable randomness | Randomness and VRF |
| Call external HTTP endpoints from an app | External calls |
| Create an app | Create a Gora app |
| Add or resolve chain contracts | Add chain contracts |
| Build an app that holds value on-chain | Build an attested on-chain app |
| Rebuild a working reference app | Examples |
| Configure permissions and payments | Set policy and payments |
| Run the full Devnet flow | Devnet quickstart |
| Build the three MVP app flows | Canonical Gora app flows |
| Deploy an existing app | Deploy to Gora |
| Test mobile approval/signing | Test with mobile |
| Fix common problems | Troubleshooting |
The golden path
Safety rules
- Gora app code returns JSON; it should not hold private keys.
gora deploydeploys the Gora app package, not chain contracts.gora contract deploy --node <url>resolves or records chain contract metadata from Gora Devnet.- Chain execution happens through a gateway, wallet, contract, mobile signature, or submitter.
- Devnet keys and mnemonics are for local testing only.