Skip to main content

Quick Start

Getting started — full walkthrough

Run locally

# 1. Install the toolchain (gno, gnokey, gnodev).
# Docker, source build, or pinned version: see install.md.
curl -fsSL https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | sh

# 2. Create a realm
mkdir counter && cd counter
gno mod init gno.land/r/myname/counter

# 3. Fetch example code (or paste counter.gno below by hand)
curl -fsSL https://raw.githubusercontent.com/gnolang/gno/master/examples/gno.land/r/demo/counter/counter.gno -o counter.gno
curl -fsSL https://raw.githubusercontent.com/gnolang/gno/master/examples/gno.land/r/demo/counter/counter_test.gno -o counter_test.gno

# 4. Run a local chain (hot reload)
gnodev .
# → open http://localhost:8888

counter.gno:

package counter

import "strconv"

var count int

func Increment(_ realm) int {
count++
return count
}

func Render(path string) string {
return "Count: " + strconv.Itoa(count)
}

Deploy to staging

# 5. Create a key, then fund it at https://faucet.gno.land
# (faucet is rate-limited per address; one request is enough)
gnokey add dev
gnokey list # copy the g1... address

# 6. Confirm the faucet landed
gnokey query bank/balances/<your-g1-addr> \
-remote https://rpc.staging.gno.land:443

# 7. Deploy
gnokey maketx addpkg \
-pkgpath "gno.land/r/<your-g1-addr>/counter" -pkgdir . \
-gas-fee 1000000ugnot -gas-wanted 20000000 \
-chainid staging -remote https://rpc.staging.gno.land:443 dev

# 8. Call a realm function
gnokey maketx call \
-pkgpath "gno.land/r/<your-g1-addr>/counter" \
-func "Increment" \
-gas-fee 1000000ugnot -gas-wanted 2000000 \
-chainid staging -remote https://rpc.staging.gno.land:443 dev

Live at https://staging.gno.land/r/<your-g1-addr>/counter.

Next

r/docs — on-chain tour of Gno.land.