> 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/ko/core-concepts/choose-your-core.md).

# 코어 선택하기

듀얼 레인 앱은 핵심 로직을 Solidity 측이나 네이티브 Solana 측에 둘 수 있습니다. 이는 판단의 문제입니다 — 앱에 중요한 것이 무엇인지 따져보세요.

대부분의 Rome 앱은 이중 경로입니다: MetaMask(EVM) 사용자와 Phantom(Solana) 사용자가 모두 접근하는 하나의 공유 상태입니다. 당신은 이를 거울상인 두 가지 형태 중 하나로 만들 수 있으며, 차이는 **핵심 로직이 어느 쪽에 있느냐입니다.** 어느 것을 선택할지에 대한 딱 정해진 규칙은 없습니다 — 무엇이 중요하냐에 따른 유연한 판단입니다 *당신의* 앱에 따라 달라집니다: 이미 보유한 코드와 자산, 팀의 전문성, 보안 태세, 선호하는 도구, 성능, 그리고 각 사용자층이 이를 어떻게 사용할지입니다.

## (a) Solidity 코어; 합성 발신자를 통한 Solana 사용자

당신의 로직은 Solidity 계약입니다. Phantom 사용자의 Solana 서명은 그들의 Rome 기반 신원에서 발생한 EVM 트랜잭션으로 실행됩니다( `external_auth` PDA) — 이들은 EVM 키가 전혀 필요 없습니다. 이미 Solidity 계약이 있거나(특히 강화되었거나 감사된 계약), 표준 EVM 도구(Hardhat / Foundry / viem)를 원하거나, 로직이 단순할 때 자주 잘 맞습니다.

*읽기:* [aerarium](https://github.com/rome-protocol/aerarium) — EVM 사용자와 Solana 사용자가 공유하는 Compound v3 대출 시장(Solidity 코어).

## (b) 기본 Solana 프로그램 코어; 얇은 CPI 라우터를 통한 EVM 사용자

당신의 로직은 기본 Solana 프로그램입니다; 얇은 Solidity 라우터가 EVM 사용자가 CPI를 통해 접근할 수 있게 합니다. 이미 Solana 프로그램이 있거나, 핵심을 네이티브로 실행하는 것이 당신이 만드는 것에서 중요할 때 자주 잘 맞습니다.

*읽기:* [rome-dex](https://github.com/rome-protocol/rome-dex) — EVM 라우터가 있는 기본 AMM(Solana 코어)으로, 양쪽 경로가 하나의 풀을 거래합니다.

## 예를 들면: 성능

성능은 하나의 요소로서 *될 수 있습니다* 선택에 영향을 줄 수 있습니다 — 하나의 예로 생각하세요. 무거운 로직의 경우 네이티브 Solana 실행은 EVM 인터프리터보다 상당히 더 저렴할 수 있습니다: 우리가 측정한 한 스왑은 네이티브에서 대략 6배 더 저렴하게 실행되었습니다. 앱에 자주 사용되고 계산량이 많은 경로가 있다면 그런 차이는 중요할 수 있지만, 그렇지 않다면 결정에 큰 영향을 주지 않을 것입니다. 이를 규칙이 아니라 여러 입력 중 하나로 보세요.

## 어느 쪽을 선택하든

코어를 **권한에 독립적으로** — 어떤 권한이 서명하든 그에 따라 동작하여 호출자가 Solana 공개키일 수 있도록 하세요 *또는* EVM 사용자의 PDA — 계정 집합을 간결하게 유지하고 ALT 친화적으로 만들어 EVM 경로가 저렴하게 유지되도록 하며, **양쪽 경로를 모두 테스트하세요.**

## 다음 단계

* [EVM에서 Solana 호출](/ko/developer-guides/call-solana-from-evm.md) — 형태 (b)의 CPI 메커니즘과 모든 Solidity→Solana 호출.
* [컴퓨트 예산](/ko/core-concepts/compute-budget.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/ko/core-concepts/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.
