使用 mytonctrl
提示
建议在阅读本教程之前先熟悉一下 单一提名池。
准备验证者
警告
开始前,请确保已充值并 激活 验证器的钱包。
- 下载安装脚本:
MyTonCtrl> enable_mode single-nominator
- 运行安装脚本:
MyTonCtrl> status_modes
Name Status Description
single-nominator enabled Orbs's single nominator pools.
- 创建池
MyTonCtrl> new_single_pool <pool-name> <owner_address>
如果您已经创建了池,可以导入它:
MyTonCtrl> import_pool <pool-name> <pool-addr>
- 创建池
MyTonCtrl> pools_list
Name Status Balance Version Address
test-pool empty 0.0 spool_r2 kf_JcC5pn3etTAdwOnc16_tyMmKE8-ftNUnf0OnUjAIdDJpX
- 输入
pools_list
以显示池地址
MyTonCtrl> activate_single_pool <pool-name>
现在,你可以通过 mytonctrl 像使用标准提名池一样使用这个提名池。
MyTonCtrl> pools_list
Name Status Balance Version Address
test-pool active 0.99389 spool_r2 kf_JcC5pn3etTAdwOnc16_tyMmKE8-ftNUnf0OnUjAIdDJpX
现在,你可以通过 mytonctrl 像使用标准提名池一样使用这个提名池。
信息
如果资金池的余额足以参加两轮投票 (balance > min_stake_amount * 2
) ,那么 MyTonCtrl 将使用 stake = balance / 2
自动参加两轮投票,除非用户使用命令set stake
手动设置质押。这种行为与使用提名池不同,但与使用验证器钱包设置质押类似。
不使用 mytonctrl 启动
从一开始就做好准备
如果之前没有验证器,请执行以下操作:
- 运行验证器并确保同步。
准备single_nominator
如果之前没有验证器,请执行以下操作:
- 运行验证器 并确保同步。
- 停止验证并提取所有资金。
准备单一提名人
$ sudo apt install ts-node
$ sudo npm i arg -g
- 为编译器创建符号链接:
$ sudo ln -s /usr/bin/ton/crypto/fift /usr/local/bin/fift
$ sudo ln -s /usr/bin/ton/crypto/func /usr/local/bin/func
- 运行测试,确保一切设置正确:
$ npm run test
- 替换 mytonctrl 提名池脚本: https://raw.githubusercontent.com/orbs-network/single-nominator/main/mytonctrl-scripts/install-pool-scripts.sh
创建单一提名库
- 从 Telegram @tonapibot 获取 Toncenter API 密钥
- 设置环境变量:
export OWNER_ADDRESS=<owner_address>
export VALIDATOR_ADDRESS=<validator_wallet_address>
export TON_ENDPOINT=https://toncenter.com/api/v2/jsonRPC
export TON_API_KEY=<toncenter api key>
- 创建部署者地址:
$ npm run init-deploy-wallet
Insufficient Deployer [EQAo5U...yGgbvR] funds 0
- 为部署者地址充值 2.1 TON
- 部署池合约,您将获得池地址:
Ef-kC0..._WLqgs
:
$ npm run deploy
- 备份部署器私钥"./build/deploy.config.json "和 "single-nominator.addr "文件
$ fift -s ./scripts/fift/str-to-addr.fif Ef-kC0..._WLqgs
使用钱包从single_nominator提取 Fift:
- 创建包含金额的 "withdraw.boc "申请:
- 将 "single-nominator.addr "复制到 "mytoncore/spool/single-nominator-1.addr"。
- 将质押从所有者地址发送至单一提名人地址
单一提名人的提款
使用钱包从单一提名人 Fift 提取资金:
- 创建包含金额的 "withdraw.boc" 申请:
$ fift -s ./scripts/fift/withdraw.fif <withdraw_amount>
- 从所有者的钱包创建和签署请求:
$ fift -s wallet-v3.fif <my-wallet> <single_nominator_address> <sub_wallet_id> <seqno> <amount=1> -B withdraw.boc