# Decimal Guard
Decimal Guard это инструмент, помогающий мониторить ноду валидатора и автоматически деактивировать её, если нода по какой-то причине перестаёт подписывать блоки.
# Генерирование транзакции set_offline
Перед запуском Decimal Guard необходимо создать и подписать оффлайн транзакцию с сообщением validator/set_offline
, которая будет использована для деактивации валидатора, когда он перестал подписывать блоки.
# Конфигурирование генератора транзакции
Чтобы сконфигурировать инструмент gentx
, следует создать в директории cmd/gentx
файл .env
.
Например:
API_URL="https://mainnet-gate.decimalchain.com/api"
BASE_COIN_SYMBOL="tdel"
MNEMONIC="bulb raw claw magnet romance jaguar life cluster solve random laptop salmon pottery subject country aware actual hope wedding hawk amused cage secret network"
2
3
# Использование генератора транзакции
Чтобы запустить gentx
, используйте следующие команды:
(cd ./cmd/gentx && go run gentx.go)
Если всё в порядке, то вы увидите следующее:
Chain ID:
decimal-mainnet-07-28-18-30
Account:
dx16rr3cvdgj8jsywhx8lfteunn9uz0xg2c7ua9nl (number: 2, sequence: 1)
Operator address:
dxvaloper16rr3cvdgj8jsywhx8lfteunn9uz0xg2czw6gx5
Transaction (hex):
ab01282816a90a1a51f5833b0a14d0c71c31a891e5023ae63fd2bcf2732f04f32158120310be031a6a0a26eb5ae987210279f7e074d08a23e2fc7b7fd9e49a0d6570a28bf6c9cb988e92f678c32935097412407979e0cc483f241e48ed3c371d9d668a5b978fb474afc5fea5803c89bd2a2dac3db15eb84fef1fce25e783e279a33bac7b96bbe6786c9608d52c69baecacf9d02218446563696d616c2047756172642074726967676572726564
2
3
4
5
6
7
8
9
10
11
Пожалуйста, подтвердите, что идентификатор chain ID блокчейна, аккаунт и адрес оператора корректны. Последняя строка - это сгенерированная транзакция в hex формате. Для запуска Decimal Guard следует использовать её в качестве значения переменной окружения для SET_OFFLINE_TX
(указывая в cmd/guard/.env
)
# Защита ноды валидатора
Перед запуском Decimal Guard необходимо сконфигурировать его параметры.
# Конфигурирование Decimal Guard
Для конфигурирования guard
в директории cmd/guard
необходимо создать файл .env
Например:
NODES_ENDPOINTS="tcp://localhost:26657"
MISSED_BLOCKS_LIMIT=8
MISSED_BLOCKS_WINDOW=24
VALIDATOR_ADDRESS="1A42FDF9FC98931A4BB59EF571D61BB70417657D"
SET_OFFLINE_TX="ab01282816a90a1a51f5833b0a14d0c71c31a891e5023ae63fd2bcf2732f04f32158120310be031a6a0a26eb5ae987210279f7e074d08a23e2fc7b7fd9e49a0d6570a28bf6c9cb988e92f678c32935097412407979e0cc483f241e48ed3c371d9d668a5b978fb474afc5fea5803c89bd2a2dac3db15eb84fef1fce25e783e279a33bac7b96bbe6786c9608d52c69baecacf9d02218446563696d616c2047756172642074726967676572726564"
2
3
4
5
Где:
NODES_ENDPOINTS
- список RPC эндпоинтов Decimal ноды, которые следует использовать для мониторинга появления новых блоков (возможно указать несколько эндпоинтов, разделяя их,
)MISSED_BLOCKS_LIMIT
иMISSED_BLOCKS_WINDOW
- когда не менееMISSED_BLOCKS_LIMIT
блоков из последнихMISSED_BLOCKS_WINDOW
блоков не подписаны валидатором,set_offline
транзакция будет отправлена на все на все подключенный ноды для деактивации валидатораVALIDATOR_ADDRESS
- адрес валидатора в hex формате, который должен мониторится Decimal Guard. Адрес валидатора можно найти в файле~/.decimal/daemon/config/priv_validator_key.json
SET_OFFLINE_TX
- подписанная транзакция (готовая для отправки в блокчейн) в hex формате, которая будет использована для деактивации валидатора, если он не подписал заданное количество блоков
# Использование Decimal Guard
Для запуска guard
используйте следующие команды:
(cd ./cmd/guard && go run guard.go)
← Штрафы Сила голоса →