Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update validator setup instructions for v27 / SDK 0.50 #547

Merged
merged 14 commits into from
Feb 19, 2025

Conversation

CryptoFewka
Copy link
Contributor

@CryptoFewka CryptoFewka commented Feb 14, 2025

Summary by CodeRabbit

  • Documentation
    • Enhanced the node setup guide by emphasizing the use of a non-root user for improved security.
    • Revised installation instructions for cosmovisor to the latest version and adjusted service configuration details.
    • Added detailed instructions for downloading the latest full node snapshot and clarified the snapshot extraction process.
    • Introduced a new section for querying node status to confirm synchronization.
    • Updated the validator creation guide to include new requirements and improved clarity on using a JSON configuration file.

@CryptoFewka CryptoFewka requested a review from a team as a code owner February 14, 2025 16:59
Copy link

vercel bot commented Feb 14, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
docs-v2 ✅ Ready (Inspect) Visit Preview Feb 19, 2025 6:53pm

Copy link
Contributor

coderabbitai bot commented Feb 14, 2025

Warning

Rate limit exceeded

@CryptoFewka has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 6 minutes and 4 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 51768be and 71dd04e.

📒 Files selected for processing (2)
  • src/pages/nodes/start-here/setup.mdx (8 hunks)
  • src/pages/nodes/validate/validator.mdx (5 hunks)
📝 Walkthrough

Walkthrough

The pull request updates the setup instructions for a ZetaChain Mainnet node. Key changes include enforcing the use of a dedicated non-root user (zetachain) through the introduction of commands utilizing sudo -u zetachain and the addition of a section for creating this account. The installation instructions for cosmovisor have been updated to the latest version, and the systemd service configuration has been restructured with a new file path and simplified command. Additionally, the upgrade instructions now reference updated binary version numbers.

Changes

File Path Change Summary
src/pages/nodes/.../setup.mdx - Added a new section for creating a non-root user account (zetachain).
- Modified commands to use sudo for downloading binaries and configuration files.
- Updated cosmovisor installation from version v1.5.0 to v1.7.1, with corresponding wget command changes.
- Restructured the systemd service configuration: changed file path to /usr/local/lib/systemd/system/zetacored.service and simplified the ExecStart command.
- Updated binary upgrade instructions from v17 to v26/v27.
src/pages/nodes/.../syncing.mdx - Rephrased description of snapshot method for clarity.
- Updated snapshot extraction directory path from ~/.zetacored to /home/zetachain/.zetacored.
- Added detailed instructions for downloading the latest full node snapshot.
- Introduced a new section titled "Query Node Status" with commands for checking node synchronization.
src/pages/nodes/.../validator.mdx - Added instruction to execute the guide under the account running the validator.
- Included a new step for creating and adjusting a ~/validator.json file.
- Updated validator creation command to utilize the JSON file.
- Modified delegation command to require a minimum of 2000000 azeta and included gas parameters.

Possibly related PRs

  • chore: validator doc -- Add payout wallet info #515: The changes in the main PR regarding the validator creation process and user account instructions are related to the modifications in the retrieved PR that also focuses on the validator documentation, specifically enhancing user guidance for managing validator rewards.

Suggested reviewers

  • fadeev
  • bbbeeeee
  • julianrubino
  • gartnera

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@CryptoFewka CryptoFewka marked this pull request as draft February 14, 2025 16:59
@CryptoFewka CryptoFewka self-assigned this Feb 14, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (3)
src/pages/nodes/start-here/setup.mdx (3)

16-17: Consider more restrictive file permissions for the binary.

While chmod a+x works, it's more secure to use specific permissions for owner and group.

-sudo chmod a+x /usr/local/bin/zetacored
+sudo chown root:zetachain /usr/local/bin/zetacored &&\
+sudo chmod 750 /usr/local/bin/zetacored

173-196: Add memory limits to the systemd service.

To prevent OOM issues, add memory limits to the service configuration.

 LimitNOFILE=262144
