From 39581c41964db438ffb874e5e7b011aee080e96a Mon Sep 17 00:00:00 2001 From: moul <94029+moul@users.noreply.github.com> Date: Thu, 17 Sep 2026 13:30:57 +0200 Subject: [PATCH 1/4] fix: build on current gno, correct the quick-start, point at mainnet/Pearl --- Makefile | 6 ++++-- README.md | 26 ++++++++++++++++++++++++-- hello.gno | 2 +- hello_test.gno | 4 ++-- 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 7d6bf2b..6523829 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,10 @@ .PHONY: install dev test install: - curl -sSL https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | bash - + curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | sh + @echo '>> binaries are in $$HOME/.gno/bin — add it to your PATH:' + @echo ' export PATH="$$HOME/.gno/bin:$$PATH"' + dev: gnodev . diff --git a/README.md b/README.md index 03cb75a..8879261 100644 --- a/README.md +++ b/README.md @@ -18,13 +18,20 @@ check out the "Next Steps" section below for links to more advanced resources. make install -This will check if Go is installed and install the required Gno tools. +This downloads prebuilt `gno`, `gnokey`, `gnodev`, `gnobro` and `gnoweb` +binaries into `$HOME/.gno/bin`. Add that directory to your `PATH` before +continuing: + + export PATH="$HOME/.gno/bin:$PATH" + +(Pass `--from-source` to the installer instead if you'd rather build from +source; that path needs Go, git and make.) 3. Start the development server: make dev -4. Open your browser and visit https://localhost:8888 +4. Open your browser and visit http://localhost:8888 ## What's Included @@ -33,6 +40,21 @@ This repository contains a simple Gno realm with: - A `Set` function to update the realm's state - A `Get` function to retrieve the stored message +## Deploying it + +`gnodev` runs a throwaway local chain. When you want your realm on a real +network: + +- **[Pearl](https://pearl.testnets.gno.land/)** (`pearl-1`, + `https://rpc.pearl.testnets.gno.land:443`) is the current testnet — start + here, and get tokens from the [faucet](https://faucet.gno.land). +- **[Mainnet](https://gno.land)** (`gnoland-1`, + `https://rpc.gno.land:443`) has been live since 12 September 2026. Real + GNOT, no faucet. + +See [Gno networks](https://docs.gno.land/resources/gnoland-networks) for the +full list. + ## Next Steps Ready to learn more? Check out these resources: diff --git a/hello.gno b/hello.gno index a1033b1..30b75cd 100644 --- a/hello.gno +++ b/hello.gno @@ -13,7 +13,7 @@ Try it out with gnokey: gnokey add myaccount gnokey list -[And click here](/r/demo/hello$help&func=Set&newMsg=Hello%20from%20Gnokey!) +[And click here](/r/example/hello$help&func=Set&newMsg=Hello%20from%20Gnokey!) ` } diff --git a/hello_test.gno b/hello_test.gno index de2367f..2be6411 100644 --- a/hello_test.gno +++ b/hello_test.gno @@ -4,14 +4,14 @@ import ( "testing" ) -func TestSetAndGet(t *testing.T) { +func TestSetAndGet(cur realm, t *testing.T) { // Test initial state if got := Get(); got != "Hello, Gno!" { t.Errorf("Expected default message, got %s", got) } // Test setting a new message - Set(cross, "Hello, Test!") + Set(cross(cur), "Hello, Test!") if got := Get(); got != "Hello, Test!" { t.Errorf("Expected 'Hello, Test!', got %s", got) } From 3e97ef9797dd5a7ea26520fe578d9a7c877865fd Mon Sep 17 00:00:00 2001 From: moul <94029+moul@users.noreply.github.com> Date: Thu, 17 Sep 2026 13:44:51 +0200 Subject: [PATCH 2/4] ci: run gno test and gno lint on every push and PR --- .github/workflows/ci.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..bae89fa --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,24 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install Gno + run: | + curl --proto '=https' --tlsv1.2 -sSf \ + https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | sh + echo "$HOME/.gno/bin" >> "$GITHUB_PATH" + + - name: Test + run: gno test . + + - name: Lint + run: gno lint . From 9dbf86beb4f7b3d45091e6fceb3913f02d6d4510 Mon Sep 17 00:00:00 2001 From: moul <94029+moul@users.noreply.github.com> Date: Thu, 17 Sep 2026 13:45:44 +0200 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20install=20from=20source=20=E2=80=94?= =?UTF-8?q?=20the=20installer's=20binary=20mode=20finds=20no=20v*=20releas?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 7 ++++++- Makefile | 4 +++- README.md | 11 ++++++----- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bae89fa..253f0b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,10 +11,15 @@ jobs: steps: - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: stable + - name: Install Gno run: | curl --proto '=https' --tlsv1.2 -sSf \ - https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | sh + https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh \ + | sh -s -- --from-source echo "$HOME/.gno/bin" >> "$GITHUB_PATH" - name: Test diff --git a/Makefile b/Makefile index 6523829..aa8bc85 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,9 @@ .PHONY: install dev test install: - curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | sh + # --from-source is required: the installer's prebuilt-binary mode looks for + # v* release tags, and gnolang/gno only publishes chain/* tags today. + curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | sh -s -- --from-source @echo '>> binaries are in $$HOME/.gno/bin — add it to your PATH:' @echo ' export PATH="$$HOME/.gno/bin:$$PATH"' diff --git a/README.md b/README.md index 8879261..2c8ec5a 100644 --- a/README.md +++ b/README.md @@ -18,14 +18,15 @@ check out the "Next Steps" section below for links to more advanced resources. make install -This downloads prebuilt `gno`, `gnokey`, `gnodev`, `gnobro` and `gnoweb` -binaries into `$HOME/.gno/bin`. Add that directory to your `PATH` before -continuing: +This clones `gnolang/gno` and builds `gno`, `gnokey`, `gnodev`, `gnobro` and +`gnoweb` into `$HOME/.gno/bin`. It needs Go, git and make, and takes a few +minutes the first time. Add the directory to your `PATH` before continuing: export PATH="$HOME/.gno/bin:$PATH" -(Pass `--from-source` to the installer instead if you'd rather build from -source; that path needs Go, git and make.) +(The installer also has a faster prebuilt-binary mode, but it currently looks +for `v*` release tags and `gnolang/gno` only publishes `chain/*` tags, so +`--from-source` is the path that works today.) 3. Start the development server: From 7a0e0f75bbc71f06202ed85c4d60ac200ed5845e Mon Sep 17 00:00:00 2001 From: moul <94029+moul@users.noreply.github.com> Date: Thu, 17 Sep 2026 13:53:55 +0200 Subject: [PATCH 4/4] docs: point at the docs networks page instead of naming the current testnet --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 2c8ec5a..7f45f0c 100644 --- a/README.md +++ b/README.md @@ -46,16 +46,14 @@ This repository contains a simple Gno realm with: `gnodev` runs a throwaway local chain. When you want your realm on a real network: -- **[Pearl](https://pearl.testnets.gno.land/)** (`pearl-1`, - `https://rpc.pearl.testnets.gno.land:443`) is the current testnet — start - here, and get tokens from the [faucet](https://faucet.gno.land). +- **A testnet** — start here. Testnets are renamed and replaced every few + weeks, so look up the current one and its RPC endpoint in + [Gno networks](https://docs.gno.land/resources/gnoland-networks), and get + tokens from the [faucet](https://faucet.gno.land). - **[Mainnet](https://gno.land)** (`gnoland-1`, `https://rpc.gno.land:443`) has been live since 12 September 2026. Real GNOT, no faucet. -See [Gno networks](https://docs.gno.land/resources/gnoland-networks) for the -full list. - ## Next Steps Ready to learn more? Check out these resources: