> 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/hajimeni/ecosystem.md).

# エコシステムとリポジトリ

公開されているRomeの各リポジトリ、その内容、そしてそれらのつながり — 表層を見渡すための地図。

Romeの公開表層は、一連のリポジトリです。いくつかの **基盤** その上に構築するパッケージ、スキャフォルダー、学習用のリファレンスアプリ、そしてアプリが呼び出す2つのサービス。このページは地図です。各リポジトリが何で、どう噛み合うかを示します。

隣り合う2つのページは別々の問いに答えており、このページはそれらを繰り返すのではなく両方へリンクします：

* [アーキテクチャ](/ja/hajimeni/architecture.md) が説明する **プロトコル** — EVMがSolanaプログラム内でどのように動くか。
* 各リポジトリには **`AGENTS.md`** （例： [rome-sdk-ts/AGENTS.md](https://github.com/rome-protocol/rome-sdk-ts/blob/main/AGENTS.md)）があり、 **あなたが何から始めるか** （Solidityコントラクト、Solanaプログラム、ゼロからの新規開発、ホームチェーン発）に応じて、あなたの状況に最も近い1つの例へ振り分けます。

このページはその中間のレベルです。 **表層全体** と、各要素がどうつながるか。

## 表層をひと目で

### 基盤 — まずはここから

| リポジトリ                                                           | 内容                                                                                                                               | こんなときに使う                   |
| --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| [rome-registry](https://github.com/rome-protocol/rome-registry) | `@rome-protocol/registry` — ライブなチェーン情報（ID、RPC、アドレス、トークンmint、プログラムID、オラクルフィード、ALT）の読み取り専用で生成された投影。                                | 実際のチェーン情報が必要なとき。— 直書きはしない。 |
| [rome-sdk-ts](https://github.com/rome-protocol/rome-sdk-ts)     | `@rome-protocol/sdk` — TypeScriptの書き込み経路： `submitRomeTx` + 料金サイズ計算、両レーン、PDA/ATA + CPIエンコーダー、precompileバインディング、 `/bridge` クライアント。 | アプリやフロントエンドのコードを書くとき。      |
| [rome-solidity](https://github.com/rome-protocol/rome-solidity) | Solidityのprecompileインターフェース、SPL/ERC-20ラッパー、オラクルアダプター — コントラクト側のツールキット。                                                           | コントラクトを書くとき。               |

その `@rome-protocol/…` 上記の名前はパッケージ名ですが、パッケージはnpmには公開されていません。GitHubからインストールしてください（コマンドは各セクションの [基盤レイヤーを詳しく見る](#the-foundation-layer-up-close)にあります）。コード内のimportパスはそのままです。

### Rome ZK EVMロールアップ

| リポジトリ                                                           | 内容                                       | こんなときに使う                   |
| --------------------------------------------------------------- | ---------------------------------------- | -------------------------- |
| [solana-zk-evm](https://github.com/rome-protocol/solana-zk-evm) | ZKロールアップのプログラム、ノード、プローバー、オペレーター向けドキュメント。 | Solanaで決済するEVMチェーンを運用するとき。 |
| [rome-zk-guest](https://github.com/rome-protocol/rome-zk-guest) | 各チェーンのジェネシス向けにビルドされたバッチguestのソース。        | guestをビルドし、その検証鍵を要求するとき。   |

### Canton ZK EVM

| リポジトリ                                                                                                                   | 内容                                                                    | こんなときに使う                                                                                       |
| ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| [canton-zk-evm](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/README.md) | Ostia。証明済みのEVMブロックとCantonのアクションを1つのトランザクションで決済する、Canton zkEVMの初期リリース。 | ローカルデモを実行するとき、またはそのゲートウェイと証明チェックを学ぶとき。参照： [Canton ZK EVM](/ja/canton-zk-evm/canton-zk-evm.md). |

### リファレンスアプリ — 例で学ぶ

| リポジトリ                                                                   | 内容                                                                | こんなときに使う                        |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------- |
| [rome-dex](https://github.com/rome-protocol/rome-dex)                   | デュアルレーンAMM — 薄いEVMルーターを備えたネイティブSolanaプール。                         | もう一方のレーンを開く； **ネイティブコア** の例。    |
| [aerarium](https://github.com/rome-protocol/aerarium)                   | デュアルレーンのレンディング — Solanaユーザーがシンセティックな送信者経由でアクセスするSolidityのCometコア。 | もう一方のレーンを開く； **Solidityコア** の例。 |
| [cardo](https://github.com/rome-protocol/cardo)                         | CPI経由でSolanaのdApp（swap/stake/lend/perps）を動かすEVMユーザー。              | CPIからSolanaアプリまでの実例として学べます。     |
| [appia](https://github.com/rome-protocol/appia)                         | ポジション先行のクロスVM DeFi；ユーザーは自分のホームチェーンからアクセスします。                      | ひとつの **ホームチェーン発** アプリ。          |
| [rome-aave-v3-demo](https://github.com/rome-protocol/rome-aave-v3-demo) | Aave v3の供給/借入/返済を、そのままデプロイしたもの。                                   | そのまま動くフルEVMアプリ。                 |

### コントラクトフォーク — 既知のプロトコルをRome上にデプロイ

| リポジトリ                                                                             | 内容                           | こんなときに使う              |
| --------------------------------------------------------------------------------- | ---------------------------- | --------------------- |
| [compound-on-rome-comet](https://github.com/rome-protocol/compound-on-rome-comet) | Compound III（Comet）マネーマーケット。 | 既知のEVMプロトコルをフォークする場合。 |
| [rome-aave-v3](https://github.com/rome-protocol/rome-aave-v3)                     | Aave v3コントラクトのフォーク。          | 既知のEVMプロトコルをフォークする場合。 |

### サービス — アプリがこれらを呼び出します

| リポジトリ                                                                       | 内容                                                                 | こんなときに使う                   |
| --------------------------------------------------------------------------- | ------------------------------------------------------------------ | -------------------------- |
| [rome-bridge-api](https://github.com/rome-protocol/rome-bridge-api)         | オンチェーンブリッジのためのオフチェーントルキストレータ＋手数料スポンサー。鍵は保持しません。                    | ウォレットへの入金、またはホームチェーン発のフロー。 |
| [rome-oracle-gateway](https://github.com/rome-protocol/rome-oracle-gateway) | Solanaの価格フィード（Pyth、Switchboard）をChainlink `AggregatorV3Interface`. | としてEVMから利用可能にしたもの。         |

### スキャフォールド — ここから始める

| リポジトリ                                                               | 内容                                                                                                      | こんなときに使う      |
| ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------- |
| [create-rome-app](https://github.com/rome-protocol/create-rome-app) | `npx github:rome-protocol/create-rome-app` — レジストリ＋SDKに事前接続されたデュアルレーンアプリをスキャフォールドし、両レーンの資金ありチェックも付属します。 | 新しいアプリを始めるとき。 |

## どう組み合わさるか

```mermaid
flowchart TD
    REG["rome-registry — ライブなチェーン情報"]
    SDK["rome-sdk-ts — 書き込み、CPI、ブリッジクライアント"]
    SOL["rome-solidity — precompileインターフェース、SPLラッパー、オラクルアダプター"]
    CRA["create-rome-app — スキャフォルダー"]
    APP["あなたのアプリ — フロントエンド＋コントラクト"]
    BAPI["rome-bridge-api — オフチェーントルキストレータ、鍵は保持しない"]
    OG["rome-oracle-gateway — Solana価格フィード"]

    CRA -->|スキャフォールド、事前接続済み| APP
    REG -->|事実、直書き不可| APP
    SDK -->|書き込み経路＆CPI| APP
    SOL -->|あなたのコントラクトがimport| APP
    APP -->|SDK /bridgeクライアント| BAPI
    APP -->|AggregatorV3Interface経由で読む| OG
    OG -.->|アダプターはここにある| SOL
    CRA -.->|配線する| REG
    CRA -.->|配線する| SDK
```

中核は3つの基盤と1つのスキャフォルダーです：

* [**rome-registry**](https://github.com/rome-protocol/rome-registry) が、ライブ情報の唯一のソースです。 [**rome-sdk-ts**](https://github.com/rome-protocol/rome-sdk-ts) が書き込み経路で、そしてその `/bridge` 配下パスは、アプリが `rome-bridge-api`. [**rome-solidity**](https://github.com/rome-protocol/rome-solidity) と通信するためのクライアントです。 `rome-oracle-gateway` は、あなたのコントラクト（およびフォーク）がimportするものです。そこにあるオラクルアダプターもデプロイされます。3つは互いに独立しているので、必要なものを選んでください。
* [**create-rome-app**](https://github.com/rome-protocol/create-rome-app) は、新しいアプリ向けに最初の2つを結びつけます。だから新規プロジェクトは、最初からレジストリを読み、SDK経由で書き込む状態で始まります。

知っておく価値がある例外は、リファレンスアプリです： **これらは、抽出されたパッケージより前に存在します。** cardoはレジストリパッケージを使い、appiaはビルド時にレジストリを静的JSONへ投影し、どちらもSDKをimportせずに書き込み経路を内蔵しています。パターンを学ぶには読む価値がありますが、新しい **新しい** アプリは `create-rome-app` ＋パッケージから始めるべきで、アプリのクローンから始めるべきではありません。

## 必要なものから辿る

* **ライブなチェーン情報** （id, address, mint, program id）→ [rome-registry](https://github.com/rome-protocol/rome-registry)。直書きはしない。
* **アプリコードを書く** （書き込み、CPI呼び出し、ブリッジ）→ [rome-sdk-ts](https://github.com/rome-protocol/rome-sdk-ts)；参照先 [Rome SDK](/ja/zhi-pin/rome-sdk.md).
* **コントラクトを書く** → [rome-solidity](https://github.com/rome-protocol/rome-solidity)；参照先 [Solidityコントラクトのデプロイ](/ja/gaido/deploy-solidity.md).
* **SolidityコントラクトからSolanaプログラムを呼ぶ** → [rome-solidity](https://github.com/rome-protocol/rome-solidity) (`interface.sol`); [cardo](https://github.com/rome-protocol/cardo) にあるCPI precompileが実例です。
* **動作する実例** AMM、レンディング、CPI、またはホームチェーン発アプリの→ 上記のリファレンスアプリ；各リポジトリの `AGENTS.md` は開始点で振り分けます。
* **新しいアプリのスキャフォールド** → [create-rome-app](https://github.com/rome-protocol/create-rome-app).
* **価格フィード** → [rome-oracle-gateway](https://github.com/rome-protocol/rome-oracle-gateway) （参照： [Oracle Gatewayポータル](/ja/romenoapuri/oracle-gateway.md)).
* **別チェーン上のユーザー** → [ホームから](/ja/gaido/from-home.md) + [rome-bridge-api](https://github.com/rome-protocol/rome-bridge-api).
* **ロジックをどちら側に持たせるかを決める** → [コアを選ぶ](/ja/ji-ben-gai-nian/choose-your-core.md).

## 基盤レイヤーを詳しく見る

### rome-registry — ライブ情報、構造上公開

レジストリは **生成された** Rome内部のソースから作られます。allowlistは公開対象だけを出力し、 **内部エンドポイントを** その公開版に置き換え、 **それ以外はデフォルトで拒否** するので、構造上public-safeです。チェーンごとに `chain.json` / `tokens.json` / `contracts.json` / `oracle.json` / `bridge.json` / `alts.json`、さらにSolanaの `プログラム` およびプロトコルごとのアプリデプロイを公開します。

リリースタグに固定してGitHubからインストールします： `npm install github:rome-protocol/rome-registry#v0.2.0`。getter経由で読みます — `getChain`, `getTokens`, `getContracts`, `getOracle`, `getBridge`, `getAlts`、そして `getPrograms(network)` （program idはchain idではなくnetworkでキー付けされています）。このパッケージは素のESMです（現時点でバンドルされたTypeScript型定義はありません）。

組み込む前に知っておくべきことが2つあります：

* **`getTokens()` は `assetRef`.** を返しません。 **トークンのラッパーを見つけるには、その** (`mint`）で照合してください。たとえばガストークンのラッパーは、そのmintを共有するエントリです。
* **ディスク上のJSONを読みます（`node:fs`）— ブラウザでは安全ではありません。** Webアプリでは、必要な値をビルド時に静的JSONファイルへ投影し、クライアント側でそれをimportしてください。（これはちょうど `create-rome-app` とappiaがやっていることです。）

コントラクトアドレスは、コントラクトごとのバージョン一覧として返ります。その `status` が `live`. [であるものを選んでください。](/ja/rifarensu/contract-addresses.md#reading-the-contracts-list) contracts listを読む [Contract Addresses](/ja/rifarensu/contract-addresses.md) リファレンスに記載されています。アプリがライブで読まない事実もそこにあります。

### rome-sdk-ts — 書き込み経路、両レーン

GitHubからインストールします： `npm install github:rome-protocol/rome-sdk-ts#v0.4.0`.

`@rome-protocol/sdk` （v0.4.0）は、Romeの書き込みに必要なものをすべてラップするので、calldataや手数料を手書きする必要がありません：

* **`submitRomeTx`** — EVMレーンの書き込み経路：ガスを `eth_estimateGas` で算出し（パディング付き、見積もりがrevertした場合は上限値にフォールバック）、EIP-1559手数料を供給します。
* **`submitRomeTxV1`** — 同じものを、 **Solanaウォレット** でEVMアプリを動かす場合に使います：呼び出しごとにSolana v1トランザクション1件、ウォレットプロンプトは2回。シンセティックな送信者は、平常時には何も保持しません； `buildFundLeg`/`buildSweepLeg` を使って、値をERC-20（`wUSDC`), **ではなく** ネイティブ `msg.value`）として出し入れします。呼び出し前後の素のSolana命令（fund leg、sweep前のウォレット用token-account作成）は `submitSolanaInstructionsV1` を通してv1トランザクションとしても送れます。 `submitRomeTxSolanaLane` はそれ以前の経路で、クライアント側でレガシーSolanaトランザクションを組み立て、初回使用時に新しいシンセティック（`create_pda`）を自動プロビジョニングします。
* **PDA/ATAの導出、CPI `invoke`/`invoke_signed` エンコーダー、precompileバインディング**、そして **`/bridge`** 配下パス（`@rome-protocol/sdk/bridge`）— まず見積もりを出すブリッジクライアント。

完全なAPI＋例： [Rome SDK](/ja/zhi-pin/rome-sdk.md)、およびガイド [EVMからSolanaを呼ぶ](/ja/gaido/call-solana-from-evm.md), [SolanaからEVMを呼ぶ](/ja/gaido/call-evm-from-solana.md)、そして [デュアルレーンアプリを構築する](/ja/gaido/dual-lane-app.md).

### rome-solidity — コントラクト側のツールキット

npmではなくGitHubからインストールします。npmまたはHardhatなら： `npm install github:rome-protocol/rome-solidity`。Foundryなら： `forge install rome-protocol/rome-solidity`を追加し、 `@rome-protocol/rome-solidity/=lib/rome-solidity/` を `foundry.toml` に `[profile.default]`の下で `remappings = [...]`として入れて、 `@rome-protocol/rome-solidity/contracts/interface.sol` が解決されるようにします。package.jsonのパッケージ名は `package.json` が `@rome-protocol/rome-solidity`なので、同じimportパスが両方で使えます。

あなたのコントラクトがimportするもの：

* **`contracts/interface.sol`** — それぞれのアドレスに結び付けられたprecompileインターフェース： **CPI** `ICrossProgramInvocation` (`0xFF…08`), **Helper** `IHelperProgram` (`0xFF…09`、ATA/PDA作成、SPL送金、gas↔lamports）、 **Withdraw** `IWithdraw` (`0x42…16`）、そして **System** (`0xFF…07`）。ガス最適化された **キャッシュ済み** ファミリーもここにあります；コントラクトは一貫してどちらか一方のトラックを使います。完全なアドレス表： [Contract Addresses](/ja/rifarensu/contract-addresses.md).
* **SPL/ERC-20ラッパー** — `SPL_ERC20` （CPIベース）と `SPL_ERC20_cached` （devnetで使うキャッシュ済みトラック）；どのSPL mintも、これらを通してすでにERC-20です。
* **オラクルアダプター** (`contracts/oracle/`）— Pyth/Switchboardアダプターの `rome-oracle-gateway` デプロイを `IAggregatorV3Interface`.
* で読み取ります。 `contracts/examples/`.

のSolidity SDKセクションには [Rome SDK](/ja/zhi-pin/rome-sdk.md) 、importパターンとprecompileバインディングがコードで示されています。

## 次に何をするか

* [コアを選ぶ](/ja/ji-ben-gai-nian/choose-your-core.md) — どちら側にロジックを持たせるか。
* [クイックスタート](/ja/hajimeni/quickstart.md) — 最初のコントラクトをデプロイ。
* [create-rome-app](https://github.com/rome-protocol/create-rome-app) — デュアルレーンアプリをスキャフォールド。
* 各リポジトリの `AGENTS.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/hajimeni/ecosystem.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.
