> 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/resources/faq.md).

# FAQ

Rome Protocol에 대한 자주 묻는 질문 — Rome은 브리지인가 롤업인가, Solidity 호환성, 오라클, 가스 토큰, 그리고 Solana 상호운용.

## 일반

**Rome 프로토콜이란 무엇인가요?** Rome은 Solana 런타임 내부에서 기본적으로 실행되는 EVM 실행 환경입니다. Solidity 컨트랙트는 Solana의 모든 프로그램에 직접 CPI 접근을 통해 Solana에 배포됩니다. 참조 [Rome이란 무엇인가요?](/ko/getting-started/what-is-rome.md)

**Rome은 브리지인가요?** 아니요. Rome EVM은 Solana의 런타임 내부에서 일급 프로그램으로 실행됩니다. 별도의 체인 간 메시지 릴레이가 없습니다. EVM 상태가 곧 Solana 상태입니다.

**Rome은 롤업인가요?** Rome EVM 체인(Rubicon 및 Hadrian)은 아닙니다. 블록 인덱서(Hercules)가 지갑과 탐색기를 위한 Ethereum 호환 블록을 생성하지만, EVM 실행은 별도의 롤업 체인이 아니라 Solana 프로그램 내부에서 이루어집니다. 그 [Rome ZK EVM](/ko/rome-zk-evm/zk-evm.md) 은 별도의 제품입니다. 운영자는 롤업을 실행해 배치를 Solana에 게시하고 그곳에서 증명된 루트를 정산합니다.

## 개발

