Skip to content

Conversation

@chong-he
Copy link
Member

Update the docs to include mainnet configs, and also the FAQs. I am not completely sure about the technical correctness of the content, so feel free to correct me.

Thanks

@claude-code-actions-sigp
Copy link

claude-code-actions-sigp bot commented Nov 12, 2025

Claude encountered an error —— View job


I'll analyze this and get back to you.

@chong-he chong-he changed the title Update Anchor documentation docs: update Anchor documentation Nov 12, 2025
@chong-he chong-he added the documentation Improvements or additions to documentation label Nov 12, 2025
},
],

editLink: {
Copy link
Member Author

Choose a reason for hiding this comment

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

deleted this because the "edit this page" is not working

@diegomrsantos
Copy link
Member

@claude review this PR

@claude-code-actions-sigp
Copy link

claude-code-actions-sigp bot commented Nov 12, 2025

Claude finished @diegomrsantos's task —— View job


Review Progress

  • Read and analyze all changed files
  • Review FAQ content for technical accuracy
  • Review mainnet configuration changes
  • Review other documentation updates
  • Provide comprehensive feedback

Review Feedback

I've reviewed this documentation PR and found it to be a valuable addition overall. The FAQ section is comprehensive and the mainnet configurations are helpful. Below are my findings organized by file:

docs/docs/pages/faq.mdx ⭐ Major Addition

Positives:

  • Excellent comprehensive FAQ covering common user scenarios
  • Good use of real log examples to help users identify issues
  • Clear explanations of Anchor's role in the SSV network
  • Helpful troubleshooting guidance

Issues Found:

  1. Typo on line 94: "THe following log" → should be "The following log"

  2. Technical clarity needed (line 94): The FAQ mentions "target peer count (60)" but doesn't explain how this value is determined or where it comes from. Consider clarifying that this is the default maximum or providing context.

  3. Grammar (line 150): "The operator will use public key" → should be "The operator will use the public key"

  4. Grammar (line 150): "the private key is a proof that an operator holds the key corresponds to" → should be "the private key is proof that an operator holds the key that corresponds to"

  5. Grammar (line 166): "you will to run as" → should be "you will need to run as"

  6. Question for author: The FAQ states Anchor takes "about 15 minutes on mainnet to sync" - can someone verify this is accurate for mainnet? This seems fast for a full sync, though it may be referring to syncing Anchor's database (contract events) rather than the beacon/execution clients.

docs/docs/pages/installation.mdx ✅ Good Updates

Changes:

  • Added mainnet hardware requirements (32GB RAM, 2TB storage) - Correct and helpful
  • Updated version examples from v1.0.0-rc.1 to v1.1.0 - Appropriate
  • Fixed command examples: changed anchor node --version to anchor --version - Correct (node is a subcommand, not needed for version check)

No issues found in this file.

docs/docs/pages/running_an_operator.mdx ✅ Good Addition

Changes:

  • Added mainnet configuration example alongside Hoodi testnet
  • Removed reference to holesky (deprecated network)

Note: Line 92 shows --datadir ~/.anchor/hoodi in the mainnet example, but this appears to be a copy-paste error. For mainnet, it should be --datadir ~/.anchor/mainnet. However, looking more closely at the example, the comment says "All options used in this example (except for the password-file) are actually used with the default values and can therefore be omitted" - so this might be intentional to show it works regardless. Still, it's confusing. Consider either:

  • Changing to ~/.anchor/mainnet for clarity
  • Or adding a comment explaining this is just an example and the path should match your network

docs/docs/pages/running_a_validator_on_ssv.mdx ✅ Minor Improvements

Changes:

  • Clarified "deposit ETH (minimum 32 ETH for a validator)" - Good addition
  • Simplified link text from "Staking Deposit CLI" to "ethstaker-deposit-cli" (matches actual repo name) - Good
  • Removed redundant sentence "Each link contains more detailed information on the process" - Good cleanup

No issues found in this file.

docs/docs/pages/index.mdx, migrate_to_anchor.mdx, vocs.config.ts ✅ Good Updates

Changes:

  • Updated version references from v1.0.0-rc.1 to v1.0.0
  • Updated GitHub stars count (50 → 54)
  • Fixed broken link in migrate_to_anchor.mdx
  • Removed non-working "edit this page" feature

No issues found in these files.


Summary

Overall Assessment: This is a solid documentation improvement that adds valuable mainnet information and comprehensive FAQs. The changes are technically sound with only minor grammar/typo issues.

Required Changes:

  1. Fix typo: "THe" → "The" (docs/docs/pages/faq.mdx:94)
  2. Fix grammar: "you will to run" → "you will need to run" (docs/docs/pages/faq.mdx:166)

Recommended Changes:

  1. Add missing articles: "use public key" → "use the public key" (docs/docs/pages/faq.mdx:150)
  2. Fix grammar: "key corresponds to" → "key that corresponds to" (docs/docs/pages/faq.mdx:150)
  3. Clarify the datadir path in the mainnet example (docs/docs/pages/running_an_operator.mdx:92) - currently shows ~/.anchor/hoodi for mainnet
  4. Consider adding context about the "60" peer count mentioned in FAQ
  5. Consider verifying the "15 minutes on mainnet" sync time claim

Technical Accuracy: The mainnet configurations (32GB RAM, 2TB storage) align with standard Ethereum node requirements. The FAQ content demonstrates good understanding of Anchor's architecture and common issues.

Great work on this documentation update! 🎉


Comment on lines 24 to 28
Anchor is like a validator client.

Typically, by having Ethereum validators, you will run an execution client, a beacon node and a validator client.

However, if you run Anchor, you do not have to run the validator client. This is because, Anchor will connect with other SSV clients (which can be Anchor or the go-ssv client) to perform validator duties.
Copy link
Member

Choose a reason for hiding this comment

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

I don't know if we want this not to be too technical, but otherwise here is an inspiration:

The SSV Network (Secret Shared Validator network) is a protocol built on Ethereum that allows a validator’s duties to be distributed among multiple operators (node instances) in a trustless way. In SSV, a set of operators collectively run an Ethereum validator by sharing the key (via cryptographic secret sharing) and coordinating actions via a consensus algorithm (a variant of BFT). An SSV node is essentially a specialized client that an operator runs, which communicates with other operators in a cluster to perform validator duties.

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks for the review. I combine with the first question, revised made in 828c955

Copy link
Member

@dknopik dknopik left a comment

Choose a reason for hiding this comment

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

Nice, thanks so much! Added a few corrections for typos and some technical notes.

INFO Processed contract events from block 1598180 log_count=0
```

When attestation happens, Anchor will log:
Copy link
Member

Choose a reason for hiding this comment

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

When an attestation


## How do I know if Anchor is working normally?

A synced and working Anchor has the following logs:
Copy link
Member

Choose a reason for hiding this comment

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

working Anchor node has


<div id="how-not-working" />

## Why the validator is not attesting?
Copy link
Member

Choose a reason for hiding this comment

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

Why is the validator


## Why the validator is not attesting?

One reason the validator that you operate on is not performing its duties could be due to some operators are offline. For example, in a cluster of 4 operators, at most 1 operator can be offline.
Copy link
Member

Choose a reason for hiding this comment

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

some operators being offline

WARN No attestations were published
```

If otherwise the logs on Anchor are normal, then there is no action required on your side. Once other operators came back online, the validator should resume attesting.
Copy link
Member

Choose a reason for hiding this comment

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

This is not quite correct. For example, if we can't find a good set of peers (or even no peers at all), one might also see the logs above.

WARN Waiting for EL to finish syncing
```
The error or warning Logs will go away once the beacon node and the execution client are synced.
Anchor will sync simultaneously at the same time and will be ready to perform duty soon when the beacon node and the execution client are synced.
Copy link
Member

Choose a reason for hiding this comment

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

Anchor will not sync while the EL is not synced

WARN Round timer elapsed
```

and the node is already at the target peer count (60), you may consider increasing the peer count using `--target-peers`.
Copy link
Member

Choose a reason for hiding this comment

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

as the target peer count is dynamic, claiming 60 here is incorrect

Comment on lines 157 to 161





Copy link
Member

Choose a reason for hiding this comment

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

remove additional blank lines

@chong-he
Copy link
Member Author

Nice, thanks so much! Added a few corrections for typos and some technical notes.

Thanks for the meticulous review, as always. I have address all comments in c72bc1b. Feel free to review and comment or point out any errors

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

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants