> For the complete documentation index, see [llms.txt](https://docs.chiliz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chiliz.com/tr/ogren/validator-hakkinda/validator-node-calistirma.md).

# Validatör Node Çalıştırma

Chiliz Chain Validator node'u kurma

## **Validator node nedir?**

Bir Chiliz Chain [validator](https://docs.chiliz.com/chiliz-chain-2.0/validator)'ı olmak için kendi donanımınızda ya da bir ortak aracılığıyla bir Validator node çalıştırmanız gerekmektedir.\
Node, Chiliz Chain'e işlemleri kaydetmeden önce doğrulamak amacıyla özel olarak kurulmuş bir web sunucusudur.

{% hint style="info" %}
Daha genel bir node çalıştırma belgesi sayfamız bulunduğunu unutmayın: [Chiliz Chain Node Çalıştırma](/tr/gelistir/temel-ogeler/chiliz-chaine-baglanma/chiliz-chain-node-calistirma.md)
{% endhint %}

## Özet

Bir Validator node çalıştırmak için aşağıdaki parametreleri ayarlamanız gerekmektedir:

```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=REPLACE_WITH_VALIDATOR_ADDRESS \
--syncmode=full \
--gcmode=archive \
--miner.etherbase=REPLACE_WITH_VALIDATOR_ADDRESS
--nodekeyhex=2668f377e69de_EXAMPLE_REPLACE_WITH_YOUR_VALUE_c88bea3e337446ed73 \
--nat=extip:140.250.140.250 \ # Bu yalnızca bir örnek.
--verbosity=4
```

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

`unlock`, `miner.etherbase` ve `nodekeyhex` parametrelerini güncellemeyi unutmayın!
{% endhint %}

## Ön Koşullar

Chiliz Chain validator node'unu çalıştırmak için makinenizde veya sunucunuzda Docker Engine kurulu olması gerekmektedir.\
Amazon Web Services, Google Cloud Platform veya Microsoft Azure gibi bir bulut sağlayıcısı kullanabilir ya da kendi sunucunuzu kurabilirsiniz (aşağıya bakın).

Devam etmeden önce [Docker kurulumunu](https://docs.docker.com/engine/install/) tamamlayın.

### Sistem gereksinimleri

Validator node'unuzu çalıştırmak için özel bir sunucuya ihtiyacınız vardır:

* CPU: En az 2 CPU çekirdeği.
* Bellek: En az 4 GB RAM.
* Disk: Optimum performans için katı hal sürücüsü (SSD) kullanın.
  * Zincirle senkronizasyon için en az 300 GB boş disk alanı önerilir.
* Ağ Bant Genişliği: En az 10 Gbps.

## Önceden oluşturulmuş Docker imajları

Docker Hub'daki [Chiliz Chain 2.0 genel deposundan](https://hub.docker.com/repository/docker/chilizchain/ccv2-geth) önceden oluşturulmuş Docker imajlarını görüntüleyin veya kullanın. Depoya erişmek için bir Docker Hub hesabınız olması gerekmektedir.

## Validator node başlatma ve senkronizasyonu başlatma

Chiliz Chain validator node çalıştırmanın önerilen başlangıç noktası, bağlı veri hacmiyle birlikte kullanmaktır. Bu yöntem bir Docker kapsayıcısını yeniden oluşturmak için kullanılırsa veriler dizinde depolanır ve kolayca yeniden kullanılabilir ya da başka bir validator'a kopyalanabilir.

{% hint style="info" %}
Ethereum'un bir çatalı olarak Chiliz Chain, node sunucuları için [Geth](https://geth.ethereum.org/)'e dayanmaktadır.

Go-ethereum (diğer adıyla Geth), Go dilinde oluşturulmuş bir Ethereum istemcisidir. Geth'i bir konsensüs istemcisiyle birlikte çalıştırmak bir bilgisayarı node'a dönüştürür. Bu nedenle node'unuzun temel bir parçasıdır.

Aşağıda göreceğiniz üzere Geth'i `ccv2-geth` olarak çatalladık.
{% endhint %}

### Validator adresi oluşturma

Aşağıdaki komutla validator node'unu oluşturun:

```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 şifre girmeniz gerekmektedir.

* **Anahtarın Genel adresi:** Validator ç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=REPLACE_WITH_VALIDATOR_ADDRESS # Bu yalnızca bir örnek.
```

* **Gizli anahtar dosyasının yolu:** Bu dosyanın önceki adımlarda oluşturduğunuz `$(pwd)/my-datadir` veri dizininin içindeki "keystore" dizinine taşınması gerekir; dolayısıyla dosyanın nihai yolu şu şekilde olacaktır:\
  `"$(pwd)/my-datadir/keystore/UTC–(TIMESTAMP)-(ADDRESS)"`.\
  Dosyanın adını **DEĞİŞTİRMEYİN**.
* **Şifre:** Önceki komutun çalıştırılması sırasında girdiğiniz şifrenin bir dosyada saklanması gerekmektedir:\
  `$(pwd)/my-datadir/password.txt`\
  Bu dosya, validator node'u çalıştırırken `--password` parametresini ayarlamak için kullanılacaktır.\
  `$(pwd)/my-datadir` ana yolundaki tüm dosyaların kapsayıcıda `/datadir` dizininde bulunacağını unutmayın; bu nedenle şifre parametresi aşağıdaki örnekte olduğu gibi ayarlanmalıdı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.
...
--password=/datadir/password.txt
...

```

Aşağıdaki önerileri göz önünde bulundurmak büyük önem taşımaktadır:

* **Genel** adresinizi herkesle paylaşabilirsiniz. Diğerlerinin sizinle etkileşim kurabilmesi için buna ihtiyacı vardır.
* Gizli anahtarı kesinlikle **KİMSEYLE PAYLAŞMAYIN**! Anahtar, hesabınızdaki fonlara erişimi kontrol eder!
* Anahtar dosyanızı **YEDEKLEYIN**! Anahtar olmadan hesap fonlarına erişmek imkânsızdır!
* Şifrenizi **HATIRLAYIN**! Şifre olmadan anahtarın şifresini çözmek imkânsızdır!

### Validator node anahtarı oluşturma

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

Node için rastgele bir onaltılık dize oluşturmanızı öneririz.\
Bu, günlüklerde izlenebilirlik sağlamak ve zincirle eşleştirme sorunlarını önlemek için faydalıdır.

Bunun için <https://www.browserling.com/tools/random-hex> adresini kullanarak node başına 64 karakter içeren bir onaltılık anahtar oluşturabilirsiniz.\
Validator node çalışırken bu değeri `--nodekeyhex` parametresine ayarlayabilirsiniz. Bu, node'u yeniden başlattığınızda aynı node adresine (enode adresi olarak adlandırılır) sahip olmasını sağlar ve gelecekteki hata ayıklama veya sorun tespit işlemlerini kolaylaştırı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_EXAMPLE_REPLACE_WITH_YOUR_VALUE_c88bea3e337446ed73 # Bu yalnızca bir örnek.
...
```

### Geth'in NAT port eşleme mekanizmasını ayarlama

Geth'in `--nat` parametresi şu seçeneklere sahiptir: `any`, `none`, `upnp`, `pmp`, `pmp:<IP>` ve `extip:<IP>`. Varsayılan değer `any`'dir. [Daha fazla bilgi için Geth belgesine bakın](https://geth.ethereum.org/docs/fundamentals/command-line-options).

Validator'ın başlatıldığı genel IPv4 adresi olarak `<IP>` belirtilerek `extip:<IP>` seçeneğinin kullanılmasını ö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.
...
--nat=extip:140.250.140.250 # Bu yalnızca bir örnek.
...
```

### Ayrıntı düzeyi ayarlama

Daha derin sorun giderme için Geth'in günlük ayrıntı düzeyi parametresi `--verbosity` şu şekilde ayarlanabilir:

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

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 yalnızca bir örnek.
...
```

## Node sahibini değiştirme

Bir noktada artık validator node çalıştırmak istemeyebilirsiniz. Bu durumda node'u başkasına devretmek isteyebilirsiniz.

Bu durumda şu adımları izleyebilirsiniz:

1. Cüzdanınızı [Chiliz Governance dApp'ine](https://app.chilizchain.com/governance) bağlayın.
2. "Change owner" bağlantısına tıklayın (sayfanın alt kısmında).

<figure><img src="https://1947934350-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsaWTK3JzMTRe9Vohd0iJ%2Fuploads%2Fgit-blob-de31045f345c226343a60e21ee0c47dba013eac5%2Fimage%20(482).png?alt=media" alt=""><figcaption></figcaption></figure>

3. Modal pencerede sahibini değiştirmek istediğiniz node'un mevcut adresini ve yeni adresini (yeni sahibi tarafından sağlanan) belirtin.

<figure><img src="https://1947934350-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsaWTK3JzMTRe9Vohd0iJ%2Fuploads%2Fgit-blob-721a97f059c14b58aa0c8fff3482ac0705eb4c73%2Fimage%20(483).png?alt=media" alt="" width="358"><figcaption></figcaption></figure>

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.chiliz.com/tr/ogren/validator-hakkinda/validator-node-calistirma.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