**기존 Solidity 컨트랙트를 사용할 수 있나요?** 네. 표준 Solidity 컨트랙트는 변경 없이 Rome에 배포됩니다. 컨트랙트가 Chainlink 오라클을 사용한다면, Oracle Gateway가 동일한 `AggregatorV3Interface`를 제공합니다. 사용자에게 새롭게 필요한 것은 하나뿐이고, 컨트랙트에는 아닙니다. 래퍼가 지갑의 토큰을 이동하기 전에, 해당 지갑이 래퍼에 한 번 권한을 부여해야 합니다(`approve_spl` Helper 프리컴파일에서). \`transferFrom\`으로 래퍼 토큰을 가져오는 컨트랙트는 `transferFrom` 각 사용자가 이를 수행해야 합니다. 참조 [지갑당 1회 권한 부여](/ko/core-concepts/token-interop.md#one-time-grant-per-wallet).

**어떤 Solidity 버전을 사용해야 하나요?** 0.8.28을 권장합니다(Rome Solidity SDK와 일치). 이전 버전도 작동합니다.

**Hardhat을 사용할 수 있나요? Foundry는요?** 둘 다 사용할 수 있습니다. Rome RPC URL과 체인 ID로 네트워크를 설정하세요. 참조 [Solidity 배포](/ko/developer-guides/deploy-solidity.md).

**MetaMask를 사용할 수 있나요?** 네. 적절한 RPC URL과 체인 ID를 사용해 MetaMask에 Rome을 사용자 정의 네트워크로 추가하세요. 참조 [빠른 시작](/ko/getting-started/quickstart.md).

**트랜잭션은 얼마나 많은 가스를 사용하나요?** 체인에 문의하세요: `eth_estimateGas`를 사용하세요. 표준 도구가 그러하듯이 21,000을 하드코딩하지 마세요. 쓰기 작업 비용의 대부분은 한 번도 사용된 적 없는 수신자, 새 토큰 계정, 배포된 컨트랙트 같은 Solana 계정을 생성하는 데서 발생하며, 추정치에 그 비용이 포함됩니다. Hadrian에서 측정한 결과, 한 번도 사용된 적 없는 주소로의 네이티브 전송은 1,086,961 가스로 추정되었고, 기존 주소로의 전송은 21,000으로 추정되었으며 실제 사용량은 10,001이었습니다. Rome은 트랜잭션이 실제로 사용하는 가스만 청구하며, 이러한 측정에서 추정치를 초과한 적은 없었습니다. Solana 프로그램으로 호출할 때는 SDK의 1.3배 패딩처럼 여유분을 더하고, 추정치 자체가 되돌려질 경우 가스 상한을 설정하세요. 참조 [JSON-RPC 지원](/ko/reference/json-rpc.md).

**Solidity에서 Solana 프로그램을 어떻게 호출하나요?** Rome Solidity SDK를 통해 CPI 프리컴파일(`0xFF...08`)을 사용하세요. 참조 [EVM에서 Solana 호출](/ko/developer-guides/call-solana-from-evm.md).

## 성능

**트랜잭션 최종 확정 시간은 얼마나 걸리나요?** 트랜잭션은 약 1개의 Solana 슬롯, 즉 1초의 일부 안에 확인됩니다. 이는 Rome 체인에서의 확인이며, Solana에서의 최종 확정은 더 오래 걸립니다.

**컴퓨트 예산은 얼마인가요?** 원자적 트랜잭션당 약 140만 컴퓨트 유닛입니다. 이를 초과하는 작업은 반복 모드(여러 Solana 트랜잭션으로 분할)로 처리됩니다. 참조 [컴퓨트 예산](/ko/core-concepts/compute-budget.md).

## 토큰

**Rome은 어떤 가스 토큰을 사용하나요?** 각 체인은 자체 가스 토큰을 선택합니다. 즉, Meteora 풀을 통해 가격이 책정되는 어떤 SPL 토큰이든 가능합니다. 공개 체인(Rubicon 및 Hadrian)은 USDC를 가스로 사용합니다. Hadrian에서는 테스트 USDC이고, [Rubicon](/ko/networks/rubicon.md) 여기서는 실제 USDC입니다.

**Rome에서 ERC-20 토큰은 어떻게 작동하나요?** Rome의 ERC-20 토큰은 SPL 토큰 위에 얹힌 래퍼입니다. 지갑 주소의 경우, `balanceOf()` 는 Solana의 SPL 토큰 계정을 읽습니다. 컨트랙트 주소의 경우, 컨트랙트의 토큰이 래퍼의 토큰 계정에 있기 때문에 래퍼가 자체 원장에 잔액을 보관합니다. `allowance()` 는 Solana delegate와 별개로 EVM 저장소에 유지되며, 래퍼는 1회 권한 부여 후 해당 사용자의 SPL delegate로서 사용자의 토큰을 이동합니다. 참조 [토큰 상호운용성](/ko/core-concepts/token-interop.md).

**Solana 측 입금 또는 브리지 전송이 "SOL이 부족합니다"로 실패하지만, 내 지갑에는 자금이 있습니다 — 왜 그런가요?** Rome의 공개 테스트넷인 Hadrian은 Solana Devnet에 정산되므로, Solana 지갑도 일치하는 네트워크 모드여야 합니다(Rubicon은 Solana 메인넷에 정산됩니다). Phantom에서는 설정 → 개발자 설정으로 이동해 네트워크를 Devnet으로 설정한 상태에서 Testnet Mode를 활성화한 다음, 두 지갑의 연결을 끊었다가 다시 연결하고 재시도하세요. 입금 후 토큰 잔액이 나타나지 않으면 토큰을 지갑에 수동으로 가져오세요.

## 인프라

**직접 노드를 실행해야 하나요?** 아니요 — 공개 체인의 RPC에 연결하세요( [네트워크](/ko/networks/networks.md)). 자체 체인을 운영한다는 것은 Proxy와 Hercules를 운영하는 것을 의미합니다.

**Rome에는 어떤 데이터베이스가 필요하나요?** PostgreSQL입니다. Hercules는 블록 인덱싱에, Proxy는 블록 조회에 이를 사용합니다.

**Rome을 로컬에서 실행할 수 있나요?** 즉시 사용할 수 있는 로컬 스택은 아닙니다. 공개 제공 버전은 없습니다. 공개 체인으로 개발하세요 — [빠른 시작](/ko/getting-started/quickstart.md) 는 몇 분 안에 Hadrian(테스트넷)에 배포됩니다.


---

# 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/resources/faq.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.
