From d5b61d7bd705f5c2aed46bbaa7a3a656d459fb00 Mon Sep 17 00:00:00 2001 From: alexander-sei Date: Mon, 10 Aug 2026 11:45:11 +0200 Subject: [PATCH 1/3] docs: align Go requirements with source modules Point source-build users to supported Go toolchains and authoritative go.mod requirements. Co-authored-by: Cursor --- evm/installing-seid-cli.mdx | 2 +- node/index.mdx | 14 ++++++++------ node/seictl.mdx | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/evm/installing-seid-cli.mdx b/evm/installing-seid-cli.mdx index d4d5dce..3ec0041 100644 --- a/evm/installing-seid-cli.mdx +++ b/evm/installing-seid-cli.mdx @@ -12,7 +12,7 @@ The `seid` CLI is the command-line tool for interacting with the Sei blockchain. ## Prerequisites -- Go 1.23+ (build from source only): Installation instructions are available [here](https://go.dev/doc/install). The prebuilt binary has no prerequisites. +- [Go 1.25.6 or later](https://go.dev/doc/install) is required only when building from source. Check the selected release's [`go.mod`](https://github.com/sei-protocol/sei-chain/blob/main/go.mod) for its exact requirement. Prebuilt binaries have no prerequisites. ## Installation diff --git a/node/index.mdx b/node/index.mdx index dd84036..4fe6158 100644 --- a/node/index.mdx +++ b/node/index.mdx @@ -63,10 +63,12 @@ timedatectl ##### Install Go -Only needed if you build `seid` from source — the prebuilt binary and Docker -install paths in the next step don't require Go. +You need Go only if you build `seid` from source. The prebuilt binary and Docker +install paths in the next step do not require it. -Suggested Version: Go 1.24.x (required for seid v6.3+) +Current releases require Go 1.25.6 or later. Check the selected release's +[`go.mod`](https://github.com/sei-protocol/sei-chain/blob/main/go.mod) for its exact +requirement. ###### Installation Steps @@ -74,9 +76,9 @@ Suggested Version: Go 1.24.x (required for seid v6.3+) # Check for existing Go installation go version -# Download and install Go 1.24.x -wget https://go.dev/dl/go1.24.5.linux-amd64.tar.gz -sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz +# Download and install Go 1.25.6 +wget https://go.dev/dl/go1.25.6.linux-amd64.tar.gz +sudo tar -C /usr/local -xzf go1.25.6.linux-amd64.tar.gz # Add Go to your environment variables echo 'export PATH=$PATH:/usr/local/go/bin' >> $HOME/.bashrc diff --git a/node/seictl.mdx b/node/seictl.mdx index 3b57536..52098e3 100644 --- a/node/seictl.mdx +++ b/node/seictl.mdx @@ -105,7 +105,7 @@ If you prefer to build from source or need a specific configuration: #### Prerequisites -- Go 1.24.5 or higher +- [Go 1.26.0 or later](https://go.dev/doc/install). Check [`go.mod`](https://github.com/sei-protocol/seictl/blob/main/go.mod) for the exact requirement. #### Build From 89bc692e2ec2d60c17cc883a2dfc3a86084e077b Mon Sep 17 00:00:00 2001 From: alexander-sei Date: Mon, 10 Aug 2026 13:26:09 +0200 Subject: [PATCH 2/3] docs: address review feedback on Go requirements - Point go.mod links at a release tag (v6.6.1) instead of main, so the link matches the "check out " build instructions. - Restore the release-to-Go mapping in node/index.mdx: v6.4.0+ needs Go 1.25.6, v6.3.x builds with Go 1.24.5. - Verify the Go tarball's SHA256 and remove any previous /usr/local/go before extracting, per go.dev/doc/install. Matches the integrity posture of the seid binary block on the same page. - Note on node/seictl.mdx that seictl needs a newer Go than seid, so operators who followed the node guide know why go build fails. Co-Authored-By: Claude Opus 5 --- evm/installing-seid-cli.mdx | 2 +- node/index.mdx | 16 +++++++++++----- node/seictl.mdx | 8 +++++++- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/evm/installing-seid-cli.mdx b/evm/installing-seid-cli.mdx index 3ec0041..5bf322c 100644 --- a/evm/installing-seid-cli.mdx +++ b/evm/installing-seid-cli.mdx @@ -12,7 +12,7 @@ The `seid` CLI is the command-line tool for interacting with the Sei blockchain. ## Prerequisites -- [Go 1.25.6 or later](https://go.dev/doc/install) is required only when building from source. Check the selected release's [`go.mod`](https://github.com/sei-protocol/sei-chain/blob/main/go.mod) for its exact requirement. Prebuilt binaries have no prerequisites. +- [Go 1.25.6 or later](https://go.dev/doc/install) is required only when building from source. Check the `go.mod` at the release tag you check out below (e.g. [`v6.6.1`](https://github.com/sei-protocol/sei-chain/blob/v6.6.1/go.mod)) for its exact requirement. Prebuilt binaries have no prerequisites. ## Installation diff --git a/node/index.mdx b/node/index.mdx index 4fe6158..768d36d 100644 --- a/node/index.mdx +++ b/node/index.mdx @@ -66,9 +66,10 @@ timedatectl You need Go only if you build `seid` from source. The prebuilt binary and Docker install paths in the next step do not require it. -Current releases require Go 1.25.6 or later. Check the selected release's -[`go.mod`](https://github.com/sei-protocol/sei-chain/blob/main/go.mod) for its exact -requirement. +`seid` v6.4.0 and later require Go 1.25.6 or later; v6.3.x builds with Go 1.24.5. Check +the `go.mod` at the release tag you check out +(e.g. [`v6.6.1`](https://github.com/sei-protocol/sei-chain/blob/v6.6.1/go.mod)) for its +exact requirement. ###### Installation Steps @@ -76,9 +77,14 @@ requirement. # Check for existing Go installation go version -# Download and install Go 1.25.6 +# Download Go 1.25.6 wget https://go.dev/dl/go1.25.6.linux-amd64.tar.gz -sudo tar -C /usr/local -xzf go1.25.6.linux-amd64.tar.gz + +# Verify integrity before trusting the archive (go.dev/dl publishes a SHA256 per file), +# then replace any previous installation — extracting over one leaves stale files behind +echo "f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a go1.25.6.linux-amd64.tar.gz" | sha256sum -c - \ + && sudo rm -rf /usr/local/go \ + && sudo tar -C /usr/local -xzf go1.25.6.linux-amd64.tar.gz # Add Go to your environment variables echo 'export PATH=$PATH:/usr/local/go/bin' >> $HOME/.bashrc diff --git a/node/seictl.mdx b/node/seictl.mdx index 52098e3..5d91939 100644 --- a/node/seictl.mdx +++ b/node/seictl.mdx @@ -105,7 +105,13 @@ If you prefer to build from source or need a specific configuration: #### Prerequisites -- [Go 1.26.0 or later](https://go.dev/doc/install). Check [`go.mod`](https://github.com/sei-protocol/seictl/blob/main/go.mod) for the exact requirement. +- [Go 1.26.0 or later](https://go.dev/doc/install). The commands below build `main`, whose requirement is set in [`go.mod`](https://github.com/sei-protocol/seictl/blob/main/go.mod). + + + This is newer than the Go version needed to build `seid` (1.25.6). If you installed Go by + following the [node setup guide](/node), your toolchain is a minor version too old and + `go build` will fail — upgrade to Go 1.26.0 or later, or use a prebuilt binary above. + #### Build From 09ea59fbef037d2dc3b472621efd9e0d1628d1b6 Mon Sep 17 00:00:00 2001 From: alexander-sei Date: Wed, 12 Aug 2026 01:22:45 +0200 Subject: [PATCH 3/3] docs: correct GOTOOLCHAIN behavior and harden Go install block Address the second round of review feedback on #58: - seictl: the note claimed `go build` fails on a Go 1.25.6 toolchain. With the default GOTOOLCHAIN=auto the go command fetches the toolchain go.mod requires, so it succeeds; only GOTOOLCHAIN=local or an offline build actually fails. - node: drop the per-release Go enumeration that duplicated go.mod and needed an edit every minor release; keep the durable "check the tag's go.mod" pointer. - node: hoist the Go tarball and SHA256 into variables so a bump is a two-line change, and switch wget to curl -fLO to match the sibling install snippets. - node: note that `rm -rf /usr/local/go` misses package-manager installs, point at `which -a go`, and say a failed extract can just be re-run. Verified against upstream: seictl go.mod is `go 1.26.0` with no toolchain directive, sei-chain go.mod is 1.25.6 from v6.4.0 (v6.3.0 was 1.24.5), and the pinned SHA256 matches go.dev's published checksum for go1.25.6.linux-amd64. Co-Authored-By: Claude Opus 5 --- node/index.mdx | 34 +++++++++++++++++++++++++--------- node/seictl.mdx | 8 +++++--- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/node/index.mdx b/node/index.mdx index 768d36d..d1f4bdd 100644 --- a/node/index.mdx +++ b/node/index.mdx @@ -66,25 +66,31 @@ timedatectl You need Go only if you build `seid` from source. The prebuilt binary and Docker install paths in the next step do not require it. -`seid` v6.4.0 and later require Go 1.25.6 or later; v6.3.x builds with Go 1.24.5. Check -the `go.mod` at the release tag you check out +Current `seid` releases require Go 1.25.6 or later. Check the `go.mod` at the release tag +you check out (e.g. [`v6.6.1`](https://github.com/sei-protocol/sei-chain/blob/v6.6.1/go.mod)) for its exact requirement. ###### Installation Steps ```bash -# Check for existing Go installation +# Check for existing Go installations — more than one entry means another copy +# may still win on your PATH after this install +which -a go go version -# Download Go 1.25.6 -wget https://go.dev/dl/go1.25.6.linux-amd64.tar.gz +# Bumping Go? Change these two lines only +GO_TARBALL=go1.25.6.linux-amd64.tar.gz +GO_SHA256=f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a -# Verify integrity before trusting the archive (go.dev/dl publishes a SHA256 per file), -# then replace any previous installation — extracting over one leaves stale files behind -echo "f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a go1.25.6.linux-amd64.tar.gz" | sha256sum -c - \ +curl -fLO https://go.dev/dl/${GO_TARBALL} + +# Verify integrity before trusting the archive (go.dev/dl publishes a SHA256 per file +# at ${GO_TARBALL}.sha256), then replace any previous installation — extracting over +# one leaves stale files behind +echo "${GO_SHA256} ${GO_TARBALL}" | sha256sum -c - \ && sudo rm -rf /usr/local/go \ - && sudo tar -C /usr/local -xzf go1.25.6.linux-amd64.tar.gz + && sudo tar -C /usr/local -xzf ${GO_TARBALL} # Add Go to your environment variables echo 'export PATH=$PATH:/usr/local/go/bin' >> $HOME/.bashrc @@ -93,6 +99,16 @@ source $HOME/.bashrc # Verify installation go version ``` + + + `sudo rm -rf /usr/local/go` is the replacement step [Go's install + docs](https://go.dev/doc/install) prescribe, but it only clears a tarball install. A + package-manager Go (`/usr/lib/go-*`, Homebrew) survives it and can still shadow + `/usr/local/go/bin/go` — if the final `go version` reports the old release, + `which -a go` lists every copy on your `PATH`. If the extraction itself fails, the + verified tarball is still in your working directory: re-run the `sudo tar` command + rather than starting over. + diff --git a/node/seictl.mdx b/node/seictl.mdx index 5d91939..6884a00 100644 --- a/node/seictl.mdx +++ b/node/seictl.mdx @@ -108,9 +108,11 @@ If you prefer to build from source or need a specific configuration: - [Go 1.26.0 or later](https://go.dev/doc/install). The commands below build `main`, whose requirement is set in [`go.mod`](https://github.com/sei-protocol/seictl/blob/main/go.mod). - This is newer than the Go version needed to build `seid` (1.25.6). If you installed Go by - following the [node setup guide](/node), your toolchain is a minor version too old and - `go build` will fail — upgrade to Go 1.26.0 or later, or use a prebuilt binary above. + This is newer than the Go version needed to build `seid` (1.25.6), so the toolchain from + the [node setup guide](/node) is a minor version behind. Under the default + `GOTOOLCHAIN=auto` that still builds: the go command downloads the toolchain `go.mod` + asks for. If you've set `GOTOOLCHAIN=local` or build without network access, install Go + 1.26.0 or later, or use a prebuilt binary above. #### Build