Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 50 additions & 14 deletions evm/installing-seid-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,64 @@

## 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.

<VersionTable />

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:
<Tabs>
<Tab title="Prebuilt binary (recommended)">
Each release attaches a statically linked `seid` build for `linux/amd64` with no

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[suggestion] "Each release attaches a statically linked seid build" contradicts the <Info> twelve lines down, which says prebuilt binaries are attached from v6.6.1 onward. A reader on the recommended tab hits the unconditional claim first and may try it against an older tag — the exact 404 that #45 was reverting to avoid.

Suggest scoping the lead sentence, e.g. "Releases from v6.6.1 onward attach a statically linked seid build for linux/amd64…". Same sentence at node/index.mdx:97.

runtime dependencies:

```bash
VERSION=<version-tag> # e.g. v6.6.1 — see the version table above

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[suggestion] VERSION=<version-tag> doesn't survive a copy-paste: bash tokenizes < and > as redirection operators, so this line aborts with syntax error near unexpected token 'newline' before anything else runs. The reader then has to reverse-engineer that <...> was a placeholder.

Since you already give the concrete value in the trailing comment, a working default costs nothing and makes the whole block runnable as-is:

VERSION=v6.6.1  # pick your version from the table above

Same pattern at node/index.mdx:101 and node/node-operators.mdx:1585 and :1630 (VERSION=<new-version>).

Noting the counter-argument: <version-tag> is the existing convention in this repo (the git checkout <version-tag> line has the same property), so this is consistent — it's just that the assignment form has a zero-cost fix and the build-from-source form doesn't.

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; extract and install only if it passes
sha256sum -c checksums.txt --ignore-missing \
&& tar -xzf ${FILE} seid \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[suggestion] tar -xzf ${FILE} seid only works if the binary is stored at the archive root (seid or ./seid). If it's nested under a version directory, tar exits with seid: Not found in archive and the && chain correctly stops — but after a successful checksum, which reads as a verification failure to the user.

Worth confirming against the actual v6.6.1 asset. If the layout is ever uncertain, tar -xzf "${FILE}" --strip-components=1 --wildcards '*/seid' (or extracting everything and installing by found path) is more robust. Applies to all four copies: this line, node/index.mdx:109, node/node-operators.mdx:1591 and :1636.

&& sudo install -m 0755 seid /usr/local/bin/seid
```

<Info>
Prebuilt binaries are attached from `v6.6.1` onward — for earlier versions, build
from source. They are `linux/amd64` only and omit hardware Ledger support. On
other architectures, or if you sign with a Ledger device, build from source.
</Info>

<Note>
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.
</Note>
</Tab>

<Tab title="Build from source">
```bash
git clone https://github.com/sei-protocol/sei-chain
cd sei-chain
git checkout <version-tag>
make install
```
</Tab>
</Tabs>

You can verify that `seid` was installed correctly by running:

```bash
seid version
```

## Troubleshooting Installation

<Warning>If you encounter an error like `command not found: seid`, you may need to set your GOPATH environment variable.</Warning>
<Warning>If you built from source and encounter an error like `command not found: seid`, you may need to set your GOPATH environment variable.</Warning>

- Use `go env GOPATH` to find your GOPATH
- Add the following lines to your `~/.bashrc` or `~/.zshrc`:
Expand All @@ -49,7 +81,7 @@

