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

# 存款和提现

将 SOL 转入 Rome ZK EVM 链，并将其原生币提现到 Solana 钱包。

在 v0.3.0 devnet 设置中，该链的原生币由其 Solana 金库中的封装 SOL 提供支持。存款会锁定封装 SOL，并将额度记入指定的 EVM 地址。提现会在链上销毁该币，并向 Solana 收款方从金库支付封装 SOL。链上的 1 gwei 对应 1 lamport 的封装 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

操作员首先需要一个已证明的根、一个封装 SOL 金库、一个指定桥的有效退出配置，以及一个存款队列。没有这些，新链无法接受存款。除非其操作员已声明并背书了一个余额，否则该链的创世状态初始没有余额。

存款人使用 `./rollup deposit` ，并带有以 lamports 计的金额、一个 EVM 收款地址、其自己的 Solana 签名者以及 `--wrap-sol`。该选项会在与存款相同的 Solana 交易中将 SOL 封装。直到添加 `--confirm` 之前，该命令都只是试运行。默认最低金额为 1,000,000 lamports，即 0.001 SOL。默认队列费用为 100,000 lamports，即 0.0001 SOL，支付给链管理方。存款人还需支付该存款记录的交易费和租金。

桥会将封装 SOL 锁定在该链的金库中，并追加一条编号记录。排序器读取已最终确认的 Solana 存款，并在新的 EVM 区块中按顺序记账。其区块封存后，余额会出现在链的 RPC 上。只有当包含该存款的批次已被证明且其根落到 Solana 上时，该记账才是最终的。

默认队列纳入期限为 12 小时，每个批次最多 256 笔存款、每个区块 4 笔。收件箱在批次最终确认时检查该期限。这一规则不会强制操作员产出或证明某个批次。操作员仍可通过停止该链来延迟存款。

在记账批次的根最终确认后，存款记录的租金可以返还给存款人，前提是批次管理方发送 `CloseBatch`。随后任何人都可以发送 `CloseDeposit`。存款仍作为背书留在金库中。v0.3.0 运行器不会发送 `CloseBatch`，因此记录不会自动关闭，其租金也会一直被锁定。

## 提现到 Solana

提现仅适用于该链的原生币。向退出门户发送一个可支付的 `initiateExit(bytes32 solRecipient)` 调用，目标地址为 `0x4200000000000000000000000000000000000016`。value 为要提现的金额。收款地址是一个 **以 32 字节编码的 Solana 钱包地址**，而不是其代币账户地址。发送前请核对该地址。交易一经上链，代币便会被销毁，门户中没有任何东西可以把它们找回。请保留来自 `ExitInitiated` 事件的消息哈希。

等待一个覆盖该交易的已证明根。退出证明器使用验证器节点，对门户消息相对于该最终根生成存储证明。Solana 结算会检查该证明、有效的退出配置、门户和提现上限。随后退出证明器发送一次释放。桥会从该链的金库中取出相应金额，并向收款人的封装 SOL 关联代币账户支付。必要时它可以创建该代币账户。

支付会随证明完成，不需要单独的等待期。释放交易从已证明记录中读取收款人，因此操作员或其他任何发送者都无法将其重定向。程序会消费该记录并原子性地完成支付，防止同一笔提现被重复支付。

大部分等待时间都用于关闭、发布和证明批次。退出证明器每两秒轮询一次，在可用最终根后很快支付。在 Rome 的 devnet 运行中，一笔在区块 192 发起的提现，大约四分钟后就在 Solana 上完成支付。这只是一个测量值，并非固定的提现时间。

退出上限限制了在每个 172,800 个 slot 的挑战窗口内可以离开的金额。若某笔退出不适合当前窗口，就会等待下一个窗口。单笔退出若大于整个上限，则需要链管理方提高上限。退出配置变更至少需要一个挑战窗口才会生效。

如果收款人没有封装 SOL 代币账户，且金额低于默认的 0.01 SOL 阈值，那么在证明完成后，支付仍可能继续等待。退出证明器会将其留待手动释放，而不是花费代币去创建该账户。用户或操作员可以使用 `./rollup release-exit --message-hash` ，并带上消息哈希和 `--confirm`。任何人都可以释放一个有效的退出。

## 操作员运行的内容

在注册后创建并为封装 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 费用和记录租金。运行器会拒绝缺失或共用的退出 payer。默认启用自动支付；退出证明器还会在重启后重试那些已证明但仍未关闭的记录。

运行 `./rollup check`。它会检查金库支撑、存款上限和积压、已激活的桥和退出配置、退出证明器、卡住的退出、其日志扫描以及 payer 余额。默认退出 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/zh/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.
