# 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, 계정 및 운영자 주소가 올바른지 확인하십시오. 마지막 줄은 16진수 형식으로 생성된 트랜잭션입니다. 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"
ENABLE_GRACE_PERIOD=true
GRACE_PERIOD_DURATION=15840

어디에:

  • NODES_ENDPOINTS - 새 블록을 수신하는 데 사용해야 하는 10진수 노드 RPC 끝점 목록(,로 구분된 여러 끝점을 지정할 수 있음)
  • MISSED_BLOCKS_LIMITMISSED_BLOCKS_WINDOW - 마지막 MISSED_BLOCKS_WINDOW 블록의 최소 MISSED_BLOCKS_LIMIT 블록이 서명하기 위해 누락된 유효성 검사기 set_offline 트랜잭션이 연결된 모든 노드에 전송되어 유효성 검사기를 켭니다.
  • VALIDATOR_ADDRESS - 가드가 모니터링해야 하는 16진수 형식의 유효성 검사기 주소입니다. 유효성 검사기 주소는 ~/.decimal/daemon/config/priv_validator_key.json 파일에서 찾을 수 있습니다.
  • SET_OFFLINE_TX - 16진수 형식의 서명된 tx(브로드캐스트 준비). 서명하기에 너무 많은 블록이 누락된 경우 유효성 검사기를 끄는 데 사용됩니다.
  • ENABLE_GRACE_PERIOD - tx "software_upgrade"를 확인하고 유예 기간 설정 = [update_block ; update_block+GRACE_PERIOD_DURATION]
  • GRACE_PERIOD_DURATION - 유예 기간(블록 단위). 현재 decimal-go-node의 유예 기간은 15840블록(~24시간)입니다. 가드 값은 노드 15840과 동일하게 설정하는 것이 좋습니다.

# 사용법Decimal Guard

guard 도구를 실행하려면 다음 명령을 사용하십시오.

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