> 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/fr/developper/notions-de-base/verifier-un-smart-contract/aplatir-un-smart-contract.md).

# Aplatir un smart contract

Aplatir un smart contract est le processus qui consiste à combiner le contrat principal avec toutes ses dépendances (interfaces, bibliothèques, contrats hérités) en un seul fichier `.sol` autonome. Cela facilite grandement la validation du contrat déployé.

{% hint style="info" %}
Vous n'avez pas besoin d'aplatir votre contrat pour le déployer.

L'aplatissement est principalement une étape post-déploiement utilisée pour vérifier votre code source sur un explorateur.
{% endhint %}

Puisque Chiliz Chain est une blockchain compatible EVM, plusieurs outils sont disponibles pour aplatir un contrat.

{% hint style="info" %}
Si vous déployez à partir de vos fichiers originaux, puis les aplatissez pour vérifier l'ensemble du contrat, vous devez vous assurer que rien ne change dans les paramètres de compilation.

Sinon, vous risquez d'obtenir une erreur du type "Bytecode mismatch", et la vérification échouera.
{% endhint %}

## Aplatir avec Remix IDE

Dans l'Explorateur de fichiers, faites un clic droit sur votre contrat principal, et choisissez "Flatten" dans le menu.

<figure><img src="/files/YcKNqnMPR6hvjRL2AR6b" alt="" width="375"><figcaption></figcaption></figure>

Remix générera un contrat `CONTRACT_flattened.sol` dans votre dossier.

## Aplatir avec Hardhat

Adaptez la ligne suivante à votre flux de travail :

```bash
npx hardhat flatten contracts/MyContract.sol > Flattened.sol
```

{% hint style="warning" %}
Parce qu'un contrat aplati peut contenir des milliers de lignes, ils sont désastreux pour le développement et la maintenance réels.

Ils ne doivent être générés qu'en cas de besoin, par exemple lors de la vérification du contrat déployé.
{% endhint %}


---

# 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:

```
GET https://docs.chiliz.com/fr/developper/notions-de-base/verifier-un-smart-contract/aplatir-un-smart-contract.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
