Skip to content

docs(migration): keep the reserve build out of the running node's path until step 3 - #4462

Closed
alexander-sei wants to merge 2 commits into
alexanderh/memiavl-reserve-node-guidefrom
cursor/reserve-guide-review-fixes-7099
Closed

alexander-sei wants to merge 2 commits into
alexanderh/memiavl-reserve-node-guidefrom
cursor/reserve-guide-review-fixes-7099

Conversation

@alexander-sei

Copy link
Copy Markdown
Contributor

seidroid's review of #4460 found that step 1 of the mainnet reserve guide runs make install. That overwrites $(go env GOPATH)/bin/seid, the binary a v6.6 node installed with make install runs. The node's next restart before the v6.7 upgrade height would then start the v6.7.0 reserve build on v6.6 blocks, and with no upgrade plan on chain it logs nothing. The testnet guide has the same step. There, a restart turns whichever node runs that binary into a reserve, without step 3's FlatKV check. Both guides also build the digest tool into build/seidb but then call a bare seidb, which is either missing or an older copy from PATH.

Step 1 now runs make build BUILD_TAGS=mock_chain_validation, which uses the same BUILD_FLAGS as make install but writes ./build/seid, and checks the result with ./build/seid version --long. Step 3 says what installing means: copying build/seid over the binary the service starts, which systemctl cat seid shows (under Cosmovisor, current/bin/seid). A v6.6 node keeps its binary until the upgrade halt. Under Cosmovisor, it gets the reserve build in $DAEMON_HOME/cosmovisor/upgrades/v6.7/bin/seid, because v6.7 is the upgrade name in app/tags and Cosmovisor names the directory after the plan, lower-cased. The Upgrades and Don't sections now say the same. The build loads its wasm libraries through a RUNPATH that points into the checkout, so both guides say to leave the checkout unchanged while a node runs the build. The digest commands now call ./build/seidb.

This is a docs-only change. I ran make build at 2bff7d5a9. It printed the version, commit and tags the guides show, and it left $(go env GOPATH)/bin empty. readelf shows the RUNPATH into the checkout. rc3's seidb rejects --memiavl-open-mode changelog, which is the concrete failure the bare seidb call risked.

Open in Web Open in Cursor 

cursoragent and others added 2 commits October 5, 2026 22:30
…ling it

Step 1 of both reserve guides ran `make install`, which overwrites
$(go env GOPATH)/bin/seid, the binary a node installed that way runs. On a
pacific-1 node still on v6.6 the next restart would start the v6.7.0
reserve build before the v6.7 upgrade height, and with no upgrade plan on
chain it logs nothing. On testnet it would turn whatever node runs that
binary into a reserve without step 3's FlatKV check.

Build with `make build BUILD_TAGS=mock_chain_validation`, which uses the
same flags but writes build/seid, and say in step 3 when and where to put it
in place: over the binary the service starts, at the upgrade halt for a v6.6
node, or in $DAEMON_HOME/cosmovisor/upgrades/v6.7/bin/seid under Cosmovisor
(v6.7 is the upgrade name in app/tags). Also note that the build loads its
wasm libraries from the checkout, so the checkout has to stay unchanged.

Co-authored-by: alexander-sei <alexander-sei@users.noreply.github.com>
Both guides built the digest tool into build/seidb and then called a bare
`seidb`, which is "command not found" on a fresh machine and silently runs
whatever older seidb is on PATH elsewhere; one without
`--memiavl-open-mode changelog` rejects the composite command. Call it as
./build/seidb from the checkout, and say that the normal node needs the
same binary.

Co-authored-by: alexander-sei <alexander-sei@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedOct 5, 2026, 10:32 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants