Validator

Umee doğrulayıcısının nasıl çalıştırılacağına dair ayrıntılı adım adım kılavuz

Bu kılavuz, Umee doğrulayıcısının nasıl kurulacağına ve çalıştırılacağına ilişkin talimatlar içerir. Öncelikle, Full node kurmuş olduğunuzu varsaydığından, umeed ikili dosyasının nasıl kurulacağına dair bilgileri atlıyoruz. Henüz kurmadıysanız lütfen full node bölümüne gidip umeed ikili dosyasını kurunuz ve sonra buradan devam ediniz.

Doğrulayıcınızı oluşturmadan önce, önce "operatör" adresinizi oluşturmalısınız. Söz konusu operatör adresi sizin fikir birliği anahtarınız olmadığını ve imzalamak için kullanılmayacağını unutmayın. Bunun yerine, Umee ağındaki doğrulayıcınızı tanımlamak için kullanılır.

$ umeed keys add <key-name> [flags]

Varsayılan olarak kurduğunuz node, umeed adresinizi işletim sistemi destekli anahtarlığınızda saklar. --keyring-backend flag'ini belirterek bu davranışı değiştirebilirsiniz.

Eğer 12 veya 24 kelimelik bir kurtarma ifadesine sahipseniz ve onları kullanmak istiyorsanız anahtarlarınız aracılığıyla hesabınızı içe aktarmanız mümkündür, bunu --recover komutu ile sağlayabilirsiniz ve anahtar ekleme komutu sizden BIP39 anımsatıcısını ister.

Daha fazla bilgi için Cosmos SDK'nın keyring belgelerini ziyaret edin.

Gravity Bridge, doğrulayıcıların umeed işlemine ek olarak bir peggo orkestratör çalıştırmasını gerektirir. Orkestratör (Düzenleyici), bir geth düğümünün RPC örneğine erişim gerektirir. Bir geth light istemcisi kullanılabilir, ancak tam bir düğüm kullanılması tercih edilir.

Kendi geth düğümünüzü çalıştırmayı veya herkese açık bir düğümü kullanmayı seçebilirsiniz. Ancak, üretim ortamlarında kendi ortamınızı çalıştırmanız önerilir. Umee doğrulayıcınızı hangi ağ üzerinde çalıştırdığınıza bağlı olarak, uygun Ethereum ağına bağlanmak veya geth düğümünüzü kurmak isteyeceksiniz. Farklı Ethereum ağlarına nasıl bağlanılacağı hakkında daha fazla bilgi için geth CLI belgelerine göz atın.

Bir geth düğümü kurmak için önce go-ethereum'un indirme sayfasından ikili dosyayı kurun. Ardından, bir systemd hizmeti oluşturun:

/etc/systemd/system/geth.service
[Unit]
Description=Geth node
After=online.target

[Service]
Type=root
User=root
ExecStart=/usr/bin/geth --syncmode "light" --http ...
Restart=on-failure
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target

geth örneğine harici olarak erişmeniz gerekiyorsa, --http.addr=0.0.0.0 olarak ayarladığınızdan emin olun.

systemd'yi yeniden yükleyin ve geth hizmetini başlatın:

$ sudo systemctl daemon-reload
$ sudo systemctl start geth

Son olarak, geth hizmetinin çalıştığını ve sağlıklı olduğunu doğrulayın. Eğer öyleyse etkinleştirin:

$ sudo systemctl status geth
$ sudo systemctl enable geth

umeed ve geth'yi çalıştırdıktan sonra, nihayet bir MsgCreateValidator işlemi aracılığıyla Umee ağında doğrulayıcınızı oluşturabilirsiniz:

# Validator's consensus public key
# e.g. {"@type":"/cosmos.crypto.ed25519.PubKey","key":"..."}
$ UMEE_VAL_CONS_KEY=$(umeed tendermint show-validator)
$ umeed tx staking create-validator \
  --amount=<amount> \
  --pubkey=$UMEE_VAL_CONS_KEY \
  --moniker="<moniker>" \
  --chain-id="<chain-id>" \
  --commission-rate="<commission>" \
  --commission-max-rate="<max-commission>" \
  --commission-max-change-rate="<max-commission-rate-change>" \
  --min-self-delegation="<min-self-delegation>" \
  --fees=<fees> \
  --from=<key-name>

Not: Katıldığınız chain-id zincir kimliğini kullanmanız gerektiğini unutmayın (ana ağ için umee-1). Daha önce oluşturduğunuz doğrulayıcı anahtarına karşılık gelir.

