Skip to content

fix: build on current gno, correct the quick-start, point at mainnet and the networks docs - #7

Merged
moul merged 4 commits into
mainfrom
fix/current-toolchain-and-mainnet
Sep 17, 2026
Merged

moul merged 4 commits into
mainfrom
fix/current-toolchain-and-mainnet

Conversation

@moul

@moul moul commented Sep 17, 2026

Copy link
Copy Markdown
Member

make test currently fails on a fresh clone with current gno:

hello_test.gno:14:6: cannot use cross (value of type func(rlm realm) realm) as realm
value in argument to Set: func(rlm realm) realm does not implement gno0p9.realm
(missing method Address) (code=gnoTypeCheckError)
FAIL: 0 build errors, 1 test errors

Since this repo is the first thing a new user runs, that's a bad first five minutes. Five fixes:

1. Interrealm test API. Set(cross, …) is the old bare-cross form. The current
shape (see examples/gno.land/r/demo/counter in the monorepo) is a cur realm first
parameter on the test plus cross(cur) at the call site.

2. make install left you unable to run make dev. The installer puts binaries in
$HOME/.gno/bin and only suggests adding it to PATH, so step 3 failed with
gnodev: command not found right after step 2 succeeded. The README now says to export
it, and make install echoes the same line. Also switched the pipe-to-shell invocation
to the hardened one the installer itself documents
(--proto '=https' --tlsv1.2 -sSf … | sh).

3. https://localhost:8888 → http://. gnodev serves plain HTTP on
127.0.0.1:8888; the https URL just fails to connect.

4. The Render link 404'd. It pointed at /r/demo/hello, but gnomod.toml declares
gno.land/r/example/hello.

5. No mention of where to deploy. Added a short "Deploying it" section: Pearl
(pearl-1) as the current testnet with the faucet, and mainnet (gnoland-1, live since
12 September 2026, no faucet). The install prose also claimed make install "will check
if Go is installed" — it downloads prebuilt binaries by default and needs no Go.

Verified on gno master.184+393b6f92a: gno test . → ok, gno lint . → clean.

@moul

moul commented Sep 17, 2026

Copy link
Copy Markdown
Member Author

Two follow-ups after adding CI.

Added CI (.github/workflows/ci.yml) running gno test . and gno lint . on every push and PR. This repo had none, which is why the broken cross call sat here undetected. Now green: run 35217407943.

make install now passes --from-source. Writing the CI immediately exposed that the installer's default prebuilt-binary mode is broken for everyone, not just here:

[gno-install] error: no v* release found; pass --version <tag> explicitly

misc/install.sh resolves latest by filtering releases for v* tags, and gnolang/gno publishes only chain/* tags — so the filter is always empty. And even with an explicit tag it looks for gno_<version>_<os>_<arch>.tar.gz + checksums.txt, while the chain/mainnet assets are bare gno_linux_amd64 files + CHECKSUMS.txt. Filed upstream as gnolang/gno#6195.

--from-source works (clones and runs make install), so that's what this repo uses until the installer is fixed. It needs Go, git and make, and the README now says so. Worth a revisit once #6195 lands — the fast path is obviously nicer for a five-minute onboarding repo.

Note gnolang/repo-template's make install_deps hits the same wall.

@moul

moul commented Sep 17, 2026

Copy link
Copy Markdown
Member Author

Reworked to stop naming a specific testnet.

Hardcoding pearl-1 here would have been the same mistake this PR is fixing — test9, test7, topaz and portal-loop are all in these repos precisely because someone wrote down the current testnet at the time. Testnets get renamed and replaced every few weeks; a secondary repo should carry one URL that stays correct, not a name that needs re-editing each cycle.

So: mainnet stays concrete (gnoland-1 is stable), and anything testnet-shaped now points at docs.gno.land/resources/gnoland-networks plus the faucet, which is also a stable host.

Related: gnolang/docs.gno.land#77 adds docs.gno.land/testnets (and /testnet, /networks) as short aliases for that page, so the link is easy to reach for. Not a dependency — the full path used here works today.

@moul
moul merged commit 78866a3 into main Sep 17, 2026
1 check passed
@moul moul changed the title fix: build on current gno, correct the quick-start, point at mainnet/Pearl fix: build on current gno, correct the quick-start, point at mainnet and the networks docs Sep 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant