Skip to content

Conversation

@reveloper
Copy link
Collaborator

@reveloper reveloper commented Nov 12, 2025

Closes: #996

@github-actions
Copy link

To fix the formatting issues:

  1. Install necessary dependencies: npm ci
  2. Then, run this command:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx 

@github-actions
Copy link

To fix the formatting issues:

  1. Install necessary dependencies: npm ci
  2. Then, run this command:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx 

@github-actions
Copy link

To fix the formatting issues:

  1. Install necessary dependencies: npm ci
  2. Then, run this command:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx 

@hacker-volodya
Copy link
Member

/review

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Thanks for the new validator guide. In ecosystem/node/run-validator.mdx: several suggestions to align with component usage, placeholder conventions, code blocks, and required safety callouts—please apply the inline suggestions.

Comment on lines +26 to +27
Typically, you'll need at least a 1 Gbit/s connection to reliably accommodate peak loads (the average load is expected to be approximately 100 Mbit/s).
We draw special attention of validators to IOPS disk requirements, it is crucially important for smooth network operation.

Choose a reason for hiding this comment

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

[HIGH] Second‑person and first‑person pronouns in technical content

The Aside addresses the reader (“you’ll”) and uses authorial “We draw…”. The style guide prohibits direct second‑person (“you/your”) for readers and first‑person (“we/I/our”) for authors to maintain neutrality and ease localization. Rewrite in neutral, imperative form while preserving meaning.

Suggested change
Typically, you'll need at least a 1 Gbit/s connection to reliably accommodate peak loads (the average load is expected to be approximately 100 Mbit/s).
We draw special attention of validators to IOPS disk requirements, it is crucially important for smooth network operation.
Use at least a 1 Gbit/s connection to reliably accommodate peak loads (the average load is approximately 100 Mbit/s).
Pay attention to IOPS disk requirements; high IOPS is critical for stable network operation.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

- Python 3.10
- Clang 16.0.0

![run-validator-3.png](..%2F..%2Fresources%2Fimages%2Fnodes%2Frun-validator%2Frun-validator-3.png)

Choose a reason for hiding this comment

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

[HIGH] Markdown images and relative paths instead of <Image>

The page embeds an image using Markdown with an encoded, relative path (..%2F..%2Fresources%2Fimages/...). The docs style requires using the <Image> MDX component with root-absolute src and meaningful alt to support themes and localization. This pattern recurs for other images on the page; the primary location shows one concrete instance.

Suggested change
![run-validator-3.png](..%2F..%2Fresources%2Fimages%2Fnodes%2Frun-validator%2Frun-validator-3.png)
<Image src="/resources/images/nodes/run-validator/run-validator-3.png" alt="Check installed Clang version" />

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

Comment on lines +65 to +67
<Aside type="caution">
Mandatory
</Aside>

Choose a reason for hiding this comment

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

[HIGH] Incomplete safety callout for networking changes

The networking/port‑forwarding section uses a bare <Aside type="caution">Mandatory</Aside> without the required elements (risk, scope, mitigation/rollback, environment). Network configuration mistakes can isolate the validator and trigger penalties. Expand the callout to include the required details.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

Comment on lines +98 to +101
```bash create validator user
sudo adduser <USERNAME>
sudo usermod -aG sudo <USERNAME>
```

Choose a reason for hiding this comment

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

[HIGH] Placeholders not defined on first use

Placeholders appear without definitions at first use: <USERNAME> (L99–L100) and shortly after <SERVER_IP> (L107). Additional placeholders appear later (<PORT_NUMBER>, <pool-name>, <owner-address>, <pool-addr>). Undefined placeholders are a copy/paste hazard and violate the examples rule. Define all placeholders at first use.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

Comment on lines 136 to 138
```sh
MyTonCtrl> status
```

Choose a reason for hiding this comment

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

[HIGH] Prompts included in command blocks (copy/paste hazard)

Commands include a console prompt (MyTonCtrl> status) inside a fenced block, which breaks copy‑paste execution and creates ambiguity. This pattern recurs later (e.g., wl, ew, aw, new_single_pool, import_pool, pools_list, activate_single_pool). The primary location shows a concrete instance.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

Comment on lines 152 to 161
```bash
"addrs" : [
{
"@type" : "engine.addr",
"ip" : 16.......82,
"port" : 20898
"categories" : [
...]
}
```

Choose a reason for hiding this comment

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

[HIGH] Invalid literal ellipses in code; partial snippet not labeled

