- Сообщения
- 650
- Реакции
- 190
Руководство содержит инструкции о том, как построить и настроить узел валидатора в цепочке блоков TON. Приведенные ниже инструкции и сценарии были проверены в Ubuntu 18.04
1. Системные требования
Диски SSD рекомендуются для хранения /var/ton-work/db
2. Предпосылки
2.1 Установить среду
Отрегулируйте (если необходимо)
2.2 Сборка ноды
Построить ноду:
2.3 Настройка ноды
Инициализация ноды:
2.4 Подготовить кошелёк с мультиподписью
Примечание . Все ручные вызовы утилиты TONOS-CLI должны выполняться из scripts папки.
Мультисиг-кошелек (или просто кошелек) используется в скрипте валидатора для отправки запросов на выборку в смарт-контракт выборщика.
Позвольте N быть общее количество хранителей кошелька и K количество минимальных подтверждений, необходимых для выполнения транзакции кошелька.
Скрипт создает 2 файла: $(hostname -s).addr и msig.keys.json в ~/ton-keys/ папке. Используйте открытый ключ в msig.keys.json качестве Nth попечителя открытого ключа , когда будет развернут кошелек.
3. Запустите ноду валидатора
Сделайте этот шаг, когда сеть запущена. Запустите ноду:
Подождите, пока нода не синхронизируется с masterchain. В зависимости от пропускной способности сети этот шаг может занять значительное время (до нескольких часов).
Вы можете использовать следующий скрипт для проверки синхронизации ноды:
Пример вывода скрипта:
Если параметр TIME_DIFF равен нескольким секундам, синхронизация завершена.
3.1 Инициализация мультисиг-кошелька
Примечание . Все ручные вызовы утилиты TONOS-CLI должны выполняться из scripts папки.
Соберите все открытые ключи всех кастодианов и разверните кошелек с помощью TONOS-CLI. Используйте K значение в качестве reqConfirms параметра развертывания. Убедитесь, что кошелек был развернут по адресу, сохраненному в $(hostname -s).addr файле.
3.2 Запуск скрипта валидатора
Укажите <STAKE> аргумент в токенах. Эта сумма токенов будет отправляться с помощью кошелька в смарт-контракт Elector (выборщик) в каждом цикле проверки.
Запустите скрипт валидатора (с периодом, например, каждые 60 минут):
Пример cron (запускается каждый час):
Оригинал: https://github.com/tonlabs/net.ton.dev/blob/master/README.md
1. Системные требования
конфигурация | Процессор (ядра) | RAM (ГиБ) | Хранение (ГиБ) | Сеть (Гбит / с) |
---|---|---|---|---|
минимальная | 8 | 16 | 1000 | 1 |
рекомендуемая | 16 | 32 | 1000 | 1 |
Диски SSD рекомендуются для хранения /var/ton-work/db
2. Предпосылки
2.1 Установить среду
Отрегулируйте (если необходимо)
scripts/env.sh
Код:
$ cd ./scripts/
$ . ./env.sh
Построить ноду:
$ ./build.sh
2.3 Настройка ноды
Инициализация ноды:
$ ./setup.sh
2.4 Подготовить кошелёк с мультиподписью
Примечание . Все ручные вызовы утилиты TONOS-CLI должны выполняться из scripts папки.
Мультисиг-кошелек (или просто кошелек) используется в скрипте валидатора для отправки запросов на выборку в смарт-контракт выборщика.
Позвольте N быть общее количество хранителей кошелька и K количество минимальных подтверждений, необходимых для выполнения транзакции кошелька.
- Прочитайте документацию TONOS-CLI ( Развертывание мультисиг-кошелька в блокчейне TON ) и сгенерируйте начальные фразы и открытые ключи для N - 1 хранителей.
- Создать адрес кошелька и Nthключ хранителя:
$ ./msig_genaddr.sh
Скрипт создает 2 файла: $(hostname -s).addr и msig.keys.json в ~/ton-keys/ папке. Используйте открытый ключ в msig.keys.json качестве Nth попечителя открытого ключа , когда будет развернут кошелек.
3. Запустите ноду валидатора
Сделайте этот шаг, когда сеть запущена. Запустите ноду:
$ ./run.sh
Подождите, пока нода не синхронизируется с masterchain. В зависимости от пропускной способности сети этот шаг может занять значительное время (до нескольких часов).
Вы можете использовать следующий скрипт для проверки синхронизации ноды:
$ ./check_node_sync_status.sh
Пример вывода скрипта:
Код:
connecting to [127.0.0.1:3030]
local key: FB0A67F8992DB0EF51860D45E89951275A4D6EB6A381BBF99023292982F97247
remote key: 2AD4363BE4BCCEFEF667CB919B199C4710278B8E2B0D972E18D1E5A17B62A99D
conn ready
unixtime 1588443685
masterchainblock (-1,8000000000000000,989):85316E413BD4FFBE76AF7BCDC2A75C27B2BA3AE45381D0CE7B5684949447DF07:6D975F062203F2A2F913FC528387036F47B27AB156B76E4127C186E32A6ED9C3
masterchainblocktime 1588443683
gcmasterchainblock (-1,8000000000000000,0):3D009F42614CBA3537A41596BFD6E598756C83332668990C914D67A3B137D37D:40D1F2B2588A6A00D8AB05C8C1E944E42B172B5C111867B70DBC41009EE10C55
keymasterchainblock (-1,8000000000000000,669):712CBAF305CB9AF1CD3745FDDB8E184796D8A21E7C559A42EB6B68D8B2F2FF89:3B03B9075B20BD1E6111492C41756F337FF649C6C89B9F87D446FAC47DCFD2BB
knownkeymasterchainblock (-1,8000000000000000,669):712CBAF305CB9AF1CD3745FDDB8E184796D8A21E7C559A42EB6B68D8B2F2FF89:3B03B9075B20BD1E6111492C41756F337FF649C6C89B9F87D446FAC47DCFD2BB
rotatemasterchainblock (-1,8000000000000000,918):4DD1DF6361F4B406DCC948B99E0D1ADD6988AC8F824F2E1B263CFED2AD46742E:12A8599C16C5EF1B09713F7EC91E2F765E97545F046FE6871DCD0C82E0377036
stateserializermasterchainseqno 984
shardclientmasterchainseqno 988
INFO: TIME_DIFF = -2
3.1 Инициализация мультисиг-кошелька
Примечание . Все ручные вызовы утилиты TONOS-CLI должны выполняться из scripts папки.
Соберите все открытые ключи всех кастодианов и разверните кошелек с помощью TONOS-CLI. Используйте K значение в качестве reqConfirms параметра развертывания. Убедитесь, что кошелек был развернут по адресу, сохраненному в $(hostname -s).addr файле.
3.2 Запуск скрипта валидатора
Укажите <STAKE> аргумент в токенах. Эта сумма токенов будет отправляться с помощью кошелька в смарт-контракт Elector (выборщик) в каждом цикле проверки.
Запустите скрипт валидатора (с периодом, например, каждые 60 минут):
$ ./validator_msig.sh <STAKE> >> ./validator_msig.log 2>&1
Пример cron (запускается каждый час):
@hourly script --return --quiet --append --command "cd /scripts/ && ./validator_msig.sh ${STAKE} 2>&1" /var/ton-work/validator_msig.log
Оригинал: https://github.com/tonlabs/net.ton.dev/blob/master/README.md