-
Notifications
You must be signed in to change notification settings - Fork 12
feat(nodes): run a validator node guide #1184
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
base: main
Are you sure you want to change the base?
Conversation
|
To fix the formatting issues:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx |
|
To fix the formatting issues:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx |
|
To fix the formatting issues:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx |
|
/review |
There was a problem hiding this 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.
| 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. |
There was a problem hiding this comment.
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.
| 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 | ||
|
|
||
|  |
There was a problem hiding this comment.
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.
|  | |
| <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!
| <Aside type="caution"> | ||
| Mandatory | ||
| </Aside> |
There was a problem hiding this comment.
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!
| ```bash create validator user | ||
| sudo adduser <USERNAME> | ||
| sudo usermod -aG sudo <USERNAME> | ||
| ``` |
There was a problem hiding this comment.
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!
| ```sh | ||
| MyTonCtrl> status | ||
| ``` |
There was a problem hiding this comment.
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!
| ```bash | ||
| "addrs" : [ | ||
| { | ||
| "@type" : "engine.addr", | ||
| "ip" : 16.......82, | ||
| "port" : 20898 | ||
| "categories" : [ | ||
| ...] | ||
| } | ||
| ``` |
There was a problem hiding this comment.
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!
| 2. Make back-up of your validator wallet secret key: | ||
|
|
||
| ```sh | ||
| MyTonCtrl> ew validator_wallet_001 | ||
| ``` |
There was a problem hiding this comment.
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> |
There was a problem hiding this comment.
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).
| 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!
| 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: | ||
|
|
||
|  | ||
|
|
||
|  | ||
|
|
||
| 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: | ||
|
|
||
|  |
There was a problem hiding this comment.
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!
ecosystem/node/run-validator.mdx
Outdated
|
|
||
| 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> |
There was a problem hiding this comment.
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.
| <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!
|
To fix the formatting issues:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx |
|
To fix the formatting issues:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx |
|
To fix the formatting issues:
npx remark -o --silent --silently-ignore ecosystem/node/run-validator.mdx |
|
I need to wait a few days for the stake value API. Expected ETA next Wednesday. |
Closes: #996