# Bir Validator düğümü çalıştırma

## **Doğrulayıcı düğüm nedir?**

Bir Chiliz Chain [doğrulayıcısı](https://docs.chiliz.com/chiliz-chain-2.0/validator)olmak için, ister kendi donanımınızla ister bir ortak aracılığıyla bir Doğrulayıcı düğümü çalıştırmanız gerekir.\
Bir düğüm, işlemleri Chiliz Chain’e kaydetmeden önce doğrulamak için özel olarak kurulan bir web sunucusudur.

{% hint style="info" %}
Daha genel bir düğüm çalıştırma dokümantasyon sayfamız olduğunu unutmayın: [bir-chiliz-chain-dugumu-calistirin](https://docs.chiliz.com/tr-ai/gelistir/temeller/chiliz-chaine-baglanin/bir-chiliz-chain-dugumu-calistirin "mention")
{% endhint %}

## Kısacası

Bir Doğrulayıcı düğümü çalıştırmak için aşağıdaki parametreleri ayarlamanız gerekir:

```bash
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--mine \
--chiliz \ # Chiliz Mainnet için. Spicy Testnet için --spicy kullanın.
--datadir=/datadir \
--password=/datadir/password.txt \
--allow-insecure-unlock \
--unlock=DOĞRULAYICI_ADRESİYLE_DEĞİŞTİRİN \
--syncmode=full \
--gcmode=archive \
--miner.etherbase=DOĞRULAYICI_ADRESİYLE_DEĞİŞTİRİN
--nodekeyhex=2668f377e69de_ÖRNEK_KENDİ_DEĞERİNİZLE_DEĞİŞTİRİN_c88bea3e337446ed73 \
--nat=extip:140.250.140.250 \ # Bu sadece bir örnektir.
--verbosity=4
```

{% hint style="warning" %}
&#x20;Bunu olduğu gibi kullanmayın!&#x20;

Şunları güncellediğinizden emin olun: `unlock`, `miner.etherbase` ve `nodekeyhex` parametresi!
{% endhint %}

## Ön koşullar

Chiliz Chain doğrulayıcı düğümünü çalıştırmak için, makinenizde veya sunucunuzda Docker Engine kurulu olmalıdır.\
Amazon Web Services, Google Cloud Platform veya Microsoft Azure gibi bir bulut sağlayıcı kullanabilir ya da kendi sunucunuzu kurabilirsiniz (aşağıya bakın).

Lütfen[ Docker kurulumu](https://docs.docker.com/engine/install/) devam etmeden önce tamamlayın.

### Sistem gereksinimleri

Doğrulayıcı düğümünüzü çalıştırmak için ayrılmış bir sunucuya ihtiyacınız olacak:

* CPU: En az 2 CPU çekirdeği.
* Bellek: En az 4 GB RAM.
* Disk: En iyi performans için bir katı hâl sürücüsü (SSD) kullanın.&#x20;
  * Zincirle eşitlenmek için en az 300 GB boş disk alanı olmasını öneririz.&#x20;
* Ağ Bant Genişliği: En az 10 Gbps.

## Önceden hazırlanmış Docker imajları

Önceden hazırlanmış Docker imajlarını şu kaynaktan görüntüleyin veya kullanın: [Chiliz Chain 2.0 herkese açık deposu](https://hub.docker.com/repository/docker/chilizchain/ccv2-geth) Docker Hub üzerinde. Depoya erişmek için bir Docker Hub hesabınızın olması gerektiğini unutmayın.

## Bir Doğrulayıcı düğümü başlatma ve eşitlemeyi başlatma

Bir Chiliz Chain doğrulayıcı düğümü çalıştırmak için önerilen başlangıç noktası, bağlı veri hacmiyle başlamaktır. Bu yöntem kullanılarak bir Docker kapsayıcısı yeniden oluşturulursa, veriler dizinde saklanır ve kolayca yeniden kullanılabilir veya başka bir doğrulayıcıya klonlanabilir.

{% hint style="info" %}
Ethereum’un bir çatallanması olarak, Chiliz Chain [Geth’e](https://geth.ethereum.org/) düğüm sunucuları için güvenir.

Go-ethereum (namıdiğer Geth), Go ile oluşturulmuş bir Ethereum istemcisidir. Geth’i bir uzlaşı istemcisiyle birlikte çalıştırmak, bir bilgisayarı bir düğüme dönüştürür. Bu nedenle düğümünüzün vazgeçilmez bir parçasıdır.

Geth’i şuna çatalladık: `ccv2-geth`, aşağıda göreceğiniz gibi.
{% endhint %}

### Doğrulayıcı adresini oluşturun

Aşağıdaki komutla doğrulayıcı düğümünü oluşturun:&#x20;

```sh
docker run --rm -ti \
-v $(pwd)/keystore:/root/.ethereum/keystore/ \
chilizchain/ccv2-geth:latest \
--chiliz \  # Chiliz Mainnet için. Spicy Testnet için --spicy kullanın.
account new
```

Gizli anahtar dosyası için bir parola girmeniz gerekecek.

* **Anahtarın genel adresi:** Doğrulayıcı çalışırken bu adres, `--unlock` parametresini ayarlamak için kullanılacaktır.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # Chiliz Mainnet için. Spicy Testnet için --spicy kullanın.
...
--unlock=DOĞRULAYICI_ADRESİYLE_DEĞİŞTİRİN # Bu sadece bir örnektir.
```

* **Gizli anahtar dosyasının yolu:** Bu dosyanın, daha önceki adımlarda oluşturduğunuz datadir içindeki "keystore" dizinine taşınması gerekir `$(pwd)/my-datadir` böylece dosyanın son yolu şu olacaktır:\
  &#x20;`"$(pwd)/my-datadir/keystore/UTC–(ZAMAN DAMGASI)-(ADRES)"`. \
  **ASLA** dosyanın adını değiştirmeyin.
* **Parola:** Önceki komutun çalıştırılması sırasında girdiğiniz parola bir dosyada saklanmalıdır:\
  &#x20;`$(pwd)/my-datadir/password.txt` \
  Bu dosya, doğrulayıcı düğümünü çalıştırırken `--password` parametresini ayarlamak için kullanılacaktır.\
  Ana makine yolundaki tüm dosyaların `$(pwd)/my-datadir` kapsayıcı içinde `/datadir` dizini altında bulunacağını unutmayın; bu nedenle parola parametresi aşağıdaki örnekteki gibi ayarlanmalıdır:&#x20;

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # Chiliz Mainnet için. Spicy Testnet için --spicy kullanın.
...
--password=/datadir/password.txt
...

```

Aşağıdaki önerileri akılda tutmak çok önemlidir:

* Şuradaki **genel** adresinizi herkesle paylaşabilirsiniz. Diğerlerinin sizinle etkileşime geçebilmesi için buna ihtiyaçları vardır.
* Şunu **ASLA PAYLAŞMAMALISINIZ** gizli anahtarı kimseyle! Anahtar, fonlarınıza erişimi kontrol eder!
* Şunu **ANAHTAR DOSYANIZIN** yedek kopyasını alın! Anahtar olmadan hesap fonlarına erişmek imkânsızdır!
* Şunu **UNUTMAYIN** parolanızı! Parola olmadan anahtarın şifresini çözmek imkânsızdır!

### Doğrulayıcı düğüm anahtarını oluşturun

*Bu bölüm isteğe bağlıdır.*

Düğüm için rastgele bir onaltılık dize oluşturmanızı öneririz.\
Bu, günlüklerde izlenebilirlik açısından ve zincirle eşleşme sorunlarını önlemek için faydalıdır.&#x20;

Bunu yapmak için şunu kullanabilirsiniz: <https://www.browserling.com/tools/random-hex> ve düğüm başına 64 karakterden oluşan bir onaltılık anahtar oluşturabilirsiniz.\
Bir doğrulayıcı düğümü çalıştırırken `--nodekeyhex` bu değerle ayarlayabilirsiniz. Bu, düğümü yeniden başlattığınızda aynı düğüm adresine ("enode adresi" olarak adlandırılır) sahip olmasını sağlayacak ve gelecekte hata ayıklamayı veya sorun gidermeyi kolaylaştıracaktır.

```bash
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # Chiliz Mainnet için. Spicy Testnet için --spicy kullanın.
...
--nodekeyhex=2668f377e69de_ÖRNEK_KENDİ_DEĞERİNİZLE_DEĞİŞTİRİN_c88bea3e337446ed73 # Bu sadece bir örnektir.
...
```

### Geth’in NAT port eşleme mekanizmasını ayarlayın

Geth’in `--nat` parametresinin aşağıdaki seçenekleri vardır: `any`, `none`, `upnp`, `pmp`, `pmp:<IP>`ve `extip:<IP>`. Varsayılan değer `any`. [Daha fazla bilgi için Geth dokümanına bakın](https://geth.ethereum.org/docs/fundamentals/command-line-options).

şunu kullanmanızı öneririz: `extip:<IP>`  seçeneği, burada `<IP>` doğrulayıcının başlatıldığı genel IPv4 adresidir.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # Chiliz Mainnet için. Spicy Testnet için --spicy kullanın.
...
--nat=extip:140.250.140.250 # Bu sadece bir örnektir.
...
```

### Ayrıntı düzeyini ayarlayın

Daha derin sorun giderme için Geth’in günlükleme ayrıntı düzeyi parametresi `--verbosity`  şu şekilde ayarlanabilir:&#x20;

* 0=sessiz
* 1=hata
* 2=uyarı
* 3=bilgi
* 4=ayıklama
* 5=ayrıntı

için varsayılan değer 3’tür.\
4 kullanmanızı öneririz.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # Chiliz Mainnet için. Spicy Testnet için --spicy kullanın.
...
--verbosity=4 # Bu sadece bir örnektir.
...
```

## Bir düğümün sahibini değiştirme

Artık bir doğrulayıcı düğümü çalıştırmak istemeyeceğiniz bir zaman gelebilir. O zaman düğümü başka birine devretmek isteyebilirsiniz.

Bu durumda şu adımları izleyebilirsiniz:

1. Cüzdanınızı şuna bağlayın: [Chiliz Staking dApp](https://governance.chilizchain.com/staking).
2. "Sahibi değiştir" düğmesine tıklayın.

<figure><img src="https://2155691341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4L7rBH2rmyoBTn93MSdx%2Fuploads%2FKWoNNxyKd0tOccpgZQ0i%2Fimage.png?alt=media&#x26;token=0758d39d-50f7-461a-8e1e-94df17dc8e93" alt=""><figcaption></figcaption></figure>

3. Açılan pencerede, sahibini değiştirmek istediğiniz düğümün mevcut adresini ve yeni adresini (yeni sahibi tarafından sağlanan) belirtin.

<figure><img src="https://2155691341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4L7rBH2rmyoBTn93MSdx%2Fuploads%2FU6m2jCZBRj90NFnDzXaV%2Fimage.png?alt=media&#x26;token=a183033e-4fd5-429d-adcb-734374058f11" alt="" width="358"><figcaption></figcaption></figure>

Gönderildikten sonra değişiklik doğrudan uygulanacaktır.
