> 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/id/canton-zk-evm/run-it-locally.md).

# Jalankan secara lokal

Jalankan pemeriksaan, latihan tanpa GPU, dan demo Ostia lokal di GPU.

Skrip yang disediakan menjalankan jaringan uji lokal. Canton menyimpan statusnya di memori, jadi setiap kali dimulai ulang status itu dibuang dan dibuat jaringan baru. Demo GPU membuktikan blok. Rehearsal menggunakan bukti pengganti dan tidak memerlukan GPU.

Halaman ini menjelaskan commit `a84e84e439a5cc669c0ae61facf7c8c995d9d564`. Baca selengkapnya [panduan jaringan](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/network/README.md) dan [panduan demo](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/demo/README.md). Jalankan perintah di bawah ini dari `canton-zk-evm` akar repositori.

## Yang Anda perlukan

| Pekerjaan                  | Persyaratan                                                                                                                              |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Pemeriksaan repositori     | Docker, `bash`, `curl`, `jq`, `openssl` dan Python 3. Pengujian Rust menggunakan `rust-toolchain.toml`.                                  |
| Pengujian integrasi Canton | Linux x86-64, Java 21, dan akses jaringan.                                                                                               |
| Latihan demo               | Linux x86-64, Docker, Java 21, Rust, dan Python 3.12 atau yang lebih baru.                                                               |
| Pengujian Explorer         | Node 22.18 atau yang lebih baru.                                                                                                         |
| Jaringan GPU dan demo      | Linux x86-64, GPU NVIDIA dengan driver yang terpasang, Docker, Rust, Python 3.12 atau yang lebih baru, `jq`, `curl`, `openssl` dan ZisK. |

Panduan [README repositori](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/README.md#running-the-tests) mencantumkan prasyarat pengujian. Pemasang GPU menggunakan `sudo` dan `apt` pada Debian atau Ubuntu dan membutuhkan sekitar 100 GB ruang disk kosong. Alat ini memasang paket sistem dan mengubah batas memory-lock. Pengambil alat jaringan akan memasang Java 21 jika belum ada. Lihat [Host prover](/id/canton-zk-evm/prover-host.md) untuk perangkat keras yang telah diuji; memori GPU minimum belum ditetapkan.

## Jalankan pengujian

Mulailah dengan pemeriksaan cepat dari [CONTRIBUTING.md](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/CONTRIBUTING.md#building-and-testing):

```sh
tests/static.sh                  # pin, genesis, dan baris lisensi cocok
tests/refuses_missing_flag.sh    # peluncuran reth menolak flag yang hilang atau salah
tests/fixtures.sh                # bukti yang direkam konsisten
gateway/build.sh --check         # kode gateway yang dicek masuk adalah hasil kompilasi Gateway.sol (Docker)
```

README repositori juga memberikan pemeriksaan ini. Pemeriksaan ini tidak memerlukan GPU:

```sh
tests/udp_control.sh             # pemeriksaan UDP gagal pada kontainer dengan listener UDP (tanpa reth)
tests/discovery.sh               # memulai reth yang dipin, memeriksa bahwa tidak ada peer, lalu menghentikannya
tests/network_static.sh          # reth hanya melalui launch.sh, konfigurasi Canton, hasil smoke yang direkam
tests/network_checks.sh          # pemeriksaan pin kompiler, id DAR, penghentian pada programVK lain (tanpa GPU)
tests/canton_network.sh          # Canton yang dipin, paket Daml yang asli, dan satu Advance (Linux x86-64, Java 21, Python 3; tanpa GPU)
gateway/tests/run.sh             # gateway pada reth yang nyata, dimulai dengan penemuan peer dimatikan (Docker, curl, jq, Python 3 dengan paket di demo/requirements.txt)
tests/guest-repro.sh             # build guest berjalan di satu folder tetap, jadi folder sumber tidak mengubah ELF (pengganti untuk alat ZisK; pemeriksaan yang sama pada ZisK asli lulus pada 2026-10-04, lihat guest/README.md)
tests/demo_static.sh             # pin demo, sakelar tamper dan penggantian genesis, serta hasil yang direkam (tanpa GPU)
tests/demo_explorer_static.sh    # citra Explorer dipin, dan apa yang diberikan ke kontainernya (tanpa Docker)
(cd explorer && npm ci && npm test)  # pengujian Explorer, terhadap tiruan (Node 22.18+; CI menggunakan EXPLORER_NODE_IMAGE di PINS)
(cd guest/rules && cargo test)   # aturan rantai dan hash-nya (memerlukan Rust)
```

## Latihan tanpa GPU

```sh
tests/demo_rehearsal.sh          # demo dan Explorer dengan bukti pengganti (Linux x86-64, Docker, Java 21, Rust, Python 3.12+; tanpa GPU)
```

Ini menjalankan reth asli, Canton, paket Daml, standar token, dan builder. Sidecar memeriksa kaki gateway terhadap bukti penyimpanan, sementara pengganti menjawab `verifikasi` panggilan.

Ini juga memeriksa Explorer dan faucet. Pemeriksaan Verify Explorer harus menolak bukti pengganti. Itu [README demo](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/demo/README.md#the-rehearsal) menjelaskan cakupan rehearsal.

## Mulai jaringan lokal pada GPU

Pasang ZisK dengan `prover/install.sh` sebelum memulai jaringan. Selalu mulai reth melalui peluncur yang disediakan; `network/up.sh` menggunakannya.

```sh
network/up.sh       # alat, build guest, reth, sidecar, prover, Canton, rantai
CZE_SOURCE_COMMIT=$(git rev-parse HEAD) network/smoke.sh    # satu blok kosong, dibuktikan dan dikomit
network/down.sh
```

`up.sh` membangun guest dan menolak program key, root ZisK, atau hash aturan yang berbeda dari nilai yang direkam. Jaringan ini memiliki satu sinkronisator dan tiga partisipan. Partisipan operator dan confirmer masing-masing menjalankan sidecar. Partisipan bernama users menampung pihak uji dan reader.

Smoke test melakukan commit terhadap blok kosong, memeriksa head rantai dan catatan blok reader, dan memeriksa bahwa reth menandainya final. Status dan log disimpan ke `state/`, atau `CZE_STATE_DIR` jika disetel.

## Jalankan lima kasus demo pada GPU

Gunakan jaringan lokal baru untuk demo:

```sh
demo/prepare.sh
CZE_GENESIS_FILE=$PWD/state/demo/genesis.json network/up.sh
CZE_SOURCE_COMMIT=$(git rev-parse HEAD) network/smoke.sh      # opsional: satu blok kosong terlebih dahulu
CZE_SOURCE_COMMIT=$(git rev-parse HEAD) demo/run.sh
network/down.sh
```

Skrip persiapan membuat kunci uji dan genesis yang didanai untuk pelaksanaan ini. Demo menjalankan blok penyiapan, deposit, pembayaran, penarikan, penolakan alokasi, dan penolakan bukti yang telah diubah. Skrip berhenti jika pemeriksaan gagal dan menulis hasilnya ke `demo/results/`.

Untuk ekspor sumber tanpa `.git`, tetapkan `CZE_SOURCE_COMMIT` ke hash penuh dari commit yang digunakan untuk ekspor. Untuk menyertakan faucet, genesis yang didanai harus disiapkan sebelum jaringan dimulai; lihat [Penjelajah](/id/canton-zk-evm/explorer.md) dan panduan demo lengkap.


---

# 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/id/canton-zk-evm/run-it-locally.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.