For more information see [here](https://pkg.go.dev/cmd/go#hdr-GOPATH_environment_variable).

## Command Overview

Check warning on line 84 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L84

Use sentence case for headings: 'Command Overview'.

Seid supports all the commands you need to interact with the chain. To see a list of available commands and explanations of what they do, run seid:

Expand Down Expand Up @@ -97,7 +129,7 @@
Use "seid [command] --help" for more information about a command.
```

## Adding a Wallet

Check warning on line 132 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L132

Use sentence case for headings: 'Adding a Wallet'.

You can create a new wallet using the seid keys command:

Expand Down Expand Up @@ -148,16 +180,16 @@
mnemonic: ""
```

## EVM Wallet Compatibility

Check warning on line 183 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L183

Use sentence case for headings: 'EVM Wallet Compatibility'.

### Understanding Coin Types

Check warning on line 185 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L185

Use sentence case for headings: 'Understanding Coin Types'.

Sei supports two coin types:

- Coin type 118 (default): Standard Cosmos address format
- Coin type 60: Ethereum-compatible address format for EVM wallets

### Creating an EVM-Compatible Wallet

Check warning on line 192 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L192

Use sentence case for headings: 'Creating an EVM-Compatible Wallet'.

To create a new wallet that's compatible with EVM wallets like MetaMask:

Expand All @@ -184,7 +216,7 @@

<Info>`evm_address` is shown as empty here because it's only displayed after the key first broadcasts a transaction or is associated on-chain. The `0x` address is deterministically derived from the secp256k1 public key.</Info>

### Importing an Existing EVM Wallet

Check warning on line 219 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L219

Use sentence case for headings: 'Importing an Existing EVM Wallet'.

To import an existing wallet from MetaMask or other EVM wallets:

Expand All @@ -210,7 +242,7 @@

<Info>Use coin type 60 when you want to use the same address across EVM-compatible chains or import from MetaMask. Use the default coin type 118 for standard Cosmos operations.</Info>

## Managing Wallets

Check warning on line 245 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L245

Use sentence case for headings: 'Managing Wallets'.

To see your local wallets, you can run:

Expand Down Expand Up @@ -249,7 +281,7 @@

to see details about a specific wallet.

## Deleting Wallets

Check warning on line 284 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L284

Use sentence case for headings: 'Deleting Wallets'.

To delete a wallet/key, you can use the following command:

Expand All @@ -268,8 +300,12 @@

## 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nit] These two rms sit in one copy-pasteable block, so a reader will likely run both. For someone who took the prebuilt path, Go may not be installed at all now that the prereq is scoped to build-from-source — $(go env GOPATH) then expands to the empty string and this becomes rm /bin/seid. Harmless in practice (no such file, and it'd need sudo), but it's an odd thing to hand a reader.

Quoting and guarding fixes it, and matches the safer form you already use in node/index.mdx:

# Build-from-source install
rm -f "$(go env GOPATH)/bin/seid"

Splitting into two blocks, or a comment noting these are alternatives rather than a sequence, would help too.

```
131 changes: 88 additions & 43 deletions node/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@
<Card horizontal title="Archive Nodes" icon="database" />
</CardGroup>

## Network Versions

Check warning on line 22 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L22

Use sentence case for headings: 'Network Versions'.

<VersionTable />

_Live binary versions, genesis, and seed peers — see the [technical reference](/node/technical-reference)._

## Hardware Requirements

Check warning on line 28 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L28

Use sentence case for headings: 'Hardware Requirements'.

| Component | Required |
| --------- | ------------------------------------------------------ |
Expand All @@ -34,7 +34,7 @@
| Storage | 2 TB NVMe SSD (high IOPS required) |
| Network | 2 Gbps with low latency |

## Installation & Setup Steps

Check warning on line 37 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L37

Use sentence case for headings: 'Installation & Setup Steps'.

<Steps>

Expand All @@ -47,13 +47,13 @@
sudo apt update && sudo apt upgrade -y
```

###### 2. Install Essential Packages

Check warning on line 50 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L50

Use sentence case for headings: '2. Install Essential Packages'.

```bash
sudo apt install make gcc git jq chrony curl lz4 wget tar build-essential -y
```

###### 3. Synchronize System Time

Check warning on line 56 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L56

Use sentence case for headings: '3. Synchronize System Time'.

```bash
sudo timedatectl set-timezone UTC
Expand All @@ -61,11 +61,14 @@
timedatectl
```

##### Install Go

Check warning on line 64 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L64

Use sentence case for headings: '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

Check warning on line 71 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L71

Use sentence case for headings: 'Installation Steps'.

```bash
# Check for existing Go installation
Expand All @@ -85,51 +88,93 @@
</Step>

<Step title="Install Sei">
##### Install Sei Binary

```bash
# Clone repository and install
git clone https://github.com/sei-protocol/sei-chain.git
cd sei-chain
git checkout <version-tag> # Replace with specific version
make install

# Verify installation
seid version
```

See Network Versions table above for current recommended version.

<Accordion title="Alternative: Docker Image">
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.
</Accordion>

<Info>
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).
</Info>
##### Install the `seid` binary

See the Network Versions table above for the current recommended version.

<Tabs>
<Tab title="Prebuilt binary (recommended)">
Each release attaches a statically linked `seid` build for `linux/amd64` with no
runtime dependencies: no Go toolchain and no shared libraries to install.

```bash
VERSION=<version-tag> # e.g. v6.6.1 — see the Network Versions 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; 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
```

<Info>
Prebuilt binaries are attached from `v6.6.1` onward — for earlier versions, build
from source or use Docker. They 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.
</Info>

<Note>
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`.
</Note>
</Tab>

<Tab title="Build from source">
Requires Go and a C toolchain (see the Environment Setup step above).

```bash
# Clone repository and install
git clone https://github.com/sei-protocol/sei-chain.git
cd sei-chain
git checkout <version-tag> # Replace with specific version
make install

# Verify installation
seid version
```

<Info>
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).
</Info>
</Tab>

