Skip to content

Commit 09ea59f

Browse files
alexander-seiclaude
andcommitted
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 <noreply@anthropic.com>
1 parent 89bc692 commit 09ea59f

2 files changed

Lines changed: 30 additions & 12 deletions

File tree

‎node/index.mdx‎

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,25 +66,31 @@ timedatectl
6666
You need Go only if you build `seid` from source. The prebuilt binary and Docker
6767
install paths in the next step do not require it.
6868

69-
`seid` v6.4.0 and later require Go 1.25.6 or later; v6.3.x builds with Go 1.24.5. Check
70-
the `go.mod` at the release tag you check out
69+
Current `seid` releases require Go 1.25.6 or later. Check the `go.mod` at the release tag
70+
you check out
7171
(e.g. [`v6.6.1`](https://github.com/sei-protocol/sei-chain/blob/v6.6.1/go.mod)) for its
7272
exact requirement.
7373

7474
###### Installation Steps
7575

7676
```bash
77-
# Check for existing Go installation
77+
# Check for existing Go installations — more than one entry means another copy
78+
# may still win on your PATH after this install
79+
which -a go
7880
go version
7981

80-
# Download Go 1.25.6
81-
wget https://go.dev/dl/go1.25.6.linux-amd64.tar.gz
82+
# Bumping Go? Change these two lines only
83+
GO_TARBALL=go1.25.6.linux-amd64.tar.gz
84+
GO_SHA256=f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a
8285

83-
# Verify integrity before trusting the archive (go.dev/dl publishes a SHA256 per file),
84-
# then replace any previous installation — extracting over one leaves stale files behind
85-
echo "f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a go1.25.6.linux-amd64.tar.gz" | sha256sum -c - \
86+
curl -fLO https://go.dev/dl/${GO_TARBALL}
87+
88+
# Verify integrity before trusting the archive (go.dev/dl publishes a SHA256 per file
89+
# at ${GO_TARBALL}.sha256), then replace any previous installation — extracting over
90+
# one leaves stale files behind
91+
echo "${GO_SHA256} ${GO_TARBALL}" | sha256sum -c - \
8692
&& sudo rm -rf /usr/local/go \
87-
&& sudo tar -C /usr/local -xzf go1.25.6.linux-amd64.tar.gz
93+
&& sudo tar -C /usr/local -xzf ${GO_TARBALL}
8894

8995
# Add Go to your environment variables
9096
echo 'export PATH=$PATH:/usr/local/go/bin' >> $HOME/.bashrc
@@ -93,6 +99,16 @@ source $HOME/.bashrc
9399
# Verify installation
94100
go version
95101
```
102+
103+
<Note>
104+
`sudo rm -rf /usr/local/go` is the replacement step [Go's install
105+
docs](https://go.dev/doc/install) prescribe, but it only clears a tarball install. A
106+
package-manager Go (`/usr/lib/go-*`, Homebrew) survives it and can still shadow
107+
`/usr/local/go/bin/go` — if the final `go version` reports the old release,
108+
`which -a go` lists every copy on your `PATH`. If the extraction itself fails, the
109+
verified tarball is still in your working directory: re-run the `sudo tar` command
110+
rather than starting over.
111+
</Note>
96112
</Step>
97113

98114
<Step title="Install Sei">

‎node/seictl.mdx‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,11 @@ If you prefer to build from source or need a specific configuration:
108108
- [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).
109109

110110
<Note>
111-
This is newer than the Go version needed to build `seid` (1.25.6). If you installed Go by
112-
following the [node setup guide](/node), your toolchain is a minor version too old and
113-
`go build` will fail — upgrade to Go 1.26.0 or later, or use a prebuilt binary above.
111+
This is newer than the Go version needed to build `seid` (1.25.6), so the toolchain from
112+
the [node setup guide](/node) is a minor version behind. Under the default
113+
`GOTOOLCHAIN=auto` that still builds: the go command downloads the toolchain `go.mod`
114+
asks for. If you've set `GOTOOLCHAIN=local` or build without network access, install Go
115+
1.26.0 or later, or use a prebuilt binary above.
114116
</Note>
115117

116118
#### Build

0 commit comments

Comments
 (0)