# 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="del"
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"

# 发电机的使用

要运行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

请确认链上的ID、账户和操作员地址是正确的。最后一行是以十六进制格式生成的交易。你应该把它作为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"
ENABLE_GRACE_PERIOD=true
GRACE_PERIOD_DURATION=15840

在哪里:

  • NODES_ENDPOINTS - 用于监听新区块的Decimal节点RPC端点列表(可以指定几个端点分开)。 ,)
  • MISSED_BLOCKS_LIMIT and MISSED_BLOCKS_WINDOW - 当最后一个 "MISSED_BLOCKS_LIMIT "区块中至少有 "MISSED_BLOCKS_WINDOW "区块未被监控验证器签署时,"set_offline "交易将被发送给所有连接的节点,以转向验证器。
  • VALIDATOR_ADDRESS - 以十六进制格式表示的验证器地址,它应该被防护装置所监控。验证器地址可以在文件中找到 ~/.decimal/daemon/config/priv_validator_key.json
  • SET_OFFLINE_TX - 签名的TX(准备广播)的十六进制格式,当有太多的区块没有签名时,它将被用来关闭验证器。
  • ENABLE_GRACE_PERIOD - 检查了tx "software_upgrade "并设置了宽限期 = [update_block ; update_block+GRACE_PERIOD_DURATION]
  • GRACE_PERIOD_DURATION - 宽限期的时间,以块为单位。目前,十进制去节点的宽限期是15840块(~24小时)。我们建议将该值设置为与节点相同的值--15840。

# 使用Decimal Guard

要运行guard工具,请使用以下命令。

(cd ./cmd/guard && go run guard.go)