<Tab title="Docker">
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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nit] This Docker example still pins v6.3.1. The PR description says version examples were refreshed to v6.6.1 in all four places because stale examples 404 or mislead — the same reasoning applies to the tag a reader will copy from the Docker tab, which now sits as a peer option to the prebuilt path rather than tucked in an accordion.

```

Available architectures: linux/amd64 and linux/arm64.
</Tab>
</Tabs>

##### Initialize Chain Files

Check warning on line 177 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L177

Use sentence case for headings: 'Initialize Chain Files'.

<Info>Default init mode is **full** (RPC/P2P bind to all interfaces). For **validator** or **seed** nodes, use `--mode validator` or `--mode seed` so RPC and P2P bind to localhost only. See the [Validator Operations Guide](/node/validators) for the full validator init example.</Info>

Expand Down Expand Up @@ -157,7 +202,7 @@
sed -i 's/persistent-peers = .*/persistent-peers = "'$PEERS'"/' ~/.sei/config/config.toml
```

##### Configure App Settings

Check warning on line 205 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L205

Use sentence case for headings: 'Configure App Settings'.

```bash
# Set minimum gas price (recommended; helps prevent spam transactions)
Expand Down Expand Up @@ -187,7 +232,7 @@

<Accordion title="Advanced Configuration">

#### Archive Node Setup

Check warning on line 235 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L235

Use sentence case for headings: 'Archive Node Setup'.

An archive node maintains the complete historical record of the chain. This requires disabling state sync and starting with a pre-existing database using a "snapshot".

Expand All @@ -201,7 +246,7 @@

**2. Configure Archive Node Peers** — To sync from the height your snapshot was created at, you need peers retaining a large amount of historical blocks. The node will require specific peers during initial sync, which can be changed at a later time.

#### Mempool Configuration

Check warning on line 249 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L249

Use sentence case for headings: 'Mempool Configuration'.

For optimal transaction handling and resource management, it is recommended to update the mempool settings in your `config.toml` file.

Expand Down Expand Up @@ -289,7 +334,7 @@
sudo systemctl start seid
```

##### Monitoring & Troubleshooting

Check warning on line 337 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L337

Use sentence case for headings: 'Monitoring & Troubleshooting'.

Check your node's status with these commands:

Expand Down Expand Up @@ -325,9 +370,9 @@

[View Complete Node Setup Guide](/node/node-operators)

## Node Resources

Check warning on line 373 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L373

Use sentence case for headings: 'Node Resources'.

### Node Setup

Check warning on line 375 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L375

Use sentence case for headings: 'Node Setup'.

<CardGroup cols={3}>
<Card horizontal title="Node Operations Guide" icon="server" href="/node/node-operators">
Expand All @@ -341,7 +386,7 @@
</Card>
</CardGroup>

