> 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/rome-zk-evm/deposits-and-withdrawals.md).

# Депозиты и выводы

Переведите SOL в цепочку Rome ZK EVM и выведите её нативную монету в кошелёк Solana.

В настройке devnet v0.3.0 нативная монета цепочки обеспечена wrapped SOL в её хранилище Solana. Депозит блокирует wrapped SOL и зачисляет его указанному адресу EVM. При выводе эта монета сжигается в цепочке, а wrapped SOL из хранилища выплачивается получателю Solana. Один gwei в цепочке соответствует одному лампорту wrapped SOL.

Полное [руководство по выводу](https://github.com/rome-protocol/solana-zk-evm/blob/v0.3.0/docs/WITHDRAWALS.md) содержит точный вызов, проверки и имена причин отказа.  [руководство по devnet](https://github.com/rome-protocol/solana-zk-evm/blob/v0.3.0/docs/RUN-ON-DEVNET.md) охватывает настройку депозита и команду вкладчика.

## Депозит SOL

Сначала оператору нужен доказанный корень, хранилище wrapped SOL, активная конфигурация выхода, в которой указан мост, и очередь депозитов. Без этого новая цепочка не может принимать депозиты. Генезис цепочки начинается без баланса, если только её оператор не объявил и не обеспечил один баланс.

Вкладчик использует `./rollup deposit` с суммой в лампортах, получателем EVM, своим собственным подписантом Solana и `--wrap-sol`. Эта опция оборачивает SOL в той же транзакции Solana, что и депозит. Команда выполняется в режиме сухого прогона, пока не будет добавлен `--confirm` . Значение минимума по умолчанию — 1 000 000 лампортов, или 0.001 SOL. Плата за очередь по умолчанию составляет 100 000 лампортов, или 0.0001 SOL, и выплачивается органу управления цепочкой. Вкладчик также оплачивает комиссию транзакции и ренту за запись депозита.

Мост блокирует wrapped SOL в хранилище этой цепочки и добавляет пронумерованную запись. Секвенсер считывает финализированные депозиты Solana и зачисляет их по порядку в новых блоках EVM. Баланс появляется в RPC цепочки, когда её блок запечатывается. Зачисление становится окончательным только тогда, когда пакет, содержащий его, доказан, а его корень попадает в Solana.

Срок включения в очередь по умолчанию составляет 12 часов, при этом в одном пакете может быть не более 256 депозитов и 4 на блок. Входной ящик проверяет срок, когда пакет финализируется. Это правило не обязывает оператора создавать или доказывать пакет. Оператор всё ещё может задержать депозит, остановив цепочку.

Рента за запись депозита может вернуться вкладчику после того, как корень пакета зачисления станет финальным, и орган пакета отправит `CloseBatch`. После этого любой может отправить `CloseDeposit`. Депозит остаётся в хранилище как обеспечение. Запускатель v0.3.0 не отправляет `CloseBatch`, поэтому записи не закрываются автоматически, а их рента остаётся заблокированной.

## Вывод в Solana

Выводы предназначены только для нативной монеты цепочки. Отправьте платёжный `initiateExit(bytes32 solRecipient)` вызов в портал выхода по адресу `0x4200000000000000000000000000000000000016`. Значение — это сумма к выводу. Получатель — это **адрес кошелька Solana, закодированный в 32 байтах**, а не адрес его токен-аккаунта. Проверьте этот адрес перед отправкой. Монеты сжигаются, как только транзакция попадает в блок, и ничто в портале не может вернуть их обратно. Сохраните хэш сообщения из `ExitInitiated` события.

Дождитесь доказанного корня, охватывающего эту транзакцию. Доказатель выхода использует узел верификатора, чтобы создать storage-proof сообщения портала относительно этого финального корня. Расчёт в Solana проверяет доказательство, активную конфигурацию выхода, портал и лимит вывода. Затем доказатель выхода отправляет выпуск. Мост берёт сумму из хранилища цепочки и выплачивает её на связанный токен-аккаунт wrapped SOL получателя. При необходимости он может создать этот токен-аккаунт.

Выплата следует за доказательством без отдельного периода ожидания. Транзакция выпуска считывает получателя из доказанной записи, поэтому оператор или любой другой отправитель не может перенаправить её. Программа потребляет запись и выплачивает средства атомарно, предотвращая повторную выплату по тому же выводу.

Большая часть ожидания уходит на закрытие, публикацию и доказательство пакета. Доказатель выхода опрашивает систему каждые две секунды и производит выплату вскоре после того, как становится доступен финальный корень. В тестовой сети Rome вывод, начатый в блоке 192, был выплачен в Solana примерно через четыре минуты. Это одно измерение, а не фиксированное время вывода.

Лимит выхода ограничивает объём, который может выйти в каждом 172 800-слотовом окне оспаривания. Вывод, который не помещается в текущее окно, ждёт следующего. Для одного вывода, превышающего весь лимит, требуется, чтобы орган управления цепочкой повысил лимит. Изменения конфигурации выхода становятся активными не ранее чем через одно окно оспаривания.

Выплата всё ещё может ждать после доказательства, если у получателя нет токен-аккаунта wrapped SOL и сумма ниже порога 0.01 SOL по умолчанию. Доказатель выхода оставляет её для ручного выпуска, вместо того чтобы оплачивать создание такого аккаунта. Пользователь или оператор могут использовать `./rollup release-exit --message-hash` с хэшем сообщения и `--confirm`. Любой может выпустить действительный вывод.

## Что запускает оператор

Создайте и пополните хранилище wrapped SOL после регистрации. Для обеспеченного баланса генезиса заблокируйте ту же сумму до запроса ключа верификации. После первого доказанного корня задайте портал выхода, мост и лимит с помощью `./rollup exit-config propose`. Подождите как минимум одно окно оспаривания, затем выполните `./rollup exit-config activate --confirm`. Орган управления цепочкой открывает очередь депозитов с помощью `./rollup deposit-queue init --confirm`.

Установите `EXITS=on`, затем выполните `./rollup init` и `./rollup up` чтобы запустить доказатель выхода. Ему нужен собственный пополненный payer, отдельный от payer пакетировщика. Каждое доказательство выхода стоит его payer комиссии Solana и ренты за запись. Исполнитель отклоняет отсутствующий или общий exit payer. Автоматическая выплата включена по умолчанию; доказатель выхода также повторно обрабатывает доказанные записи, оставшиеся открытыми после перезапуска. **собственный пополненный payer**, отдельный от payer пакетировщика. Каждое доказательство выхода стоит его payer комиссии Solana и ренты за запись. Исполнитель отклоняет отсутствующий или общий exit payer. Автоматическая выплата включена по умолчанию; доказатель выхода также повторно обрабатывает доказанные записи, оставшиеся открытыми после перезапуска.

Выполните `./rollup check`. Он проверяет обеспечение хранилища, лимиты депозитов и backlog, активный мост и конфигурацию выхода, доказатель выхода, зависшие выходы, сканирование его журналов и баланс его payer. Минимальный порог exit-payer по умолчанию — 0.1 SOL. Используйте `./rollup vault show` и `./rollup deposit-queue show` чтобы проверить средства и состояние очереди. Полные руководства выше содержат команды для пополнения хранилища и изменения настроек очереди.


---

# 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/rome-zk-evm/deposits-and-withdrawals.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.
