# Aplatir un contrat intelligent

L’aplatissement d’un contrat intelligent consiste à combiner le contrat principal avec toutes ses dépendances (interfaces, bibliothèques, contrats hérités) en un seul fichier autonome `.sol` . Cela facilite grandement la validation du contrat déployé.

{% hint style="info" %}
Il n’est pas nécessaire d’aplatir votre contrat pour le déployer.

L’aplatissement est principalement une étape post-déploiement utilisée pour vérifier votre code स्रोत sur un explorateur.
{% endhint %}

Comme 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, puis choisissez « Flatten » dans le menu.

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

Remix générera un `CONTRACT_flattened.sol` contrat 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" %}
Comme un contrat aplati peut comporter des milliers de lignes, il est terrible pour le développement et la maintenance réels.

Ils ne devraient être générés que lorsque vous en avez besoin, par exemple lors de la vérification du contrat déployé.
{% endhint %}


---

# Agent Instructions: 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-ai/develop/basics/verifiy-a-smart-contract/flatten-a-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.