Validatorlerin ayrıca, bir orkestratör (peggo) olarak bilinen Yerçekimi Köprüsü'nün kritik bir bileşenini çalıştırması gerekir. Orkestratör birden fazla amaca hizmet eder, ancak esas olarak Umee ağı ve Ethereum arasında zincir dışı bir aktarıcı ve oracle görevi görür.

Orkestratörün başarılı bir şekilde çalışması için birkaç bileşene ihtiyacı vardır:

  • Umee gRPC örneği

  • Ethereum RPC örneği

  • İşlemleri Umee'ye aktarmak için Umee zincirinde parayla anahtar imzalama

  • İşlemleri Ethereum'a iletmek için Ethereum zincirindeki fonlarla anahtar imzalama

Umee ağı, orijinal olarak Injective Labs tarafından uygulanan Gravity Bridge Orchestrator'ın peggo uygulamasını kullanır. Peggo, Althea tarafından uygulanan orijinal Gravity Bridge Orchestrator'ın bir çatalıdır. İlgili peggo sürümünü indirmek için sürümler sayfasını ziyaret edin.

$ PEGGO_VERSION=v0.2.4
$ wget https://github.com/umee-network/peggo/releases/download/$PEGGO_VERSION/peggo-$PEGGO_VERSION-linux-amd64.tar.gz
$ tar xvf peggo-$PEGGO_VERSION-linux-amd64.tar.gz && cd peggo-$PEGGO_VERSION-linux-amd64 && rm LICENSE README.md
$ chmod +x ./peggo
$ mv ./peggo /usr/local/bin
$ peggo --help

Şimdi peggo anahtarlarımızı yapılandırmamız gerekiyor:

Doğrulayıcı ve düzenleyici için kesinlikle aynı adresleri kullanmayınız.

Aşağıdaki işlemi göndermek için düğümünüz umee-1 ağı ile senkronize edilmelidir.

# umeed tx gravity set-orchestrator-address [validator-address] [orchestrator-address] [ethereum-address] [flags]
umeed tx gravity set-orchestrator-address VALIDATOR_OPERATOR_ADDRESS ORCHESTRATOR_ADDRESS ETHEREUM_ADDRESS --chain-id="umee-1" --from=<key-name>

Halihazırda umeed ve geth örneklerinin çalıştığını varsayarsak, peggo kurulumu için değişkenler ayarlamalıyız:

$ PEGGO_ETH_PK="ETHEREUM_ADDRESS_PRIVATE_KEY"
$ ETH_RPC="YOUR_ETH_NODE_ADDRESS"
$ BRIDGE_ADDR="0xb564ac229e9d6040a9f1298b7211b9e79ee05a2c"
$ START_HEIGHT="14211966"
$ ORCHESTRATOR_WALLET_NAME="ORCHESTRATOR_ADDRESS_WALLET_NAME"
$ ORCHESTRATOR_WALLET_PASSWORD="ORCHESTRATOR_ADDRESS_WALLET_PASSWORD"
$ ALCHEMY_ENDPOINT="YOUR_WSS_ALCHEMY_ENDPOINT" # https://www.alchemy.com/

Gravity Bridge kontratı, orkestratör sürecini yapılandırmadan ve başlatmadan önce kurulmalıdır. Daha fazla bilgi için lütfen Umee deposuna bakın.

Ardından, bir peggod systemd hizmeti oluşturun:

$ echo "[Unit]
Description=Peggo Service
After=network.target

[Service]
User=$USER
Type=simple
ExecStart=/usr/local/bin/peggo orchestrator $BRIDGE_ADDR \
  --bridge-start-height=\"$START_HEIGHT\" \
  --eth-rpc=\"$ETH_RPC\" \
  --relay-batches=true \
  --relay-valsets=false \
  --cosmos-chain-id=umee-1 \
  --cosmos-keyring-dir=\"$HOME/.umee\" \
  --cosmos-from=\"$ORCHESTRATOR_WALLET_NAME\" \
  --cosmos-from-passphrase=\"$ORCHESTRATOR_WALLET_PASSWORD\" \
  --eth-alchemy-ws=\"$ALCHEMY_ENDPOINT\" \
  --cosmos-keyring=\"os\" \
  --log-level debug \
  --log-format text
Environment=\"PEGGO_ETH_PK=$PEGGO_ETH_PK\"
Restart=always
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > $HOME/peggod.service
$ sudo mv $HOME/peggod.service /etc/systemd/system

Son olarak peggod etkinleştirin ve çalıştırın:

$ sudo systemctl daemon-reload
$ sudo systemctl enable peggod
$ sudo systemctl restart peggod

peggod loglarını aşağıdaki komutla kontrol edebilirsiniz:

$ journalctl -u peggod -f -o cat

Last updated