From 8f5ea0c970f4b5759b8b5c767aacdb4c6a6ac31a Mon Sep 17 00:00:00 2001 From: monty-sei Date: Mon, 13 Jul 2026 15:27:14 +1000 Subject: [PATCH 1/2] docs: add prebuilt seid binary install option Each sei-chain release now attaches a statically linked linux/amd64 seid with checksums. Add it as the recommended install path on the node operations guide and the seid CLI page, alongside build-from-source and Docker. Includes checksum verification and the amd64/Ledger caveats. Asset filenames omit the leading v from the version tag, handled via shell substitution in the examples. --- evm/installing-seid-cli.mdx | 50 ++++++++++++++----- node/index.mdx | 96 +++++++++++++++++++++++++------------ 2 files changed, 103 insertions(+), 43 deletions(-) diff --git a/evm/installing-seid-cli.mdx b/evm/installing-seid-cli.mdx index d0d726f..54804f4 100644 --- a/evm/installing-seid-cli.mdx +++ b/evm/installing-seid-cli.mdx @@ -12,24 +12,50 @@ The `seid` CLI is the command-line tool for interacting with the Sei blockchain. ## Prerequisites -- Go 1.23+: Installation instructions are available [here](https://go.dev/doc/install). +- Go 1.23+ (build from source only): Installation instructions are available [here](https://go.dev/doc/install). The prebuilt binary has no prerequisites. ## Installation -To install seid, locate the version you wish to use on the [sei-chain releases page](https://github.com/sei-protocol/sei-chain/releases). A list of the currently used versions on mainnet and testnet are displayed right below. +To install `seid`, locate the version you wish to use on the [sei-chain releases page](https://github.com/sei-protocol/sei-chain/releases). A list of the currently used versions on mainnet and testnet are displayed right below. -Then, execute the following commands with the version that you picked: - -```bash -git clone https://github.com/sei-protocol/sei-chain -cd sei-chain -git checkout [VERSION] -make install -``` - -You can verify that seid was installed correctly by running: + + + Each release attaches a statically linked `seid` build for `linux/amd64` with no + runtime dependencies: + + ```bash + VERSION= # e.g. v6.6.0 — see the version table above + FILE=sei-chain_${VERSION#v}_linux_x86_64.tar.gz # asset filenames omit the leading v + + curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/${FILE} + curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/checksums.txt + + # Verify integrity before trusting the binary + sha256sum -c checksums.txt --ignore-missing + + tar -xzf ${FILE} seid + sudo install -m 0755 seid /usr/local/bin/seid + ``` + + + Prebuilt binaries are `linux/amd64` only and omit hardware Ledger support. On + other architectures, or if you sign with a Ledger device, build from source. + + + + + ```bash + git clone https://github.com/sei-protocol/sei-chain + cd sei-chain + git checkout [VERSION] + make install + ``` + + + +You can verify that `seid` was installed correctly by running: ```bash seid version diff --git a/node/index.mdx b/node/index.mdx index 3b7977a..a6f9bac 100644 --- a/node/index.mdx +++ b/node/index.mdx @@ -85,49 +85,83 @@ go version -##### Install Sei Binary +##### Install the `seid` binary -```bash -# Clone repository and install -git clone https://github.com/sei-protocol/sei-chain.git -cd sei-chain -git checkout # Replace with specific version -make install +See the Network Versions table above for the current recommended version. -# Verify installation -seid version -``` + + + Each release attaches a statically linked `seid` build for `linux/amd64` with no + runtime dependencies: no Go toolchain and no shared libraries to install. -See Network Versions table above for current recommended version. + ```bash + VERSION= # e.g. v6.6.0 — see the Network Versions table above + FILE=sei-chain_${VERSION#v}_linux_x86_64.tar.gz # asset filenames omit the leading v - - Official Docker images are available at GitHub Container Registry. + curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/${FILE} + curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/checksums.txt - ```bash - # Pull the latest version - docker pull ghcr.io/sei-protocol/sei:latest + # Verify integrity before trusting the binary + sha256sum -c checksums.txt --ignore-missing - # Or pull a specific version (recommended) - docker pull ghcr.io/sei-protocol/sei:v6.3.1 - ``` + tar -xzf ${FILE} seid + sudo install -m 0755 seid /usr/local/bin/seid - Available architectures: linux/amd64 and linux/arm64. - + # Verify installation + seid version --long + ``` - - If you encounter an error like `command not found: seid`, you may need to set your GOPATH environment variable. + + Prebuilt binaries are `linux/amd64` only and omit hardware Ledger support. On + other architectures, or if you sign with a Ledger device, build from source or + use Docker. + + - Add the following to your `~/.bashrc` or `~/.zshrc`: + + Requires Go and a C toolchain (see the Environment Setup step above). - ```bash - export GOPATH=$(go env GOPATH) - export PATH=$PATH:$GOPATH/bin - ``` + ```bash + # Clone repository and install + git clone https://github.com/sei-protocol/sei-chain.git + cd sei-chain + git checkout # Replace with specific version + make install - Then reload your shell with `source ~/.bashrc` or `source ~/.zshrc`. + # Verify installation + seid version + ``` - For more information see [here](https://pkg.go.dev/cmd/go#hdr-GOPATH_environment_variable). - + + If you encounter an error like `command not found: seid`, you may need to set your GOPATH environment variable. + + Add the following to your `~/.bashrc` or `~/.zshrc`: + + ```bash + export GOPATH=$(go env GOPATH) + export PATH=$PATH:$GOPATH/bin + ``` + + Then reload your shell with `source ~/.bashrc` or `source ~/.zshrc`. + + For more information see [here](https://pkg.go.dev/cmd/go#hdr-GOPATH_environment_variable). + + + + + Official Docker images are available at GitHub Container Registry. + + ```bash + # Pull the latest version + docker pull ghcr.io/sei-protocol/sei:latest + + # Or pull a specific version (recommended) + docker pull ghcr.io/sei-protocol/sei:v6.3.1 + ``` + + Available architectures: linux/amd64 and linux/arm64. + + ##### Initialize Chain Files From 5e77cc2ce52cddea896a37d2882cd851a579760c Mon Sep 17 00:00:00 2001 From: alexander-sei Date: Mon, 13 Jul 2026 13:27:23 +0200 Subject: [PATCH 2/2] docs(seid): gate prebuilt install on checksum, add prebuilt update path Review follow-ups to the prebuilt binary install option (#44): Chain verify -> extract -> install with && on both install pages so a failed checksum stops the block instead of installing an unverified binary (Bugbot finding). GNU sha256sum -c also exits non-zero when nothing was verified under --ignore-missing, so pasting the block before a release carries binaries (asset 404) halts at verification too. Extend the prebuilt option to the seid surfaces the PR missed: - node-operators Update Procedures: prebuilt download/verify/replace tabs beside build-from-source for both minor and major updates, with a callout to upgrade via the original install method (make install writes to $(go env GOPATH)/bin, the prebuilt flow to /usr/local/bin; mixing them strands the service unit on a stale binary) - Same PATH-shadowing note on both install pages; Uninstalling seid covers both locations - Prebuilt caveat callout also names the omitted optional RocksDB state-store backend (rocksdb builds remain source-only) - Go prerequisite and GOPATH troubleshooting scoped to source builds - Consistency: placeholders and plain seid version across tabs mint broken-links passes; all three pages verified rendering on a local mint dev (tab panels, callouts, no raw MDX leakage). Co-Authored-By: Claude Fable 5 --- evm/installing-seid-cli.mdx | 25 ++++++---- node/index.mdx | 27 +++++++---- node/node-operators.mdx | 94 ++++++++++++++++++++++++++++--------- 3 files changed, 108 insertions(+), 38 deletions(-) diff --git a/evm/installing-seid-cli.mdx b/evm/installing-seid-cli.mdx index 54804f4..9ef82c0 100644 --- a/evm/installing-seid-cli.mdx +++ b/evm/installing-seid-cli.mdx @@ -32,24 +32,29 @@ To install `seid`, locate the version you wish to use on the [sei-chain releases curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/${FILE} curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/checksums.txt - # Verify integrity before trusting the binary - sha256sum -c checksums.txt --ignore-missing - - tar -xzf ${FILE} seid - sudo install -m 0755 seid /usr/local/bin/seid + # Verify integrity before trusting the binary; extract and install only if it passes + sha256sum -c checksums.txt --ignore-missing \ + && tar -xzf ${FILE} seid \ + && sudo install -m 0755 seid /usr/local/bin/seid ``` Prebuilt binaries are `linux/amd64` only and omit hardware Ledger support. On other architectures, or if you sign with a Ledger device, build from source. + + + Previously installed with `make install`? An older copy in `$(go env GOPATH)/bin` + can shadow `/usr/local/bin/seid` depending on your `PATH` order — `which -a seid` + lists every copy. + ```bash git clone https://github.com/sei-protocol/sei-chain cd sei-chain - git checkout [VERSION] + git checkout make install ``` @@ -63,7 +68,7 @@ seid version ## Troubleshooting Installation -If you encounter an error like `command not found: seid`, you may need to set your GOPATH environment variable. +If you built from source and encounter an error like `command not found: seid`, you may need to set your GOPATH environment variable. - Use `go env GOPATH` to find your GOPATH - Add the following lines to your `~/.bashrc` or `~/.zshrc`: @@ -294,8 +299,12 @@ This will remove the specified wallet from your local keyring. Be cautious, as t ## Uninstalling seid -If you need to remove `seid` from your system, you can delete the binary from your `$GOPATH/bin` directory: +If you need to remove `seid` from your system, delete the binary from wherever it was installed: ```bash +# Prebuilt binary install +sudo rm /usr/local/bin/seid + +# Build-from-source install rm $(go env GOPATH)/bin/seid ``` diff --git a/node/index.mdx b/node/index.mdx index a6f9bac..d807a29 100644 --- a/node/index.mdx +++ b/node/index.mdx @@ -63,6 +63,9 @@ 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. + Suggested Version: Go 1.24.x (required for seid v6.3+) ###### Installation Steps @@ -101,21 +104,27 @@ See the Network Versions table above for the current recommended version. curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/${FILE} curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/checksums.txt - # Verify integrity before trusting the binary - sha256sum -c checksums.txt --ignore-missing - - tar -xzf ${FILE} seid - sudo install -m 0755 seid /usr/local/bin/seid + # Verify integrity before trusting the binary; extract and install only if it passes + sha256sum -c checksums.txt --ignore-missing \ + && tar -xzf ${FILE} seid \ + && sudo install -m 0755 seid /usr/local/bin/seid # Verify installation - seid version --long + seid version ``` - Prebuilt binaries are `linux/amd64` only and omit hardware Ledger support. On - other architectures, or if you sign with a Ledger device, build from source or - use Docker. + Prebuilt binaries are `linux/amd64` only, omit hardware Ledger support, and + don't include the optional [RocksDB state-store backend](/node/rocksdb-backend). + On other architectures, or if you sign with a Ledger device, build from source + or use Docker; a RocksDB-enabled `seid` must be built from source. + + + Switching from a previous `make install` build? Remove the old copy + (`rm -f "$(go env GOPATH)/bin/seid"`) or make sure your service unit points at + `/usr/local/bin/seid` — `which -a seid` lists every copy on your `PATH`. + diff --git a/node/node-operators.mdx b/node/node-operators.mdx index 04e2fc6..a5ee9eb 100644 --- a/node/node-operators.mdx +++ b/node/node-operators.mdx @@ -1583,23 +1583,55 @@ EOF ## Update Procedures + + Upgrade with the same method you originally installed with: `make install` + writes `seid` to `$(go env GOPATH)/bin`, while the prebuilt-binary flow + installs to `/usr/local/bin`. Mixing the two leaves separate binaries on your + `PATH`, and your service unit may keep running the old version — + `which -a seid` lists every copy. + + ### Minor Updates For minor updates that are non-consensus-breaking: -```bash -# Stop node -sudo systemctl stop seid + + + ```bash + # Stop node + sudo systemctl stop seid + + # Download and verify the new release binary + VERSION= # the new release tag, e.g. v6.6.0 + FILE=sei-chain_${VERSION#v}_linux_x86_64.tar.gz # asset filenames omit the leading v + + curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/${FILE} + curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/checksums.txt + sha256sum -c checksums.txt --ignore-missing \ + && tar -xzf ${FILE} seid \ + && sudo install -m 0755 seid /usr/local/bin/seid + + # Restart node + sudo systemctl restart seid + ``` + -# Update binary -cd sei-chain -git fetch --all -git checkout [new-version] -make install + + ```bash + # Stop node + sudo systemctl stop seid -# Restart node -sudo systemctl restart seid -``` + # Update binary + cd sei-chain + git fetch --all + git checkout + make install + + # Restart node + sudo systemctl restart seid + ``` + + ### Major Updates @@ -1611,18 +1643,38 @@ For major upgrades that introduce state-breaking changes: 3. Update/replace the binary 4. Restart the node. -```bash -# After node halts -cd sei-chain -git pull -git checkout [new-version] -make install -sudo systemctl restart seid -``` + + + ```bash + # After node halts + VERSION= # the new release tag, e.g. v6.6.0 + FILE=sei-chain_${VERSION#v}_linux_x86_64.tar.gz + + curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/${FILE} + curl -fLO https://github.com/sei-protocol/sei-chain/releases/download/${VERSION}/checksums.txt + sha256sum -c checksums.txt --ignore-missing \ + && tar -xzf ${FILE} seid \ + && sudo install -m 0755 seid /usr/local/bin/seid + + sudo systemctl restart seid + ``` + + + + ```bash + # After node halts + cd sei-chain + git pull + git checkout + make install + sudo systemctl restart seid + ``` + + - Build the upgrade before the halt-height so you can quickly replace it - with minimal downtime. + Download the release archive (or build the new binary) ahead of the + halt-height so the swap takes seconds at upgrade time. ## Performance Optimization