+MemoryMax=16G
+MemorySwapMax=0

225-225: Fix typographical error in upgrade instructions.

Remove the duplicate word "the".

-The upgrade name is **not** the the release name on github.
+The upgrade name is **not** the release name on github.
🧰 Tools
🪛 LanguageTool

[duplication] ~225-~225: Possible typo: you repeated a word.
Context: ...rade name. The upgrade name is not the the release name on github. Reference the [...

(ENGLISH_WORD_REPEAT_RULE)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6666af7 and 2991363.

📒 Files selected for processing (1)
  • src/pages/nodes/start-here/setup.mdx (7 hunks)
🧰 Additional context used
🪛 LanguageTool
src/pages/nodes/start-here/setup.mdx

[duplication] ~225-~225: Possible typo: you repeated a word.
Context: ...rade name. The upgrade name is not the the release name on github. Reference the [...

(ENGLISH_WORD_REPEAT_RULE)


[typographical] ~241-~241: It appears that a comma is missing.
Context: ...binary ### Monitoring In a production environment we recommend monitoring the node resour...

(DURING_THAT_TIME_COMMA)


[uncategorized] ~246-~246: A comma might be missing here.
Context: ... Systemd service using the instructions above you can view logs with `journalctl -eu ...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: build
  • GitHub Check: Analyze (javascript)

Copy link
Member

@gartnera gartnera left a comment

Choose a reason for hiding this comment

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

I don't really see anything related to v0.50.x ?

@CryptoFewka CryptoFewka requested a review from gartnera February 19, 2025 01:13
@CryptoFewka CryptoFewka marked this pull request as ready for review February 19, 2025 01:13
@CryptoFewka CryptoFewka requested a review from a team February 19, 2025 01:14
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (6)
src/pages/nodes/start-here/syncing.mdx (1)

19-36: New Full Node Snapshot Download Instructions.
The newly added section “## Download the latest full node snapshot” is comprehensive. It clearly outlines the installation of prerequisites (like lz4), fetching the snapshot JSON, extracting the download link and filename, and then downloading/extracting the snapshot with the appropriate user privileges. For improved robustness, you might consider adding error handling or checks (e.g. verifying the curl command’s success) if this set of commands is to be used in automated scripts.

src/pages/nodes/validate/validator.mdx (1)

102-107: Validator Creation Transaction Instructions.
The detailed steps to create and execute the validator creation transaction are clear and actionable. It is a good idea to advise users to check the transaction output for any errors post‑execution.

src/pages/nodes/start-here/setup.mdx (4)

155-159: Installing the Current zetacored Binary for Cosmovisor.
Copying the current zetacored binary into the cosmovisor genesis bin directory is clearly explained. It would be beneficial to also add an integrity check step if feasible.


223-226: Upgrade Readiness Instructions and Directory Nomenclature.
The section advising users on preparing for upgrades is very useful. However, note that there is a duplicated article (“the the”) in the sentence “The upgrade name is not the the release name on github.”
[tip]
Apply the following diff to correct the typo:

- The upgrade name is **not** the the release name on github.
+ The upgrade name is **not** the release name on github.
🧰 Tools
🪛 LanguageTool

[duplication] ~225-~225: Possible typo: you repeated a word.
Context: ...rade name. The upgrade name is not the the release name on github. Reference the [...

(ENGLISH_WORD_REPEAT_RULE)


241-241: Punctuation Improvement in Monitoring Section.
A comma after “Disk usage” may enhance readability in the sentence describing monitored resources.
[minor]

🧰 Tools
🪛 LanguageTool

[typographical] ~241-~241: It appears that a comma is missing.
Context: ...binary ### Monitoring In a production environment we recommend monitoring the node resour...

(DURING_THAT_TIME_COMMA)


246-246: Punctuation Suggestion for Log Viewing Instructions.
Consider adding a comma in the sentence “If you installed zetacored as a Systemd service using the instructions above you can view logs with journalctl -eu zetacored” to improve clarity (e.g. after “above”).
[minor]

🧰 Tools
🪛 LanguageTool

[uncategorized] ~246-~246: Possible missing comma found.
Context: ... Systemd service using the instructions above you can view logs with `journalctl -eu ...

(AI_HYDRA_LEO_MISSING_COMMA)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2991363 and b24b216.

📒 Files selected for processing (3)
  • src/pages/nodes/start-here/setup.mdx (7 hunks)
  • src/pages/nodes/start-here/syncing.mdx (3 hunks)
  • src/pages/nodes/validate/validator.mdx (4 hunks)
🧰 Additional context used
🪛 LanguageTool
src/pages/nodes/validate/validator.mdx

[uncategorized] ~140-~140: Possible missing comma found.
Context: ...alidators by voting power. As of early Q1 2025, this requires a minimum of 700 ZE...

(AI_HYDRA_LEO_MISSING_COMMA)

src/pages/nodes/start-here/setup.mdx

[duplication] ~225-~225: Possible typo: you repeated a word.
Context: ...rade name. The upgrade name is not the the release name on github. Reference the [...

(ENGLISH_WORD_REPEAT_RULE)


[typographical] ~241-~241: It appears that a comma is missing.
Context: ...binary ### Monitoring In a production environment we recommend monitoring the node resour...

(DURING_THAT_TIME_COMMA)


[uncategorized] ~246-~246: Possible missing comma found.
Context: ... Systemd service using the instructions above you can view logs with `journalctl -eu ...

(AI_HYDRA_LEO_MISSING_COMMA)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: build
🔇 Additional comments (17)
src/pages/nodes/start-here/syncing.mdx (3)

14-14: Clarified Snapshot Method Description.
The revised sentence now reads “This option downloads a data directory backed up from an existing node,” which is succinct and clear regarding what the snapshot method achieves.


17-18: Updated Snapshot Extraction Directory.
Changing the extraction location from a tilde‑based path to the explicit /home/zetachain/.zetacored directory ensures users operate within the correct non‑root environment.


113-123: Refined Query Node Status Section.
The updated “Query Node Status” instructions now clearly direct users to check the sync status (with emphasis on catching_up, latest_block_height, and latest_block_time). This concise guidance aids operators in confirming node synchronization.

src/pages/nodes/validate/validator.mdx (5)

20-24: Enforce Non‑Root Operation for Validator Setup.
The added instruction—telling users to run the guide as the account under which the validator will run (with the sudo su -l zetachain command)—is an important security and operational enhancement.


59-61: Mainnet Validator Creation Context.
The clarification that the validator example applies to Zetachain Mainnet and the reminder to save the transaction hash are helpful additions that ensure users know exactly what to expect.


63-78: Introducing the ~/validator.json Template.
Providing a JSON template for validator creation makes the process both more organized and user‑friendly. Ensure that all example values (such as the pubkey and amount) are clearly recognized as placeholders. This approach improves clarity and repeatability.


99-100: Critical Reminder to Update the Validator’s Pubkey.
Requiring users to replace the validator’s pubkey in the JSON file with the output from zetacored tendermint show-validator is crucial for a successful validator setup.


137-145: Updated Delegation Requirements and Validator Ranking Note.
The modification to the delegation command—now requiring a minimum of 2000000 azeta—and the updated note regarding the minimum of 700 ZETA to rank in the top 100 validators align with current network requirements. It would be worthwhile to confirm that these values are current with network parameters.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~137-~137: Possible missing comma found.
Context: ... To delegate additional tokens to your validator use the following command. Adjust the a...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~138-~138: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...r use the following command. Adjust the amount of tokens accordingly to reach the mini...

(AMOUNTOF_TO_NUMBEROF)


[uncategorized] ~140-~140: Possible missing comma found.
Context: ...alidators by voting power. As of early Q1 2025, this requires a minimum of 700 ZE...

(AI_HYDRA_LEO_MISSING_COMMA)

src/pages/nodes/start-here/setup.mdx (9)

16-18: Node Binary Installation Commands.
The commands to download the zetacored binary and set its executable permissions are straightforward and correct. These steps clearly instruct the user on installing the node binary.


29-36: New Non‑Root User Account Section.
Introducing the “## Create Non-Root User Account” section with guidance to run the binary as a non‑root user (using sudo useradd -m -s /bin/bash zetachain) significantly enhances system security.


46-46: Data Directory Initialization Command Updated.
The initialization command executed with sudo -u zetachain properly reflects the transition to a non‑root operational environment.


63-67: Fetching Config Files with Non‑Root Permissions.
The updated wget commands use sudo -u zetachain to fetch configuration files into the correct directory. For additional security, consider implementing checksum verification to ensure file integrity; this was previously suggested in similar updates.


127-129: Cosmovisor Installation from Source – Version Pinned.
Changing the cosmovisor installation command to use version v1.7.1 (as in go install cosmossdk.io/tools/cosmovisor/cmd/[email protected]) is a positive move for reproducible builds.


138-142: Precompiled Binary Instructions for Cosmovisor Updated.
The instructions to download, extract, and install the precompiled cosmovisor binary for version v1.7.1 are clear and consistent with the source installation method.


149-151: Cosmovisor Directory Creation.
Setting up the required cosmovisor directories using sudo -u zetachain mkdir -p ensures that the directories have the proper ownership and permissions. This adheres to the overall non‑root strategy.


161-198: Systemd Unit File Configuration for zetacored.
The comprehensive systemd service configuration, including environment variables, working directory, restart policies, and user specification (User=zetachain), ensures that the node runs reliably under cosmovisor. The heredoc technique used for file creation is elegant and clear.


208-212: Reloading and Enabling the Systemd Service.
The instructions to run sudo systemctl daemon-reload and sudo systemctl enable zetacored are concise and sufficiently instruct the user to enable the service after configuration changes.

Copy link
Member

@CharlieMc0 CharlieMc0 left a comment

Choose a reason for hiding this comment

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

LGTM except for double word the the

@julianrubino
Copy link
Member

Probably is a good idea to mention which files are really important for a validator like data/priv_validator_state.json?

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (1)
src/pages/nodes/start-here/setup.mdx (1)

63-66: 🛠️ Refactor suggestion

Configuration Files Fetch – Integrity Verification
The commands efficiently download the configuration files into the proper directory. For enhanced security, consider adding checksum verification for these files (as previously suggested). For example:

 sudo -u zetachain wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/genesis.json -O /home/zetachain/.zetacored/config/genesis.json &&\
-sudo -u zetachain wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/client.toml -O /home/zetachain/.zetacored/config/client.toml &&\
+sudo -u zetachain wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/client.toml -O /home/zetachain/.zetacored/config/client.toml &&\
+sudo -u zetachain wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/genesis.json.sha256 -O /home/zetachain/.zetacored/config/genesis.json.sha256 &&\
+cd /home/zetachain/.zetacored/config && sha256sum -c genesis.json.sha256 &&\

This suggestion mirrors prior feedback.

🧹 Nitpick comments (4)
src/pages/nodes/start-here/setup.mdx (4)

16-18: Confirm Placeholder and Permission Setup
The command downloads the node binary and sets the executable permission correctly. However, the placeholder VERSION must be clearly highlighted in the documentation for users to replace with the actual release version.


29-36: Create Non-Root User Section – Security & Idempotency
The new “Create Non-Root User Account” section is well integrated and improves security by avoiding root execution. Consider adding a note about checking if the user already exists to prevent duplicate user creation errors.


172-198: Systemd Service File Configuration
The unit file is structured well with clear environment variable definitions, user specification, and resource limits. This configuration should correctly manage the cosmovisor-managed service. Consider evaluating if additional logging or error-handling options might further enhance robustness.


240-242: Typographical Improvement in Monitoring Section
The list of node resource metrics would benefit from a minor punctuation fix for enhanced readability. Consider inserting a comma after “Disk usage” as shown below:

- CPU load, Memory Usage, Disk usage and Disk IO
+ CPU load, Memory Usage, Disk usage, and Disk IO

This change improves the clarity of the monitoring instructions.

🧰 Tools
🪛 LanguageTool

[typographical] ~241-~241: It appears that a comma is missing.
Context: ...binary ### Monitoring In a production environment we recommend monitoring the node resour...

(DURING_THAT_TIME_COMMA)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b24b216 and 8efad99.

📒 Files selected for processing (1)
  • src/pages/nodes/start-here/setup.mdx (7 hunks)
🧰 Additional context used
🪛 LanguageTool
src/pages/nodes/start-here/setup.mdx

[typographical] ~241-~241: It appears that a comma is missing.
Context: ...binary ### Monitoring In a production environment we recommend monitoring the node resour...

(DURING_THAT_TIME_COMMA)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: build
🔇 Additional comments (12)
src/pages/nodes/start-here/setup.mdx (12)

46-47: Node Initialization Command
Running the initialization as the non-root user with sudo -u zetachain is correct, and the use of the MONIKER placeholder is clearly explained below.


127-129: Cosmovisor Installation from Source
The updated go install command correctly pins cosmovisor to version v1.7.1, ensuring reproducible builds.


133-142: Precompiled Cosmovisor Binary Instructions
The precompiled binary download instructions are consistent with the version used in the source installation. The steps are clear and correctly reference cosmovisor v1.7.1.


149-151: Cosmovisor Directories Setup
Using sudo -u zetachain to create the necessary directories under the non-root user’s home directory is a good practice and is correctly implemented.


155-159: Installing the Current zetacored Binary for Cosmovisor
Copying the binary from /usr/local/bin to the cosmovisor genesis directory is accurate. Ensure that prior steps have successfully installed the binary before copying.


167-168: Systemd Unit Directory Creation
The command to create /usr/local/lib/systemd/system/ is correct and necessary for the subsequent systemd service setup.


208-212: Reloading and Enabling the Systemd Service
The instructions to reload the systemd daemon and enable the service are clear. The expected symlink message is helpful for verification.


213-214: Next Steps Header Introduction
The “Next Steps” section is clearly delineated, smoothly transitioning the reader to subsequent operations after setup.


223-226: Upgrade Readiness Instructions
The provided upgrade instructions are comprehensive and set the stage for managing future binary updates through cosmovisor.


230-232: Upgrade Binary Table Clarity
The table detailing upgrade names, paths, and tags aids in clarity and reinforces best practices for upgrade readiness.


245-246: Viewing Service Logs
The instruction to view logs with journalctl -eu zetacored is accurate and ensures users can effectively troubleshoot service issues.


250-252: Prometheus Metrics Configuration
The documentation clearly indicates that Prometheus is enabled by default on port 26660, and it provides a useful reference for further details.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (4)
src/pages/nodes/start-here/setup.mdx (4)

29-36: Introduce Non-Root User Creation Section

The new section for creating a non-root user (zetachain) enhances security and follows best practices. Optionally, consider mentioning a check to see if the user already exists to avoid duplicate account creation.


63-66: Fetching Configuration Files with Security Considerations

The commands correctly download the essential configuration files into the proper directory. For enhanced security, consider adding a quick note or link on checksum verification of these files. Additionally, if applicable, it might be beneficial to call out critical files for validator operation (such as data/priv_validator_state.json) so users know not to overlook them.


133-142: Precompiled Cosmovisor Binary Instructions

The instructions for downloading and installing the precompiled cosmovisor binary are correct and reflect the updated version and platform (linux-amd64). For additional security, consider suggesting a checksum verification step to confirm file integrity.


240-252: Metrics and Monitoring Details with Minor Punctuation Adjustments

The section on Prometheus metrics and node monitoring is clear and informative. However, as indicated by static analysis, consider inserting a comma in the metrics description for improved clarity. For example:

-Prometheus is enabled by default to serve metrics on port **26660** which can be consumed by Prometheus collector(s)...
+Prometheus is enabled by default to serve metrics on port **26660**, which can be consumed by Prometheus collector(s)...

Similarly, review the log monitoring phrasing for consistent punctuation.

🧰 Tools
🪛 LanguageTool

[typographical] ~241-~241: It appears that a comma is missing.
Context: ...binary ### Monitoring In a production environment we recommend monitoring the node resour...

(DURING_THAT_TIME_COMMA)


[uncategorized] ~246-~246: Possible missing comma found.
Context: ... Systemd service using the instructions above you can view logs with `journalctl -eu ...

(AI_HYDRA_LEO_MISSING_COMMA)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8efad99 and 51768be.

📒 Files selected for processing (1)
  • src/pages/nodes/start-here/setup.mdx (8 hunks)
🧰 Additional context used
🪛 LanguageTool
src/pages/nodes/start-here/setup.mdx

[typographical] ~241-~241: It appears that a comma is missing.
Context: ...binary ### Monitoring In a production environment we recommend monitoring the node resour...

(DURING_THAT_TIME_COMMA)


[uncategorized] ~246-~246: Possible missing comma found.
Context: ... Systemd service using the instructions above you can view logs with `journalctl -eu ...

(AI_HYDRA_LEO_MISSING_COMMA)

⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: build
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (9)
src/pages/nodes/start-here/setup.mdx (9)

3-3: Update Node Description for Mainnet Beta

The updated description now clearly identifies this as a "Mainnet Beta" node guide. Ensure that the "Beta" terminology is reflected consistently throughout the documentation if it reflects a temporary or transitional phase.


16-17: Clarify Binary Download Command

The commands for downloading the binary and setting executable permissions are correct. A reminder to replace the VERSION placeholder with the actual version number will help prevent user errors.


46-46: Node Initialization Command

Running the node initialization command as the zetachain user is appropriate. Ensure that users replace the MONIKER placeholder with their chosen node name. You could also note that the --home flag is available if a custom data directory is needed.


127-129: Updated Cosmovisor Installation (From Source)

The updated installation command for cosmovisor now uses version v1.7.1 and is properly pinned, which improves reproducibility.


149-151: Cosmovisor Directory Creation

Creating the necessary cosmovisor directories under /home/zetachain/.zetacored is clearly explained. It might be helpful to mention that if these directories already exist, users can skip this step.


155-159: Installing the zetacored Binary into Cosmovisor Directory

Copying the current zetacored binary into the cosmovisor genesis directory ensures proper management during upgrades. It may be useful to remind users to verify that file permissions remain correct after the copy operation.


161-198: Configuring the zetacored Systemd Service

The new systemd unit file is comprehensive and sets the necessary environment variables and paths for running zetacored under cosmovisor as the zetachain user. The structure is clear and production-ready. Consider, as an optional enhancement, adding a note about monitoring service status or log rotation.


208-212: Reloading and Enabling the Systemd Service

The instructions to reload the systemd daemon and enable the zetacored service are straightforward and include information about the expected output. This addition will help users verify that the service has been correctly set up.


214-232: Upgrade Readiness and Version Management

The "Next Steps" section—including the upgrade readiness guidelines and the upgrade path table—is well structured. It delivers clear guidance on the process for future upgrade steps, ensuring that users understand where to place new binaries. Just verify that the upgrade naming conventions remain consistent across all documentation.

@CryptoFewka CryptoFewka merged commit 4a1a4dd into main Feb 19, 2025
6 checks passed
@CryptoFewka CryptoFewka deleted the v27-validator-fixes branch February 19, 2025 21:37
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.

Fix validator and node docs after Cosmos SDK v0.50 upgrade
4 participants