Как использовать Single Nominator Pool
Перед чтением этого руководства рекомендуется ознакомиться со спецификацией Single Nominator Pool.
Установка single nominator
Перед началом работы убедитесь, что вы пополнили и активировали кошелек валидатора.
- Включите режим single-nominator:
MyTonCtrl> enable_mode single-nominator
- Проверьте статус режима 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>
- Введите
pools_list
, чтобы отобразить адреса пулов:
MyTonCtrl> pools_list
Name Status Balance Version Address
test-pool empty 0.0 spool_r2 kf_JcC5pn3etTAdwOnc16_tyMmKE8-ftNUnf0OnUjAIdDJpX
- Активируйте пул:
MyTonCtrl> activate_single_pool <pool-name>
После успешной активации пула проверьте статус:
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
Остановка уже запущенного валидатора
Если у вас установлен MyTonCtrl и запущен валидатор:
- Остановите валидацию и выведите все средства.
Подготовка
Если у вас ранее не было валидатора, выполните следующее:
- Запустите узел в режиме валидатора и убедитесь, что он синхронизировался.
- Остановите валидацию и выведите все средства.
Подготовка Single Nominator
-
Установите Node.js 16 или более поздней версии и npm (подробные инструкции).
-
Установите модули
ts-node
иarg
:
$ 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
nominator-pool
: https://raw.githubusercontent.com/orbs-network/single-nominator/main/mytonctrl-scripts/install-pool-scripts.sh.
Создание Single Nominator Pool
- Получите API-ключ Toncenter у @tonapibot в Telegram.
- Установите переменные окружения:
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
- Преобразуйте адрес в .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>