> 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/ja/ji-ben-gai-nian/choose-your-core.md).

# コアを選ぶ

デュアルレーンのアプリは、コアロジックをSolidity側に置くか、ネイティブなSolana側に置くかを選べます。これは判断次第です。アプリにとって何が重要かを比較してください。

ほとんどの Rome アプリはデュアルレーンです。MetaMask（EVM）ユーザーと Phantom（Solana）ユーザーの両方が到達できる、1つの共有状態を持ちます。これは、鏡像の2つの形で構築でき、違いは **どちら側にコアロジックを持たせるかです。** どちらを選ぶべきかに決まったルールはありません。何が重要かに基づく、やわらかい判断です *あなたの* アプリにとって：すでに持っているコードとアセット、チームの専門性、セキュリティ体制、好みのツール群、パフォーマンス、そして各オーディエンスがそれをどう使うかです。

## (a) Solidity をコアにする；Solana ユーザーは合成送信者経由

あなたのロジックは Solidity コントラクトです。Phantom ユーザーの Solana 署名は、Rome 由来のアイデンティティ（ `external_auth` PDA）からの EVM トランザクションとして実行されます。EVM 鍵は一切必要ありません。すでに Solidity コントラクト（特に堅牢化済み、または監査済みのもの）を持っている場合、標準的な EVM ツール（Hardhat / Foundry / viem）を使いたい場合、またはロジックが単純な場合によく適しています。

*読む：* [aerarium](https://github.com/rome-protocol/aerarium) — EVM と Solana のユーザーが共有する、Compound v3 の貸出市場（Solidity をコアにする）。

## (b) ネイティブ Solana プログラムをコアにする；EVM ユーザーは薄い CPI ルーター経由

あなたのロジックはネイティブ Solana プログラムです。薄い Solidity ルーターにより、EVM ユーザーは CPI 経由でそこに到達できます。すでに Solana プログラムを持っている場合や、構築するものにとってコアをネイティブで実行することが重要な場合によく適しています。

*読む：* [rome-dex](https://github.com/rome-protocol/rome-dex) — ネイティブ AMM（Solana をコアにする）に EVM ルーターを組み合わせ、両方のレーンが1つのプールを取引します。

## たとえば：パフォーマンス

パフォーマンスは、 *選択を左右* する要素の1つです。例として考えてください。ネイティブの Solana 実行は、重いロジックでは EVM インタプリタよりかなり安くなることがあります。私たちが計測したあるスワップは、ネイティブではおよそ6倍安く実行されました。アプリに高負荷で計算集約的な経路があるなら、その差が重要になるかもしれません。そうでないなら、たぶん決定要因にはなりません。これは多くの入力のうちの1つとして扱い、ルールではないと考えてください。

## どちらを選んでも

コアを **権限非依存に保ち、** — 署名した権限が誰であれそれに応じて動作するようにし、呼び出し元は Solana の pubkey でも *または* EVM ユーザーの PDA でもよく、アカウント集合は軽量に保って ALT に適した形にして EVM レーンを安く維持し、 **両方のレーンをテストします。**

## 次に何をするか

* [EVMからSolanaを呼ぶ](/ja/gaido/call-solana-from-evm.md) — 形 (b) の CPI メカニクスと、あらゆる Solidity→Solana 呼び出し。
* [Compute Budget](/ja/ji-ben-gai-nian/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/ja/ji-ben-gai-nian/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.
