# Decimal Guard

Decimal Guard-eğer bir düğüm herhangi bir nedenle blokları imzalamayı durdurursa, bu doğrulayıcı düğümün izlenmesine ve otomatik olarak devre dışı bırakılmasına yardımcı olan bir araçtır.

# set_offline işlemi oluşturma

Decimal Guard'ı başlatmadan önce, blokları imzalamayı durdurduğunda doğrulayıcıyı devre dışı bırakmak için kullanılacak olan "validator/set_offline" mesajıyla çevrimdışı bir işlem oluşturmanız ve imzalamanız gerekir.

# İşlem Üreticisini Yapılandırma

gentx aracını yapılandırmak için cmd/gentx dizininde .env dosyası oluşturun. Örneğin:

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"

# İşlem Oluşturucu Kullanma

'gentx'i başlatmak için aşağıdaki komutları kullanın::

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

Her şey yolundaysa, aşağıdakileri göreceksiniz:

Chain ID:
decimal-mainnet-07-28-18-30

Account:
dx16rr3cvdgj8jsywhx8lfteunn9uz0xg2c7ua9nl (number: 2, sequence: 1)

Operator address:
dxvaloper16rr3cvdgj8jsywhx8lfteunn9uz0xg2czw6gx5

Transaction (hex):
ab01282816a90a1a51f5833b0a14d0c71c31a891e5023ae63fd2bcf2732f04f32158120310be031a6a0a26eb5ae987210279f7e074d08a23e2fc7b7fd9e49a0d6570a28bf6c9cb988e92f678c32935097412407979e0cc483f241e48ed3c371d9d668a5b978fb474afc5fea5803c89bd2a2dac3db15eb84fef1fce25e783e279a33bac7b96bbe6786c9608d52c69baecacf9d02218446563696d616c2047756172642074726967676572726564

Lütfen blok zincir kimliğinin, hesabın ve operatör adresinin doğru olduğunu onaylayın. Son satır, hex formatında oluşturulan işlemdir. Decimal Guard'ı çalıştırmak için, bunu 'SET_OFFLINE_TX' için ortam değişkeninin değeri olarak kullanın ('cmd/guard/.env' ile belirtilir)

# Doğrulayıcı düğüm koruması

Decimal Guard'ı başlatmadan önce seçeneklerini yapılandırmanız gerekir.

# Decimal Guard Yapılandırması

Cmd/guard dizininde guardı yapılandırmak için bir .env dosyası oluşturmanız gerekir. Örneğin:

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 - yeni blokların görünümünü izlemek için kullanılması gereken Decimal düğümün RPC uç noktalarının listesi (birden çok uç nokta belirtilebilir, onları , ile ayırarak)
  • MISSED_BLOCKS_LIMIT и MISSED_BLOCKS_WINDOW - son "MISSED_BLOCKS_WINDOW" bloklarından en az "MISSED_BLOCKS_LIMIT" blok doğrulayıcı tarafından imzalanmadığında, doğrulayıcıyı devre dışı bırakmak için tüm bağlı düğümlere bir "set_offline" işlemi gönderilir.
  • VALIDATOR_ADDRESS - Decimal Guard tarafından izlenmesi gereken hex biçimde doğrulayıcının adresi. Doğrulayıcı adresi ~/.decimal/daemon/config/priv_validator_key.json dosyasında bulunabilir.
  • SET_OFFLINE_TX - Belirtilen sayıda blok imzalamamışsa doğrulayıcıyı devre dışı bırakmak için kullanılacak hex biçiminde imzalı bir işlem (blok zincirine gönderilmeye hazır).
  • ENABLE_GRACE_PERIOD - "software_upgrade" işlemini kontrol eder ve yetkisiz kullanım süresini ayarlar = [update_block ; update_block+GRACE_PERIOD_DURATION]
  • GRACE_PERIOD_DURATION - bloklar halinde ödemesiz sürenin süresi. Şu anda, decimal-go-node yetkisiz kullanım süresi 15840 bloktur (~24 saat). Bu değerin hem koruma hem de düğüm için 15840 olarak ayarlanması önerilir.

# Decimal Guard kullanılması

'Guard'ı çalıştırmak için aşağıdaki komutları kullanın:

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