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

# Tiền gửi và rút tiền

Chuyển SOL vào một chuỗi Rome ZK EVM và rút đồng coin gốc của nó về ví Solana.

Trong thiết lập devnet v0.3.0, đồng coin gốc của chain được bảo chứng bằng SOL bọc trong kho Solana của nó. Một khoản nạp sẽ khóa SOL bọc và ghi có vào địa chỉ EVM được chỉ định. Một khoản rút sẽ đốt đồng coin đó trên chain và trả SOL bọc từ kho cho một người nhận Solana. Một gwei trên chain tương ứng với một lamport của SOL bọc.

Bản [hướng dẫn rút đầy đủ](https://github.com/rome-protocol/solana-zk-evm/blob/v0.3.0/docs/WITHDRAWALS.md) có lời gọi chính xác, các kiểm tra và tên từ chối. Bản [hướng dẫn devnet](https://github.com/rome-protocol/solana-zk-evm/blob/v0.3.0/docs/RUN-ON-DEVNET.md) bao gồm phần thiết lập nạp tiền và lệnh của người nạp.

## Nạp SOL

Trước hết, người vận hành cần một gốc đã được chứng minh, một kho SOL bọc, một cấu hình thoát đang hoạt động chỉ định bridge, và một hàng đợi nạp. Không có những thứ này, một chain mới không thể chấp nhận các khoản nạp. Khởi nguyên của chain bắt đầu không có số dư nào, trừ khi người vận hành của nó đã khai báo và bảo chứng một số dư.

Người nạp sử dụng `./rollup deposit` với số lượng tính bằng lamport, một người nhận EVM, chữ ký Solana của chính họ và `--wrap-sol`. Tùy chọn đó bọc SOL trong cùng một giao dịch Solana với khoản nạp. Lệnh chỉ là chạy thử cho đến khi `--confirm` được thêm vào. Mức tối thiểu mặc định là 1.000.000 lamport, tức 0,001 SOL. Phí hàng đợi mặc định là 100.000 lamport, tức 0,0001 SOL, được trả cho cơ quan chain. Người nạp cũng trả phí giao dịch và tiền thuê cho bản ghi nạp.

Bridge khóa SOL bọc trong kho của chain đó và thêm một bản ghi được đánh số. Bộ sắp xếp đọc các khoản nạp Solana đã được hoàn tất và ghi có chúng theo thứ tự vào các khối EVM mới. Số dư xuất hiện tại RPC của chain khi khối của nó được niêm phong. Khoản ghi có chỉ là cuối cùng khi lô chứa nó được chứng minh và gốc của nó được đưa lên Solana.

Thời hạn đưa vào hàng đợi mặc định là 12 giờ, với tối đa 256 khoản nạp mỗi lô và 4 khoản mỗi khối. Hộp thư đến kiểm tra thời hạn khi một lô được hoàn tất. Quy tắc đó không buộc người vận hành phải tạo hoặc chứng minh một lô. Người vận hành vẫn có thể trì hoãn một khoản nạp bằng cách dừng chain.

Tiền thuê của bản ghi nạp có thể được trả lại cho người nạp sau khi gốc của lô ghi có là cuối cùng và cơ quan của lô gửi `CloseBatch`. Sau đó bất kỳ ai cũng có thể gửi `CloseDeposit`. Khoản nạp vẫn nằm trong kho như tài sản bảo chứng. Trình chạy v0.3.0 không gửi `CloseBatch`, vì vậy các bản ghi không tự động đóng và tiền thuê của chúng vẫn bị khóa.

## Rút về Solana

Các khoản rút chỉ dành cho đồng coin gốc của chain. Gửi một lời gọi có thể thanh toán `initiateExit(bytes32 solRecipient)` đến cổng thoát tại `0x4200000000000000000000000000000000000016`. Giá trị là số tiền cần rút. Người nhận là một **địa chỉ ví Solana được mã hóa dưới dạng 32 byte**, không phải địa chỉ của tài khoản token của nó. Hãy kiểm tra địa chỉ đó trước khi gửi. Đồng coin sẽ bị đốt ngay khi giao dịch được xác nhận, và không gì trong cổng có thể trả lại chúng. Hãy giữ mã băm thông điệp từ `ExitInitiated` sự kiện.

Chờ một gốc đã được chứng minh bao phủ giao dịch đó. Trình chứng minh thoát sử dụng nút verifier để tạo bằng chứng lưu trữ về thông điệp của cổng đối với gốc cuối cùng đó. Quyết toán trên Solana kiểm tra bằng chứng, cấu hình thoát đang hoạt động, cổng và giới hạn rút. Sau đó trình chứng minh thoát gửi một lệnh giải ngân. Bridge lấy số tiền từ kho của chain và trả vào tài khoản token liên kết SOL bọc của người nhận. Nó có thể tạo tài khoản token đó khi cần.

Khoản chi trả diễn ra theo bằng chứng mà không có thời gian chờ riêng. Giao dịch giải ngân đọc người nhận từ bản ghi đã được chứng minh, nên người vận hành hoặc bất kỳ người gửi nào khác không thể chuyển hướng nó. Chương trình tiêu thụ bản ghi và chi trả nguyên tử, ngăn việc chi trả lần hai cho cùng một khoản rút.

Phần lớn thời gian chờ là thời gian để đóng, đăng và chứng minh lô. Trình chứng minh thoát thăm dò mỗi hai giây và chi trả ngay sau khi có gốc cuối cùng. Trong lần chạy devnet của Rome, một khoản rút bắt đầu ở khối 192 đã được chi trả trên Solana khoảng bốn phút sau đó. Đây là một phép đo, không phải thời gian rút cố định.

Một giới hạn thoát hạn chế lượng có thể rời đi trong mỗi cửa sổ thách thức 172.800 slot. Một khoản thoát không khớp với cửa sổ hiện tại sẽ chờ đến cửa sổ tiếp theo. Một khoản thoát duy nhất lớn hơn toàn bộ giới hạn cần cơ quan chain nâng giới hạn lên. Các thay đổi cấu hình thoát cần ít nhất một cửa sổ thách thức để có hiệu lực.

Một khoản chi trả vẫn có thể chờ sau khi có bằng chứng nếu người nhận không có tài khoản token SOL bọc và số tiền thấp hơn ngưỡng mặc định 0,01 SOL. Trình chứng minh thoát để nó cho một lệnh giải ngân thủ công thay vì trả phí để tạo tài khoản đó. Người dùng hoặc người vận hành có thể dùng `./rollup release-exit --message-hash` với mã băm thông điệp và `--confirm`. Bất kỳ ai cũng có thể giải ngân một lệnh thoát hợp lệ.

## Những gì người vận hành chạy

Tạo và nạp vốn cho kho SOL bọc sau khi đăng ký. Đối với một số dư khởi nguyên được bảo chứng, hãy khóa đúng số tiền đó trước khi yêu cầu khóa xác minh. Sau gốc đầu tiên đã được chứng minh, đặt cổng thoát, bridge và giới hạn bằng `./rollup exit-config propose`. Hãy đợi ít nhất một cửa sổ thách thức, rồi chạy `./rollup exit-config activate --confirm`. Cơ quan chain mở hàng đợi nạp bằng `./rollup deposit-queue init --confirm`.

Đặt `EXITS=on`, rồi chạy `./rollup init` và `./rollup up` để khởi động trình chứng minh thoát. Nó cần **bên trả phí được cấp vốn riêng của nó**, tách biệt với bên trả phí của bộ gom lô. Mỗi bằng chứng thoát tốn của bên trả phí một khoản phí Solana và tiền thuê bản ghi. Trình chạy từ chối bên trả phí thoát bị thiếu hoặc dùng chung. Chi trả tự động được bật theo mặc định; trình chứng minh thoát cũng sẽ thử lại các bản ghi đã được chứng minh còn mở sau khi khởi động lại.

Chạy `./rollup check`. Nó kiểm tra tài sản bảo chứng của kho, giới hạn và tồn đọng của nạp, bridge và cấu hình thoát đang hoạt động, trình chứng minh thoát, các lệnh thoát bị kẹt, việc quét nhật ký của nó và số dư của bên trả phí. Mức sàn mặc định của bên trả phí thoát là 0,1 SOL. Dùng `./rollup vault show` và `./rollup deposit-queue show` để kiểm tra quỹ và trạng thái hàng đợi. Các hướng dẫn đầy đủ ở trên cung cấp các lệnh để nạp vốn cho kho và thay đổi cài đặt hàng đợi.


---

# 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/vi/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.
