> For the complete documentation index, see [llms.txt](https://docs.chiliz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chiliz.com/pt-br/desenvolver/basico/verificar-smart-contract/boas-praticas-verificacao.md).

# Boas práticas de verificação

Verificar smart contracts na Chiliz Chain requer uma combinação de práticas padrão de EVM e atenção a detalhes específicos da rede.

De fato, como a Chiliz Chain opera com um mecanismo de consenso Proof of Staked Authority (PoSA) com padrões específicos como CAP-20 e versionamento específico de EVM, simplesmente portar código do Ethereum pode não funcionar.

## Entenda o padrão CAP-20

Embora a Chiliz Chain seja compatível com EVM, o ecossistema depende do padrão CAP-20 para tokens. Esta é a implementação específica da Chiliz do ERC-20.

Veja os detalhes do token aqui:

{% content-ref url="/pages/5eLqT44Zh0gTgO4V5esy" %}
[CAP-20](/pt-br/aprender/glossario/cap-20.md)
{% endcontent-ref %}

Se você está desenvolvendo um Fan Token ou um ativo destinado a se comportar como um, deve definir explicitamente os decimais como 0. Tokens DeFi padrão podem usar 18.

## Configure o compilador e o EVM

Os validadores da Chiliz Chain são otimizados para versões específicas de EVM. Usar configurações de "última geração" pode levar a falhas de implantação ou comportamento inesperado.

Use estas versões:

* Solidity: `0.8.24`.
* EVM: `shanghai` ou `paris`.

## Otimize para gas

A Chiliz Chain impõe um preço mínimo de gas elevado em Gwei para evitar spam e garantir a sustentabilidade dos validadores.

Desde o hard fork Dragon8, a Chiliz Chain implementa EIP-1559, mas com uma **taxa base mínima de 2.500 gwei**. Isso significa que código não otimizado é significativamente mais caro para seus usuários aqui do que em outras redes.

Portanto, otimize seu contrato para uso de armazenamento (a operação mais cara):

* Agrupe variáveis `uint128`, `uint64` ou `bool` próximas umas das outras para que caibam em um único slot de armazenamento de 32 bytes.
* Use `calldata` em vez de `memory` para argumentos de funções somente leitura (funções externas) para economizar gas durante a execução.

{% hint style="success" %}
Instale o `hardhat-gas-reporter` e configure-o com as configurações específicas de gas da Chiliz para ver o custo real em CHZ antes de implantar.
{% endhint %}

## Sempre teste na Spicy

Nunca assuma equivalência com a Mainnet baseando-se na sua experiência com Ethereum. Você deve validar as interações com o consenso PoSA da Chiliz na Spicy Testnet antes de mover para a Chiliz Chain Mainnet.

Veja os detalhes de conexão aqui:

{% content-ref url="/pages/ZevPlcSuYYI0jSH6JbRL" %}
[Conectar à Chiliz Chain](/pt-br/desenvolver/basico/conectar-a-chiliz-chain.md)
{% endcontent-ref %}


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.chiliz.com/pt-br/desenvolver/basico/verificar-smart-contract/boas-praticas-verificacao.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
