Skip to content

Commit 1743ac0

Browse files
committed
added mytonctrl articles from appropriate rep
1 parent 9783e34 commit 1743ac0

File tree

4 files changed

+224
-0
lines changed

4 files changed

+224
-0
lines changed
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# Nominator Pool
2+
3+
## Running the Validator in Nominator Pool Mode
4+
5+
1. Set up the hardware for the validator - you will need 8 vCPUs, 64GB memory, 1TB SSD, a fixed IP address, and 1Gb/s internet speed.
6+
7+
For maintaining network stability, it's recommended to distribute validator nodes in different geographical locations worldwide rather than concentrating them in a single data center. You can use [this site](https://status.toncenter.com/) to assess the load of various locations. The map indicates high data center utilization in Europe, especially in Finland, Germany, and Paris. Therefore, using providers such as Hetzner and OVH is not recommended.
8+
9+
> Ensure your hardware matches or exceeds the specifications above. Running the validator on insufficient hardware negatively impacts the network and could result in penalties.
10+
11+
> Note that as of May 2021, Hetzner has prohibited mining on its servers, and this ban includes both PoW and PoS algorithms. Even installing a regular node may be considered a violation of their terms of service.
12+
13+
> **Recommended providers include:** [Amazon](https://aws.amazon.com/), [DigitalOcean](https://www.digitalocean.com/), [Linode](https://www.linode.com/), [Alibaba Cloud](https://alibabacloud.com/), [Latitude](https://www.latitude.sh/).
14+
15+
2. Install and synchronize **mytonctrl** as described in the guide [here](/participate/run-nodes/full-node).
16+
17+
You can also refer to this [Video Instruction](https://ton.org/docs/#/nodes/run-node) for additional help.
18+
19+
3. Transfer 1 TON to the validator wallet address shown in the `wl` list.
20+
21+
4. Use the `aw` command to activate your validator wallet.
22+
23+
5. Activate pool mode:
24+
25+
```bash
26+
enable_mode nominator-pool
27+
set stake null
28+
```
29+
30+
6. Create two pools (for even and odd validation rounds):
31+
32+
```bash
33+
new_pool p1 0 1 1000 300000
34+
new_pool p2 0 1 1001 300000
35+
```
36+
37+
where:
38+
* `p1` is the pool name;
39+
* `0` % is the validator's reward share (e.g., use 40 for 40%);
40+
* `1` is the maximum number of nominators in the pool (should be <= 40);
41+
* `1000` TON is the minimum validator stake (should be >= 1K TON);
42+
* `300000` TON is the minimum nominator stake (should be >= 10K TON);
43+
44+
> (!) Pool configurations do not have to be identical, you can add 1 to the minimum stake of one pool to make them different.
45+
46+
> (!) Use https://tonmon.xyz/ to determine the current minimum validator stake.
47+
48+
7. Type `pools_list` to display pool addresses:
49+
50+
```bash
51+
pools_list
52+
Name Status Balance Address
53+
p1 empty 0 0f98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780qIT
54+
p2 empty 0 0f9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV5jL
55+
```
56+
57+
8. Send 1 TON to each pool and activate the pools:
58+
59+
```bash
60+
mg validator_wallet_001 0f98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780qIT 1
61+
mg validator_wallet_001 0f9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV5jL 1
62+
activate_pool p1
63+
activate_pool p2
64+
```
65+
66+
9. Type `pools_list` to display pools:
67+
68+
```bash
69+
pools_list
70+
Name Status Balance Address
71+
p1 active 0.731199733 kf98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780v_W
72+
p2 active 0.731199806 kf9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV8UO
73+
```
74+
75+
10. Open each pool via the link "https://tonscan.org/nominator/<address_of_pool>" and verify pool configurations.
76+
77+
11. Proceed with the validator deposit to each pool:
78+
79+
```bash
80+
deposit_to_pool validator_wallet_001 <address_of_pool_1> 1005
81+
deposit_to_pool validator_wallet_001 <address_of_pool_2> 1005
82+
```
83+
84+
In these commands, `1005` TON is the deposit amount. Be aware that 1 TON will be deducted by the pool for processing the deposit.
85+
86+
12. Proceed with the nominator deposit to each pool:
87+
88+
Visit the pool link (from **Step 9**) and click **ADD STAKE**.
89+
You can also make a deposit using **mytonctrl**, using the following commands:
90+
91+
```bash
92+
mg nominator_wallet_001 <address_of_pool_1> 300001 -C d
93+
mg nominator_wallet_001 <address_of_pool_2> 300001 -C d
94+
```
95+
96+
> (!) The nominator wallet must be initialized in basechain (workchain 0).
97+
98+
> (!) Keep in mind that the validator wallet and nominator wallet must be stored separately! The validator wallet should be stored on the server with the validator node to ensure processing of all system transactions. Meanwhile, the nominator wallet should be stored in your cold cryptocurrency wallet.
99+
100+
> To withdraw a nominator deposit, send a transaction with the comment `w` to the pool address (attach 1 TON to process the transaction). You can also perform this action using **mytonctrl**.
101+
102+
13. Invite nominators to deposit into your pools. The participation in validation will commence automatically.
103+
104+
> (!) Ensure that you have at least 200 TON/month in your validator wallet for operation fees.
105+
106+
## Pool Configuration
107+
108+
If you're intending to lend to yourself, use `new_pool p1 0 1 1000 300000` (maximum of 1 nominator, 0% validator share).
109+
110+
If you're creating a pool for numerous nominators, you might use something like this: `new_pool p1 40 40 10000 10000` (maximum of 40 nominators, 40% validator share, minimum participant stakes of 10K TON).
111+
112+
## Transitioning a Regular Validator to Nominator Pool Mode
113+
114+
1. Input `set stake 0` to discontinue election participation.
115+
116+
2. Await the return of both your stakes from the elector.
117+
118+
3. Proceed with the steps under "Running the Validator in Nominator Pool Mode" from the **4th step** onwards.

docs/participate/run-nodes/mytonctrl.mdx

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,107 @@ MyTonCtrl> dw <wallet-name>
132132
![](/img/docs/mytonctrl/dw.png)
133133

134134

135+
## Account and Transaction commands
136+
137+
### Account status
138+
139+
To check account status and its transaction history use the following command:
140+
141+
```bash
142+
MyTonCtrl> vas <account-addr>
143+
```
144+
145+
![](/img/docs/mytonctrl/vas.png)
146+
147+
### Account history
148+
149+
To check account transaction history use the following command using the number of listed operations as `limit`:
150+
151+
```bash
152+
MyTonCtrl> vah <account-addr> <limit>
153+
```
154+
155+
![](/img/docs/mytonctrl/vah.png)
156+
157+
### Transfer coins
158+
159+
Transfer coins from local wallet to an account:
160+
161+
```bash
162+
MyTonCtrl> mg <wallet-name> <account-addr | bookmark-name> <amount>
163+
```
164+
165+
:::caution
166+
Wallet version 'v4' is not supported for the transfering
167+
:::
168+
169+
### Transfer coins through a proxy
170+
171+
Transfer coins from local wallet to an account through a proxy:
172+
173+
```bash
174+
MyTonCtrl> mgtp <wallet-name> <account-addr | bookmark-name> <amount>
175+
```
176+
177+
## General Pools Commands
178+
179+
There are two types of pools in **MyTonCtrl2**:
180+
181+
1. [Nominator Pool](/participate/network-maintenance/nominator-pool)
182+
2. [Single Nominator Pool](/participate/network-maintenance/single-nominator)
183+
184+
All of them are managed by the following set of commands:
185+
186+
### List of pools
187+
188+
```bash
189+
MyTonCtrl> pools_list
190+
```
191+
192+
![](/img/docs/mytonctrl/test-pools-list.png)
193+
194+
### Delete a pool
195+
196+
```bash
197+
MyTonCtrl> delete_pool <pool-name>
198+
```
199+
200+
### Importing a pool
201+
202+
You can create already created pool to the list of local pools:
203+
204+
```bash
205+
MyTonCtrl> import_pool <pool-name> <pool-addr>
206+
```
207+
208+
## Bookmarks
209+
210+
You can create an alias (bookmark) for an account address to simplify it usage.
211+
212+
### Create a new bookmark
213+
214+
```bash
215+
MyTonCtrl> nb <bookmark-name> <account-addr | domain-name>
216+
```
217+
218+
![](/img/docs/mytonctrl/nb.png)
219+
220+
### Show the list of bookmarks
221+
222+
```bash
223+
MyTonCtrl> bl
224+
```
225+
226+
![](/img/docs/mytonctrl/bl.png)
227+
228+
### Delete a bookmark
229+
230+
```bash
231+
MyTonCtrl> db <bookmark-name> <bookmark-type>
232+
```
233+
234+
![](/img/docs/mytonctrl/db.png)
235+
135236
## See Also
136237

137238
* [FAQ](/participate/run-nodes/faq)

docusaurus.config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,10 @@ const config = {
393393
to: '/participate/network-maintenance/single-nominator',
394394
label: 'Single Nominator Pool',
395395
},
396+
{
397+
to: '/participate/network-maintenance/nominator-pool',
398+
label: 'Nominator Pool',
399+
},
396400
{
397401
to: '/participate/network-maintenance/vesting-contract',
398402
label: 'Vesting Contract',

sidebars.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -679,6 +679,7 @@ const sidebars = {
679679
items: [
680680
'participate/network-maintenance/staking-incentives',
681681
'participate/network-maintenance/single-nominator',
682+
'participate/network-maintenance/nominator-pool',
682683
'participate/network-maintenance/vesting-contract',
683684
'participate/network-maintenance/nominators',
684685
'participate/network-maintenance/persistent-states',

0 commit comments

Comments
 (0)