> 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/cac-khai-niem-cot-loi/choose-your-core.md).

# Chọn lõi của bạn

Một ứng dụng hai làn có thể giữ logic cốt lõi của mình ở phía Solidity hoặc phía Solana gốc. Đây là một quyết định mang tính phán đoán — hãy cân nhắc điều gì quan trọng với ứng dụng của bạn.

Hầu hết các ứng dụng Rome đều là hai làn: một trạng thái dùng chung, được cả người dùng MetaMask (EVM) và Phantom (Solana) truy cập. Bạn có thể xây dựng một ứng dụng theo hai dạng đối xứng, khác nhau ở **bên nào giữ logic cốt lõi.** Không có quy tắc cứng nhắc nào để chọn — đó là một đánh giá linh hoạt dựa trên điều quan trọng đối với *của bạn* ứng dụng: mã và tài sản bạn đã có, chuyên môn của nhóm bạn, tư thế bảo mật của bạn, bộ công cụ bạn ưa thích, hiệu năng, và cách mỗi nhóm người dùng sẽ sử dụng nó.

## (a) Phần lõi Solidity; người dùng Solana thông qua một sender tổng hợp

Logic của bạn là một hợp đồng Solidity. Chữ ký Solana của một người dùng Phantom được thực thi như một giao dịch EVM từ danh tính dẫn xuất từ Rome của họ ( `external_auth` PDA) — họ không bao giờ cần một khóa EVM. Thường phù hợp khi bạn đã có sẵn một hợp đồng Solidity (đặc biệt là hợp đồng đã được harden hoặc kiểm toán), muốn dùng bộ công cụ EVM tiêu chuẩn (Hardhat / Foundry / viem), hoặc logic khá đơn giản.

*Đọc:* [aerarium](https://github.com/rome-protocol/aerarium) — một thị trường cho vay Compound v3 (phần lõi Solidity) mà người dùng EVM và Solana cùng chia sẻ.

## (b) Phần lõi là chương trình Solana gốc; người dùng EVM thông qua một bộ định tuyến CPI mỏng

Logic của bạn là một chương trình Solana gốc; một bộ định tuyến Solidity mỏng cho phép người dùng EVM truy cập nó thông qua CPI. Thường phù hợp khi bạn đã có một chương trình Solana, hoặc khi việc chạy lõi một cách nguyên bản quan trọng với thứ bạn đang xây dựng.

*Đọc:* [rome-dex](https://github.com/rome-protocol/rome-dex) — một AMM gốc (phần lõi Solana) với bộ định tuyến EVM, để cả hai làn cùng giao dịch trên một pool.

## Ví dụ: hiệu năng

Hiệu năng là một trong những thứ có thể *có thể* làm nghiêng lựa chọn — hãy xem nó như một ví dụ. Thực thi gốc trên Solana có thể rẻ hơn đáng kể so với trình thông dịch EVM đối với logic nặng: một lệnh hoán đổi mà chúng tôi đo được chạy rẻ hơn khoảng 6× khi chạy nguyên bản. Nếu ứng dụng của bạn có một luồng nóng, tốn nhiều tính toán, mức chênh lệch như vậy có thể quan trọng với bạn; nếu không, nó có lẽ sẽ không quyết định lựa chọn. Hãy coi đây là một đầu vào trong số nhiều đầu vào, không phải một quy tắc.

## Dù bạn chọn cách nào

Giữ phần lõi **không phụ thuộc vào thẩm quyền** — hành động theo bất kỳ thẩm quyền nào ký, để bên gọi có thể là một pubkey Solana *hoặc* một PDA của người dùng EVM — giữ bộ tài khoản gọn nhẹ và thân thiện với ALT để làn EVM luôn rẻ, và **kiểm thử cả hai làn.**

## Tiếp theo là gì

* [Gọi Solana từ EVM](/vi/huong-dan-cho-nha-phat-trien/call-solana-from-evm.md) — cơ chế CPI cho dạng (b), và mọi lời gọi Solidity→Solana.
* [Ngân sách tính toán](/vi/cac-khai-niem-cot-loi/compute-budget.md) — thêm về chi phí thực thi.


---

# 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/cac-khai-niem-cot-loi/choose-your-core.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.
