单一提名者池
目前 mytonctrl 尚未原生支持single_nominator
合约,因此这里是设置步骤。
信息
原生支持将于2023年第四季度发布
准备验证者
准备已启动的验证者
如果您已安装 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
创建single_nominator池
- 从 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
Deployer [EQAo5U...yGgbvR]资金不足 0
- 为部署者地址充值2.1 TON
- 部署池合约,您将获得池地址:
Ef-kC0..._WLqgs
:
$ npm run deploy
- 将地址转换为.addr格式:
$ fift -s ./scripts/fift/str-to-addr.fif Ef-kC0..._WLqgs
(将地址保存到文件single-nominator.addr)
- 备份部署者私钥"./build/deploy.config.json"和"single-nominator.addr"文件
- 将"single-nominator.addr"复制到"mytoncore/pools/single-nominator-1.addr"
- 从所有者地址向 Single Nominator 地址发送质押代币
从 Single Nominator 提取
使用钱包从single_nominator提取 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
- 广播查询:
$ lite-client -C global.config.json -c 'sendfile wallet-query.boc'
tons
- 创建"withdraw.boc"请求:
$ fift -s ./scripts/fift/withdraw.fif <withdraw_amount>
- 向 Single Nominator 地址发送请求:
a.
$ tons wallet transfer <my-wallet> <single_nominator_address> <amount=1> --body withdraw.boc
tonkeeper
b.
npm link typescript
c.
npx ts-node scripts/ts/withdraw-deeplink.ts <single-nominator-addr> <withdraw-amount>
d. 在所有者的手机上打开深层链接