> 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/pt-br/recursos/faq.md).

# FAQ

Perguntas frequentes sobre a Rome Protocol — a Rome é uma bridge ou um rollup, compatibilidade com Solidity, oráculos, tokens de gás e interoperabilidade com a Solana.

## Geral

**O que é o Rome Protocol?** Rome é um ambiente de execução EVM rodando nativamente dentro do runtime do Solana. Contratos em Solidity são implantados no Solana com acesso direto via CPI a todos os programas do Solana. Veja [O que é Rome?](/pt-br/introducao/what-is-rome.md)

**Rome é uma ponte?** Não. O Rome EVM roda dentro do runtime do Solana como um programa de primeira classe. Não há repasse de mensagens entre cadeias separadas. O estado da EVM É o estado do Solana.

**Rome é um rollup?** Não as cadeias Rome EVM (Rubicon e Hadrian). Um indexador de blocos (Hercules) produz blocos compatíveis com Ethereum para carteiras e exploradores, mas a execução EVM acontece dentro de um programa do Solana — não em uma cadeia rollup separada. O [Rome ZK EVM](/pt-br/rome-zk-evm/zk-evm.md) é um produto diferente: operadores executam rollups que enviam lotes para o Solana e liquidam raízes comprovadas lá.

## Desenvolvimento

**Posso usar meus contratos em Solidity existentes?** Sim. Contratos padrão em Solidity são implantados sem alterações no Rome. Se seus contratos usam oráculos Chainlink, o Oracle Gateway fornece o mesmo `AggregatorV3Interface`. Uma coisa é nova para os usuários, não para o contrato: antes que um wrapper possa mover os tokens de uma carteira, essa carteira concede permissão ao wrapper uma vez (`approve_spl` no pré-compilado Helper). Um contrato que puxa um token wrapper com `transferFrom` precisa que cada usuário tenha feito isso. Veja [Concessão única por carteira](/pt-br/conceitos-principais/token-interop.md#one-time-grant-per-wallet).

**Qual versão do Solidity devo usar?** 0.8.28 é recomendada (corresponde ao Rome Solidity SDK). Versões anteriores funcionam.

**Posso usar Hardhat? Foundry?** Ambos funcionam. Configure sua rede com a URL RPC do Rome e o chain ID. Veja [Implante em Solidity](/pt-br/guias-do-desenvolvedor/deploy-solidity.md).

**Posso usar MetaMask?** Sim. Adicione o Rome como uma rede personalizada no MetaMask com a URL RPC e o chain ID apropriados. Veja [Início rápido](/pt-br/introducao/quickstart.md).

**Quanto gás uma transação usa?** Pergunte à cadeia: use `eth_estimateGas`, como as ferramentas padrão fazem, e nunca fixe 21.000. A maior parte do custo de uma gravação é criar contas do Solana, como um destinatário nunca usado, uma nova conta de token ou um contrato implantado, e a estimativa inclui isso. Medido no Hadrian, uma transferência nativa para um endereço nunca usado estimou 1.086.961 de gás, enquanto uma transferência para um endereço existente estimou 21.000 e usou 10.001. O Rome cobra o gás que uma transação realmente usa, o que nessas medições nunca foi mais do que a estimativa. Para chamadas em programas do Solana, adicione uma margem, como o preenchimento de 1,3x do SDK faz, e defina um teto de gás se a própria estimativa reverter. Veja [Suporte a JSON-RPC](/pt-br/referencia/json-rpc.md).

**Como faço para chamar programas do Solana a partir de Solidity?** Use o pré-compilado CPI (`0xFF...08`) por meio do Rome Solidity SDK. Veja [Chamar Solana a partir da EVM](/pt-br/guias-do-desenvolvedor/call-solana-from-evm.md).

## Desempenho

**Qual é o tempo de finalização da transação?** Uma transação é confirmada em cerca de um slot do Solana, uma fração de segundo. Isso é confirmação na cadeia Rome, não finalização no Solana, que leva mais tempo.

**Qual é o orçamento de computação?** \~1,4 milhão de unidades de computação por transação atômica. Operações que excedem isso usam modo iterativo (dividido em várias transações do Solana). Veja [Orçamento de computação](/pt-br/conceitos-principais/compute-budget.md).

## Tokens

**Qual token de gás o Rome usa?** Cada cadeia escolhe seu próprio token de gás — qualquer token SPL, precificado por meio de pools da Meteora. As cadeias públicas (Rubicon e Hadrian) usam USDC como gás. No Hadrian, é USDC de teste; no [Rubicon](/pt-br/redes/rubicon.md) é USDC real.

**Como os tokens ERC-20 funcionam no Rome?** Tokens ERC-20 no Rome são wrappers sobre tokens SPL. Para um endereço de carteira, `balanceOf()` lê a conta de token SPL no Solana. Para um endereço de contrato, o wrapper mantém o saldo em seu próprio livro-razão, porque os tokens do contrato ficam na conta de token do wrapper. `allowance()` é mantido no armazenamento da EVM, à parte dos delegates do Solana, e o wrapper move os tokens de um usuário como delegate SPL desse usuário após a concessão única. Veja [Interoperabilidade de tokens](/pt-br/conceitos-principais/token-interop.md).

**Uma transferência de depósito ou ponte do lado do Solana falha com "SOL insuficiente", mas minha carteira tem fundos — por quê?** A testnet pública do Rome, Hadrian, faz a liquidação no Devnet do Solana, então sua carteira Solana precisa estar no modo de rede correspondente (Rubicon faz a liquidação na mainnet do Solana). No Phantom, abra Configurações → Configurações de Desenvolvedor → ative o Modo Testnet com a rede definida como Devnet, depois desconecte e reconecte ambas as carteiras e tente novamente. Se o saldo de um token não aparecer após um depósito, importe o token manualmente na sua carteira.

## Infraestrutura

**Preciso executar meu próprio nó?** Não — conecte-se ao RPC de uma cadeia pública (veja [Redes](/pt-br/redes/networks.md)). Executar sua própria cadeia significa operar o Proxy e o Hercules.

**De quais bancos de dados o Rome precisa?** PostgreSQL, usado pelo Hercules para indexação de blocos e pelo Proxy para consultas de blocos.

**Posso executar o Rome localmente?** Não como um stack local pronto para uso; não existe um público. Desenvolva contra uma cadeia pública — o [Início rápido](/pt-br/introducao/quickstart.md) se implanta no Hadrian (testnet) em minutos.


---

# 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/pt-br/recursos/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.
