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

# Запустите локально

Запустите проверки, репетицию без GPU и локальную демонстрацию Ostia на GPU.

Предоставленные скрипты запускают локальную тестовую сеть. Canton хранит своё состояние в памяти, поэтому каждый перезапуск сбрасывает это состояние и создаёт новую сеть. Демонстрация на GPU доказывает блоки. Репетиция использует подставное доказательство и не требует GPU.

Эта страница описывает коммит `a84e84e439a5cc669c0ae61facf7c8c995d9d564`. Прочтите полный [руководство по сети](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/network/README.md) и [руководство по демо](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/demo/README.md). Выполняйте приведённые ниже команды из `canton-zk-evm` корня репозитория.

## Что вам понадобится

| Работа                      | Требования                                                                                                               |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Проверки репозитория        | Docker, `bash`, `curl`, `jq`, `openssl` и Python 3. Тесты Rust используют `rust-toolchain.toml`.                         |
| интеграционные тесты Canton | Linux x86-64, Java 21 и доступ к сети.                                                                                   |
| Репетиция демонстрации      | Linux x86-64, Docker, Java 21, Rust и Python 3.12 или новее.                                                             |
| Тесты Explorer              | Node 22.18 или новее.                                                                                                    |
| Сеть и демонстрация с GPU   | Linux x86-64, NVIDIA GPU с установленным драйвером, Docker, Rust, Python 3.12 или новее, `jq`, `curl`, `openssl` и ZisK. |

Названия [README репозитория](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/README.md#running-the-tests) перечисляет предварительные требования для тестов. Установщик для GPU использует `sudo` и `apt` в Debian или Ubuntu и требует около 100 ГБ свободного места на диске. Он устанавливает системные пакеты и изменяет лимиты блокировки памяти. Загрузчик инструментов сети устанавливает Java 21, если она отсутствует. См. [Хост prover](/ru/canton-zk-evm/prover-host.md) для протестированного оборудования; минимальный объём видеопамяти GPU не установлен.

## Запустите тесты

Начните с быстрых проверок из [CONTRIBUTING.md](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/CONTRIBUTING.md#building-and-testing):

```sh
tests/static.sh                  # зафиксированные версии, genesis и строки лицензии совпадают
tests/refuses_missing_flag.sh    # запуск reth отказывает при отсутствии или неверном флаге
tests/fixtures.sh                # записанное доказательство согласовано
gateway/build.sh --check         # проверенный в репозитории код gateway — это то, во что компилируется Gateway.sol (Docker)
```

README репозитория также описывает эти проверки. Им не нужен GPU:

```sh
tests/udp_control.sh             # проверка UDP завершается сбоем на контейнере с UDP-слушателем (без reth)
tests/discovery.sh               # запускает зафиксированный reth, проверяет, что у него нет пиров, и останавливает его
tests/network_static.sh          # reth только через launch.sh, конфигурацию Canton, записанный результат smoke-теста
tests/network_checks.sh          # проверка закреплённой версии компилятора, идентификатор DAR, остановка на другой программеVK (без GPU)
tests/canton_network.sh          # зафиксированный Canton, реальный пакет Daml и один Advance (Linux x86-64, Java 21, Python 3; без GPU)
gateway/tests/run.sh             # gateway на реальном reth, запущенном с отключённым обнаружением пиров (Docker, curl, jq, Python 3 с пакетами из demo/requirements.txt)
tests/guest-repro.sh             # сборка guest выполняется в одной фиксированной папке, поэтому папка исходников не влияет на ELF (заменители инструментов ZisK; та же проверка на реальном ZisK успешно прошла 2026-10-04, см. guest/README.md)
tests/demo_static.sh             # закреплённые версии демонстрации, переключатель tamper и переопределение genesis, а также её записанные результаты (без GPU)
tests/demo_explorer_static.sh    # образы explorer зафиксированы, и то, что передаётся его контейнеру (без Docker)
(cd explorer && npm ci && npm test)  # тесты explorer с поддельными зависимостями (Node 22.18+; CI использует EXPLORER_NODE_IMAGE в PINS)
(cd guest/rules && cargo test)   # правила цепочки и их хэш (требуется Rust)
```

## Репетиция без GPU

```sh
tests/demo_rehearsal.sh          # демонстрация и explorer с подставным доказательством (Linux x86-64, Docker, Java 21, Rust, Python 3.12+; без GPU)
```

Это запускает реальный reth, Canton, пакет Daml, стандарт токенов и builder. Sidecar проверяет ветви gateway по доказательствам хранения, в то время как подставной компонент отвечает на вызов доказательства `проверить` call. Репетиция не доказывает блок и не проверяет реальное zero-knowledge-доказательство.

Она также проверяет explorer и faucet. Проверка Verify в explorer должна отклонять подставное доказательство. Файл [demo README](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/demo/README.md#the-rehearsal) описывает покрытие репетиции.

## Запустите локальную сеть на GPU

Установите ZisK с помощью `prover/install.sh` перед запуском сети. Всегда запускайте reth через предоставленный лаунчер; `network/up.sh` использует его.

```sh
network/up.sh       # инструменты, сборка guest, reth, сайдкары, prover, Canton, цепочка
CZE_SOURCE_COMMIT=$(git rev-parse HEAD) network/smoke.sh    # один пустой блок, доказанный и зафиксированный
network/down.sh
```

`up.sh` собирает guest и отклоняет ключ программы, корень ZisK или хэш правил, отличающиеся от записанных значений. В сети есть один синхронизатор и три участника. Участники operator и confirmer каждый запускают sidecar. Участник с именем users размещает тестовые стороны и reader.

Smoke-тест фиксирует пустой блок, проверяет голову цепочки и запись блока в reader, а также подтверждает, что reth отметил его как финальный. Состояние и журналы сохраняются в `state/`, или `CZE_STATE_DIR` если он задан.

## Запустите пять демонстрационных сценариев на GPU

Используйте новую локальную сеть для демонстрации:

```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      # необязательно: сначала один пустой блок
CZE_SOURCE_COMMIT=$(git rev-parse HEAD) demo/run.sh
network/down.sh
```

Скрипт подготовки создаёт тестовые ключи и финансированный genesis для запуска. Демонстрация выполняет свой блок настройки, депозит, платёж, вывод средств, отказ в распределении и отказ из-за подделанного доказательства. Скрипт останавливается, если какая-либо проверка не пройдёт, и записывает результаты в `demo/results/`.

Для экспорта исходников без `.git`, задайте `CZE_SOURCE_COMMIT` полный хэш коммита, использованного для экспорта. Чтобы включить faucet, подготовленный genesis с финансированием должен быть создан до запуска сети; см. [Обозреватель](/ru/canton-zk-evm/explorer.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/ru/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.