The JSON example includes literal ellipses (..., 16.......82), making it invalid and not copyable. Literal ellipses in code are prohibited; partial snippets must be labeled and use language‑appropriate omissions. Replace with a labeled, commented jsonc snippet and neutral placeholders.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

Comment on lines +202 to +206
2. Make back-up of your validator wallet secret key:

```sh
MyTonCtrl> ew validator_wallet_001
```

Choose a reason for hiding this comment

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

[HIGH] Missing safety callout when exporting a secret key

The step exports a wallet secret key (ew validator_wallet_001) without a required safety callout. Exposing private keys requires a Warning/Caution that explains risk, scope, mitigation/rollback, and environment labeling. Add the callout immediately before the command.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

</Aside>

```bash
MyTonCtrl> new_single_pool <pool-name> <owner-address>

Choose a reason for hiding this comment

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

[HIGH] Placeholder violations (format and undefined at first use)

The command uses non‑conforming placeholders (, ) and includes an interactive prompt. Placeholders must use <ANGLE_CASE> and prompts must be removed from commands. Also define each placeholder at first use elsewhere in the document (e.g., after the first appearances of at L98–L101, <SERVER_IP> at L107–L108, and <PORT_NUMBER> at L172–L174).

Suggested change
MyTonCtrl> new_single_pool <pool-name> <owner-address>
new_single_pool <POOL_NAME> <OWNER_ADDRESS>

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

Comment on lines 285 to 296
9. Test deposit and withdrawal process with owner wallet. You able to make deposit from any address with direct transfer.
Credit decent sum around 10 Toncoins:

![run-validator-21.png](..%2F..%2Fresources%2Fimages%2Fnodes%2Frun-validator%2Frun-validator-21.png)

![run-validator-22.png](..%2F..%2Fresources%2Fimages%2Fnodes%2Frun-validator%2Frun-validator-22.png)

10. Send withdrawal request from `owner` wallet:

Once you restore your deposit (except 1 TON reserve on single nominator pool) to owner wallet, that means all system set securely and ready for real stake:

![run-validator-23.png](..%2F..%2Fresources%2Fimages%2Fnodes%2Frun-validator%2Frun-validator-23.png)

Choose a reason for hiding this comment

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

[HIGH] Missing safety callout for deposits/withdrawals (funds movement)

The instructions deposit ~10 TON and initiate a withdrawal without a required funds‑movement safety callout. Transfers on mainnet are irreversible; the user must be warned with risk, scope, mitigation/rollback, and environment notes. Insert the callout before these actions.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!


Now you can top up this pool with funds enough for validation. On the next elections MyTonCtrl will automatically use this pool for staking.

<Info>If the pool's balance is sufficient to participate in both rounds (`balance > min_stake_amount * 2`), MyTonCtrl will automatically participate in both rounds using `stake = balance / 2`, unless you manually set the stake using the `set stake` command. This behavior differs from using a nominator pool but resembles staking with a validator wallet.</Info>

Choose a reason for hiding this comment

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

[HIGH] Unsupported Info callout component used

The page uses <Info>…</Info> callouts (e.g., L302) which are not supported. Only the <Aside> component is allowed for callouts, with types note, tip, caution, danger. Replace <Info> with a suitable <Aside> type. This pattern recurs at L321, L323, and L327; update those instances similarly.

Suggested change
<Info>If the pool's balance is sufficient to participate in both rounds (`balance > min_stake_amount * 2`), MyTonCtrl will automatically participate in both rounds using `stake = balance / 2`, unless you manually set the stake using the `set stake` command. This behavior differs from using a nominator pool but resembles staking with a validator wallet.</Info>
<Aside type="note">If the pool's balance is sufficient to participate in both rounds (`balance > min_stake_amount * 2`), MyTonCtrl will automatically participate in both rounds using `stake = balance / 2`, unless you manually set the stake using the `set stake` command. This behavior differs from using a nominator pool but resembles staking with a validator wallet.</Aside>

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

@github-actions
Copy link

To fix the formatting issues:

  1. Install necessary dependencies: npm ci
  2. Then, run this command:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx 

@github-actions
Copy link

To fix the formatting issues:

  1. Install necessary dependencies: npm ci
  2. Then, run this command:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx 

@github-actions
Copy link

To fix the formatting issues:

  1. Install necessary dependencies: npm ci
  2. Then, run this command:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx 

@reveloper
Copy link
Collaborator Author

I need to wait a few days for the stake value API. Expected ETA next Wednesday.

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.

[Ecosystem > Node > Run a validator]

3 participants