> 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/reference/contract-addresses.md).

# 컨트랙트 주소

프리컴파일, 프로그램 ID, 그리고 체인별 배포된 계약 주소.

프리컴파일 주소는 Rome EVM 프로그램에 내장되어 있으며 모든 체인에서 동일합니다. 체인별로 배포된 컨트랙트는 **에서 표준인** [**Rome 레지스트리**](https://github.com/rome-protocol/rome-registry/tree/main/chains)입니다. 아래 Hadrian 표에는 레지스트리(릴리스 v0.2.0)가 표준으로 표시한 주요 컨트랙트가 나열되어 있습니다. `live`; 레지스트리는 단일 진실의 원천이며, 이 페이지가 작성된 이후 컨트랙트가 다시 배포될 수 있습니다. 다음을 참조하세요 [컨트랙트 목록 읽기](#reading-the-contracts-list) 코드에서 live 주소를 선택하는 방법은.

## 프리컴파일(모든 체인)

메인넷과 동등한 의미를 갖는 표준 이더리움 프리컴파일:

| 프리컴파일      | 주소                                           |
| ---------- | -------------------------------------------- |
| ecrecover  | `0x0000000000000000000000000000000000000001` |
| SHA-256    | `0x0000000000000000000000000000000000000002` |
| RIPEMD-160 | `0x0000000000000000000000000000000000000003` |
| identity   | `0x0000000000000000000000000000000000000004` |
| modexp     | `0x0000000000000000000000000000000000000005` |
| BN254 덧셈   | `0x0000000000000000000000000000000000000006` |
| BN254 곱셈   | `0x0000000000000000000000000000000000000007` |
| BN254 페어링  | `0x0000000000000000000000000000000000000008` |
| blake2f    | `0x0000000000000000000000000000000000000009` |

Solana에 접근하기 위한 Rome 비-EVM 프리컴파일(인터페이스는 [`rome-solidity/contracts/interface.sol`](https://github.com/rome-protocol/rome-solidity/blob/master/contracts/interface.sol)):

| 프리컴파일          | 주소                                           | 인터페이스                     | 목적                               |
| -------------- | -------------------------------------------- | ------------------------- | -------------------------------- |
| 시스템            | `0xFF00000000000000000000000000000000000007` | `ISystemProgram`          | PDA 파생, base58 변환                |
| CpiProgram     | `0xFF00000000000000000000000000000000000008` | `ICrossProgramInvocation` | 임의 CPI + 교차 상태 읽기                |
| HelperProgram  | `0xFF00000000000000000000000000000000000009` | `IHelperProgram`          | ATA/PDA 생성, SPL 전송, gas↔lamports |
| 출금             | `0x4200000000000000000000000000000000000016` | `IWithdraw`               | EVM에서 Solana로 SOL/SPL 출금         |
| SystemCached   | `0xFF00000000000000000000000000000000000004` | `ISystemCached`           | 캐시 경로 System 헬퍼                  |
| SplCached      | `0xFF00000000000000000000000000000000000005` | `ISplCached`              | 캐시 경로 SPL 작업                     |
| ASplCached     | `0xFF00000000000000000000000000000000000006` | `IAssociatedSplCached`    | 캐시 경로 ATA 작업                     |
| WithdrawCached | `0xFF0000000000000000000000000000000000000b` | `IWithdrawCached`         | 캐시 경로 출금                         |

컨트랙트는 하나의 경로만 사용합니다 — 레거시 (`SplCached` 비활성) 또는 캐시됨 — 을 일관되게 사용하며; 두 가지는 하나의 호출 안에서 섞이지 않습니다.

## 프로그램 ID

rome-evm 프로그램(EVM을 실행하는 Solana 프로그램), Rome 네트워크별:

| 네트워크          | 프로그램 ID                                       |
| ------------- | --------------------------------------------- |
| Hadrian(테스트넷) | `RPTWwELXAY4KC9ZPHhaxp7Sq1hHtU3HNEgLbSegCcWf` |
| Rubicon(메인넷)  | `RomePq9X3iAoTr813HR7uRarafFDUJty6GdiEceYpzX` |

잘 알려진 Solana 프로그램(Solana의 어느 곳에서나 동일):

| 프로그램              | ID                                             |
| ----------------- | ---------------------------------------------- |
| SPL Token         | `TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA`  |
| SPL Token-2022    | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb`  |
| 연결된 토큰            | `ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL` |
| 시스템 프로그램          | `11111111111111111111111111111111`             |
| Metaplex 토큰 메타데이터 | `metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s`  |

## Solana devnet의 Rome ZK EVM

이 v0.3.0 프로그램은 Solana devnet에서 운영자에 의해 운영되는 ZK EVM 체인이 공유합니다.  [태그가 지정된 프로그램 목록](https://github.com/rome-protocol/solana-zk-evm/blob/v0.3.0/deploy/rollup/programs.devnet.json) 이 ID들의 출처입니다.

| 프로그램          | ID                                             |
| ------------- | ---------------------------------------------- |
| zk-inbox      | `28948c2Qt1QtG2XJA823ytzCfj7U5cNNm3FuM2KoXsAa` |
| zk-settlement | `8anSjJZu5vgfNbESPLoKudVBNEraDZASwKJnkDLTCaGo` |
| veritas       | `2cLGd9FKC7TiZrEHCvpw291AwXNcGgP9nDT4W3PHLe5k` |
| zk-bridge     | `27TbMDUyVynpFpqeKygpUMcDzWKHfW4k9aRN5yCysLEQ` |

노드 이미지: `ghcr.io/rome-protocol/rome-zk-evm:v0.3.0`.

## 배포된 컨트랙트 — Hadrian(테스트넷, 200010)

다음에서 가져온 주요 컨트랙트, `live` 항목 [레지스트리](https://github.com/rome-protocol/rome-registry/tree/main/chains/200010-hadrian) 들에서 가져옴(v0.2.0). 전체 집합(SPL 래퍼, Uniswap V2/V3/V4, Aave, 오라클 피드)은 레지스트리에 있습니다.

| 계약                   | 주소                                           |
| -------------------- | -------------------------------------------- |
| ERC20SPLFactory      | `0x37c13e4ff21fb914eb24014dcbd0f8dbeaa31078` |
| Multicall3           | `0xb7180d3c46632b582b99d9af3daae394fab9ae4c` |
| OracleAdapterFactory | `0x52b008771fc95b4674a4f3533570b3d223f27f68` |
| BatchReader          | `0x2869f0a96572e7fb15036656e9a32fd17346499b` |
| RomeBridgeWithdraw   | `0x6eeacb4e6006b7a29c8141f69b6c75346dedec73` |
| MeteoraDAMMv1Factory | `0xd68b355f62643de0ec40243cba8f699f959ea3c4` |
| UniswapV3Factory     | `0xD9E323088561D40267767b52252595ea9cF1D5bD` |
| UniswapV4PoolManager | `0x8a281Be9B5173B2F52328437eAa0d272791707f7` |

## 배포된 컨트랙트 — Rubicon(메인넷, 7531)

주요 컨트랙트(공개 레지스트리는 오늘 Hadrian 집합을 게시하며; Rubicon 집합은 여기에 나열됩니다). 래퍼: `wUSDC` `0x0952d233b0c254cd375f3bfb3e5869c1a906f9b3`, `wETH` `0x01e8b3573da1d4b7b4b1ce0932cf07c8af0c92e9`, `wSOL` `0xc4e29e0f726a906e93277cbbc37bf27a9848a113`.

| 계약                              | 주소                                           |
| ------------------------------- | -------------------------------------------- |
| ERC20SPLFactory                 | `0x4068aa7482dc15e9f78e22fbe0f884531c83ae6e` |
| Multicall3                      | `0xd6e0b13ea70aea0d44db083544f01d8b7693a759` |
| OracleAdapterFactory            | `0x6a1340dd86c3951b6f13d9001b3951d56a2fe581` |
| BatchReader                     | `0x580dc0ecb226530ee8a90b57e0f0cd2555fb4f0f` |
| RomeBridgeWithdraw              | `0xceea191761cdba2fc589996d7dd096e57db29c84` |
| WETH9                           | `0x8dc8bf908efa4511f71a9e2ed95f46a70507f1ae` |
| UniswapV2Factory                | `0x23af4d2065d24b42a1a17f22b963c9216d0a1dc2` |
| UniswapV2Router                 | `0x445d7af7888db44a4904b63336cc43446dfb37f7` |
| UniswapV3Factory                | `0x02aed7762fdc8bae826e7ee0ac2d2e1f754ba025` |
| SwapRouter (V3)                 | `0x680b7645c63421e33584a02aca91be6642d3d034` |
| NonfungiblePositionManager (V3) | `0xfb132adf6b7d811408f3639e91c8f638bddd6123` |
| QuoterV2 (V3)                   | `0x1d68d09dcc3a8c1b9aa8f0e2b138205c04bad4a7` |

## 컨트랙트 목록 읽기

레지스트리의 각 체인 폴더에는 `contracts.json`가 있습니다. 이는 컨트랙트 목록입니다. 각 항목에는 `이름` 그리고 `versions[]` 목록이 있으며, 각 버전에는 `address`,  `버전` 그리고 `status` 의 `live`, `deprecated` 또는 `retired`이 있습니다. 다시 배포된 컨트랙트는 이전 버전을 목록에 유지하므로, 첫 번째나 마지막 항목이 반드시 사용해야 하는 것은 아닙니다. 다음의 상태인 버전을 선택하세요 `status` 인 것을 선택하세요 `"live"`몇몇 항목(Hadrian의 Aave 컨트랙트)은 live 버전이 두 개 이상이므로 `status` 으로 필터링하고 첫 번째 일치 항목을 가져오기보다 의도적으로 선택하세요.

```ts
import { getContracts } from "@rome-protocol/registry";
const factory = getContracts(200010).find((c) => c.name === "ERC20SPLFactory");
const address = factory.versions.find((v) => v.status === "live").address;
```

`getContracts(chainId)` 는 해당 체인의 목록을 반환하며, 또는 `null` 해당 체인이 게시되지 않았으면 `RomeswapMinimalRouter` 중 하나이므로, 다음을 확인하세요 `find` 가 무언가를 찾았는지 확인한 다음 읽으세요 `.address`레지스트리 패키지는 npm이 아니라 GitHub에서 설치합니다: `npm install github:rome-protocol/rome-registry#v0.2.0`.

## 환경

| 환경            | 체인 ID    | RPC                                | 상태   |
| ------------- | -------- | ---------------------------------- | ---- |
| Rubicon(메인넷)  | `7531`   | `rubicon.mainnet.romeprotocol.xyz` | 운영 중 |
| Hadrian(테스트넷) | `200010` | `hadrian.testnet.romeprotocol.xyz` | 운영 중 |


---

# 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/reference/contract-addresses.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.