### Advanced Operations

Check warning on line 389 in node/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/index.mdx#L389

Use sentence case for headings: 'Advanced Operations'.

<CardGroup cols={3}>
<Card horizontal title="Configuration & Monitoring" icon="gauge-simple-high" href="/node/advanced-config-monitoring">
Expand Down
94 changes: 73 additions & 21 deletions node/node-operators.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
including configuration management, maintenance procedures, and best practices
for stable and performant operations.

## Configuration Management

Check warning on line 12 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L12

Use sentence case for headings: 'Configuration Management'.

### Directory Structure

Check warning on line 14 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L14

Use sentence case for headings: 'Directory Structure'.

The Sei node configuration is stored in `$HOME/.sei/config/`:

Expand All @@ -31,9 +31,9 @@
[Default Configurations](#default-configurations) at the bottom of this
section.

### Essential Configuration Parameters

Check warning on line 34 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L34

Use sentence case for headings: 'Essential Configuration Parameters'.

#### Network Settings (config.toml)

Check warning on line 36 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L36

Use sentence case for headings: 'Network Settings (config.toml)'.

```toml
[p2p]
Expand All @@ -59,7 +59,7 @@
timeout-broadcast-tx-commit = "10s"
```

#### Application Settings (app.toml)

Check warning on line 62 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L62

Use sentence case for headings: 'Application Settings (app.toml)'.

```toml
# Minimum gas prices to prevent spam transactions
Expand Down Expand Up @@ -97,7 +97,7 @@
rs-backend = "pebbledb"
```

### Default Configurations

Check warning on line 100 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L100

Use sentence case for headings: 'Default Configurations'.

The full unmodified `app.toml`, `config.toml`, and `client.toml` produced by
`seid init` against the latest tagged `seid` release. Use these as the
Expand Down Expand Up @@ -1349,7 +1349,7 @@
</Tab>
</Tabs>

## Database Management

Check warning on line 1352 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1352

Use sentence case for headings: 'Database Management'.

### Architecture

Expand All @@ -1374,7 +1374,7 @@
deprecated and slated for removal — new deployments and existing nodes
should run on SeiDB.

### SeiDB Configuration

Check warning on line 1377 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1377

Use sentence case for headings: 'SeiDB Configuration'.

The full set of knobs is in the auto-generated
[Default Configurations](#default-configurations) above. The block below
Expand Down Expand Up @@ -1448,7 +1448,7 @@
snapshot creation. Too-large (less frequent) intervals mean pruning takes
longer overall, which can cause missed blocks and excessive resync time.

### Giga Storage and Giga Executor

Check warning on line 1451 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1451

Use sentence case for headings: 'Giga Storage and Giga Executor'.

These are two **separate** opt-in features that ship in newer `seid`
releases. Both default to off; only enable them deliberately and after
Expand Down Expand Up @@ -1492,7 +1492,7 @@
occ_enabled = false
```

### Database Maintenance

Check warning on line 1495 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1495

Use sentence case for headings: 'Database Maintenance'.

The database is typically stable and can be left alone, although some attention
may be required:
Expand All @@ -1519,9 +1519,9 @@

<Warning>The wipe command above deletes the entire local database (everything except `priv_validator_state.json`) and the `wasm` folder. It does not compact data in place — after running it, the node must be re-synced from a [snapshot](/node/snapshot) or via [state sync](/node/statesync) before it can serve traffic again.</Warning>

## Service Management

Check warning on line 1522 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1522

Use sentence case for headings: 'Service Management'.

### Systemd Commands

Check warning on line 1524 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1524

Use sentence case for headings: 'Systemd Commands'.

```bash
# Check service status
Expand All @@ -1540,7 +1540,7 @@
journalctl -fu seid -o cat
```

### Log Management

Check warning on line 1543 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1543

Use sentence case for headings: 'Log Management'.

Prevent logs from consuming excessive disk space by enabling rotation:

Expand All @@ -1561,27 +1561,59 @@
EOF
```

## Update Procedures

Check warning on line 1564 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1564

Use sentence case for headings: 'Update Procedures'.

<Info>
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.
</Info>

### Minor Updates

Check warning on line 1574 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1574

Use sentence case for headings: 'Minor Updates'.

For minor updates that are non-consensus-breaking:

```bash
# Stop node
sudo systemctl stop seid
<Tabs>
<Tab title="Prebuilt binary">
```bash
# Stop node
sudo systemctl stop seid

# Download and verify the new release binary
VERSION=<new-version> # the new release tag, e.g. v6.6.1
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
```
</Tab>

# Update binary
cd sei-chain
git fetch --all
git checkout [new-version]
make install
<Tab title="Build from source">
```bash
# Stop node
sudo systemctl stop seid

# Restart node
sudo systemctl restart seid
```
# Update binary
cd sei-chain
git fetch --all
git checkout <new-version>
make install

# Restart node
sudo systemctl restart seid
```
</Tab>
</Tabs>

### Major Updates

Check warning on line 1616 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1616

Use sentence case for headings: 'Major Updates'.

For major upgrades that introduce state-breaking changes:

Expand All @@ -1591,21 +1623,41 @@
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
```
<Tabs>
<Tab title="Prebuilt binary">
```bash
# After node halts
VERSION=<new-version> # the new release tag, e.g. v6.6.1
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
```
</Tab>

<Tab title="Build from source">
```bash
# After node halts
cd sei-chain
git pull
git checkout <new-version>
make install
sudo systemctl restart seid
```
</Tab>
</Tabs>

<Tip>
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.
</Tip>

## Performance Optimization

Check warning on line 1660 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1660

Use sentence case for headings: 'Performance Optimization'.

Performance optimizations can yield different results depending on your system's
hardware, workload, and network conditions. Before implementing any changes,
Expand All @@ -1613,7 +1665,7 @@
your specific configuration and requirements. Always back up important data
before making modifications.

### Memory Management (sysctl tuning)

Check warning on line 1668 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1668

Use sentence case for headings: 'Memory Management (sysctl tuning)'.

Optimizing memory management settings can help improve performance and
stability, particularly for high-load nodes. These settings control swap usage
Expand All @@ -1627,7 +1679,7 @@
vm.dirty_writeback_centisecs = 100 # Frequency (in hundredths of a second) at which the system writes "dirty" pages to disk
```

### Network Stack Optimization

Check warning on line 1682 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1682

Use sentence case for headings: 'Network Stack Optimization'.

Tuning the network stack can enhance packet processing efficiency and
throughput, particularly for nodes handling a large number of peers and high
Expand All @@ -1641,7 +1693,7 @@
net.core.wmem_max = 16777216 # send buffer size for network sockets
```

### Storage Optimization

Check warning on line 1696 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1696

Use sentence case for headings: 'Storage Optimization'.

Optimizing storage settings can significantly reduce write latency and improve
database performance, especially for nodes using NVMe SSDs.
Expand All @@ -1651,9 +1703,9 @@
blockdev --setra 4096 /dev/nvme0n1 # readahead value to optimize sequential reads
```

## Backup and Recovery

Check warning on line 1706 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1706

Use sentence case for headings: 'Backup and Recovery'.

### Regular Backups

Check warning on line 1708 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1708

Use sentence case for headings: 'Regular Backups'.

Automate backups to avoid data loss:

Expand All @@ -1672,7 +1724,7 @@
systemctl start seid
```

### Recovery Procedure

Check warning on line 1727 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1727

Use sentence case for headings: 'Recovery Procedure'.

Restoring from backup in case of corruption or accidental deletion:

Expand All @@ -1690,7 +1742,7 @@
systemctl start seid
```

## Security Considerations

Check warning on line 1745 in node/node-operators.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

node/node-operators.mdx#L1745

Use sentence case for headings: 'Security Considerations'.

- Use firewalls and rate-limiting to prevent attacks
- Keep your system and node software updated
Expand Down
Loading