> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/tr/rome-zk-evm/run-a-rollup.md).

# Bir rollup çalıştırın

v0.3.0 rollup çalıştırıcısıyla Solana devnet'te kendi Rome ZK EVM zincirinizi kaydedin ve çalıştırın.

Bu `./rollup` runner, Rome'un paylaşılan Solana devnet programlarına karşı bir zincir başlatır. Siz onun düğümünü çalıştırır ve Solana maliyetlerini ödersiniz. Uzlaştırma programlarını kendiniz dağıtmazsınız. Kayıt izinsizdir, ancak kanıtlanmış kökler için Rome tarafından kaydedilmiş zincire özel bir doğrulama anahtarı gerekir.

Bu sayfa şunu kullanır **v0.3.0**. [tam devnet kılavuzu](https://github.com/rome-protocol/solana-zk-evm/blob/v0.3.0/docs/RUN-ON-DEVNET.md) her ayarı, hata ve kurtarma adımını kapsar.

## Başlamadan önce

bash 4 veya daha yenisi, Git, Compose ile Docker Engine 28 veya daha yenisi, curl, jq, openssl, Solana CLI ve Python 3.11 veya daha yenisi yüklü bir x86-64 Linux makinesi kullanın. Bir Solana devnet RPC uç noktasına, zincir yetkiniz olarak da kullanılan fonlu bir Solana ödeyici anahtar çiftine ve bir sequencer imzalama anahtarına ihtiyacınız var. Her iki dosyayı da özel tutun ve kapsayıcı kullanıcısı 999 tarafından okunabilir yapın. Kılavuz bunların nasıl oluşturulacağını açıklar.

Yaklaşık bütçe ayırın **devnet'te 7 SOL** ödeyici için. Kayıt 5 SOL kilitler; `./rollup check` yayınlama ve kira için en az 1 SOL kalmasını bekler. Depozito, ilk nihai kökten veya on gönderilmiş kökten sonra iade edilebilir hale gelir. Zincir bundan önce geri alınırsa, depozito hazinede kalır. Zincirin ayrıca kontrol ettiğiniz bir EVM ücret-alıcı adresine ihtiyacı vardır.

Kökleri uzlaştırmak için, 30 GB'tan fazla belleğe sahip tek bir NVIDIA GPU'lu bir prover sunucusuna ihtiyacınız var. 24 GB'lık bir kart, son kanıt aşaması için yetersizdir. [Prover sunucusu](/tr/rome-zk-evm/prover-host.md) RAM ve disk bütçesini sağlar. Prover hazır olmadan önce düğüm çalışabilir ve batch'leri yayınlayabilir, ancak köklerinin hiçbiri nihai olmaz.

## Düğümü başlatın

Sürümü klonlayın ve rollup dizininden çalışın:

```sh
git clone --branch v0.3.0 https://github.com/rome-protocol/solana-zk-evm.git
cd solana-zk-evm/deploy/rollup
cp .env.example .env
cp chain.toml.example chain.toml
```

Solana RPC'sini, imzalayıcı konumlarını ve `ROME_ZK_TAG=v0.3.0` içinde `.env`. Saklayın `PROGRAMS_JSON=programs.devnet.json`. Ayarlayın `ROME_ZK_GUEST_TAG=v0.3.0` ve `ZISK_RELEASE=1.3.1-alpha` daha sonraki guest derlemesi için. İlk yerel çalıştırma için RPC'yi loopback'e bağlı tutun. Şunu boş bırakın `PROVER` guest ve anahtarı hazır olana kadar ayarlanmamış.

Şunu ayarlayın `genesis.fee_recipient` içinde `chain.toml` EVM adresinize. Bir zincir kimliği seçmeyin. Uzlaştırma, ödeyiciden ve kayıt sayısından bir kimlik türetir; `init` bir şey göndermeden önce onu okur. Tüm kimliklerin yaklaşık yarısı MetaMask için çok büyüktür. Sizinki de öyleyse, `init` şununla durur `ChainIdNotWalletSafe`; yeni bir ödeyici anahtarı oluşturun, şurayı gösterin `PAYER_KEYPAIR_PATH` ona ve çalıştırın `init` yeniden.

Yeni bir zincir sıfır bakiyelerle başlar. Depozitolar açılmadan önce gaz almak için destekli bir bakiye tanımlarsanız, doğrulama anahtarını istemeden önce aynı miktarda wrapped SOL'u zincirin kasasında kilitleyin.

```sh
./rollup init
./rollup register --dry-run
./rollup register --confirm
./rollup up
./rollup check
```

`init` genesis ve hizmet yapılandırmasını oluşturur. `register --confirm` 5 SOL depozitoyu kilitler ve batch imlecini oluşturur. `up` sequencer, batcher, derive ve verifier düğümünü başlatır. `check` eksik herhangi bir hizmetin adını verir, ardından zincir kimliğini, başları, batcher'ın ilerlemesini, inbox'u ve kökleri karşılaştırır. Batch'lerin kapanması için zaman geçtikten sonra yeniden çalıştırın; ilk batch ilerleme kontrolü yalnızca bir örnek kaydeder.

Bir prover olmadan sequencer RPC sunar, batcher işlem verilerini inbox'a gönderir ve derive zinciri yeniden oluşturur. Bir inbox batch'i nihai bir uzlaştırma kökü değildir. Genesis kökü bile bir kanıt bekler.

## Batch'lerden nihai köklere geçin

Zincirinizin genesis'i için guest'i derleyin:

```sh
./rollup guest-build
```

Derleme, v0.3.0 guest ve ZisK 1.3.1-alpha kullanır. Zincirin guest programını ve doğrulama anahtarı meta verilerini üretir. Hesaplama `programVK` ZisK ispat anahtarlarına ve yaklaşık 36 GB RAM'e ihtiyaç duyar. Zinciri kaydetmek bir doğrulama anahtarı kaydetmez. Şunu gönderin [doğrulama anahtarı isteği](/tr/rome-zk-evm/verification-key.md) derlemeden sonra. Rome, genesis'inizi ve guest'inizi kontrol eder, ardından anahtarı bir etkinleşme slotuyla kaydeder.

Prover sunucusunda şunu ayarlayın `PROVER=on` ve tam çalışma kılavuzunda açıklanan guest'i, doğrulama meta verilerini ve ZisK ayarlarını. Anahtar etkinleştikten sonra:

```sh
./rollup init
./rollup up
./rollup check
```

Şunu kontrol edin ki `servis prover'ı` ve `doğrulama anahtarı` öğeler geçer.

## İlk bloğu oluşturun

Destekli bir genesis bakiyesi olmadığında, depozitolar açılana kadar zincirin bir işlem için gazı olmaz. Depozitoların ilk kanıtlanmış köke ihtiyacı vardır. Varsayılan `empty_block_interval_secs = 0` etkin olmayan bir zinciri blok olmadan bırakır, bu yüzden bunu şu değere ayarlayın `60` altında `[profile]` içinde `chain.toml` anahtar etkin olduktan ve prover çalışırken. Oluşturun ve yeniden başlatın:

```sh
./rollup init
./rollup up
./rollup check
```

İlk kök nihai hale geldiğinde, aralığı tekrar şu değere ayarlayın `0` ve yeniden çalıştırın `init` ve `up` düzenli boş bloklar istemiyorsanız. Rome'un anahtarı kaydetmesini beklerken bunları açmak bir birikme oluşturur. Her batch sırayla kanıtlanmalıdır.

60 saniyelik boş blok aralığı ve 60 saniyelik batch kapanışıyla zincir dakikada yaklaşık bir batch, yani günde yaklaşık 1.440 batch üretir. Devnet'te, kanıtlanmış bir kök ödeyiciye yaklaşık **0.003 SOL**: yaklaşık 0.002 SOL bekleyen hesap kirası, üstüne 0.001 SOL uzlaştırma ücreti ve bir işlem ücreti. Bu tempo, inbox'a gönderme maliyetleri öncesinde günde yaklaşık 4.4 SOL'dur. Bekleyen hesap kirası varsayılan ayarlarla kilitli kalır. Boş bloklar kapalıyken, etkin olmayan bir zincir hiçbir batch'i mühürlemez ve gönderim maliyeti ödemez.

Depozitoları kabul etmek için sıradaki adım olarak kasayı oluşturun, gecikmesinden sonra çıkış yapılandırmasını etkinleştirin ve bir depozito kuyruğu açın. Bu komutlar ve kontroller şurada yer alır [Depozitolar ve çekimler](/tr/rome-zk-evm/deposits-and-withdrawals.md).


---

# 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.rome.builders/tr/rome-zk-evm/run-a-rollup.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.
