# Bir Akıllı Sözleşmeyi düzleştirin

Bir akıllı sözleşmeyi flatten etmek, ana sözleşmeyi tüm bağımlılıklarıyla (arayüzler, kütüphaneler, devralınan sözleşmeler) tek, bağımsız bir `.sol` dosyada birleştirme işlemidir. Bu, dağıtılmış sözleşmeyi doğrulamayı çok daha kolay hale getirir.

{% hint style="info" %}
Sözleşmenizi dağıtmak için onu flatten etmeniz gerekmez.

Flatten etme, esas olarak kaynak kodunuzu bir blok gezgininde doğrulamak için kullanılan dağıtım sonrası bir adımdır.
{% endhint %}

Chiliz Chain, EVM uyumlu bir blok zinciri olduğundan, bir sözleşmeyi flatten etmek için kullanılabilecek birkaç araç vardır.

{% hint style="info" %}
Orijinal dosyalarınızdan dağıtım yapıp ardından tüm sözleşmeyi doğrulamak için bunları flatten ediyorsanız, derleme ayarlarında hiçbir şeyin değişmediğinden emin olmalısınız.

Aksi takdirde, "Bytecode mismatch" türünde bir hata alma riskiyle karşılaşırsınız ve doğrulama başarısız olur.
{% endhint %}

## Remix IDE ile flatten etme

Dosya Gezgini'nde ana sözleşmenize sağ tıklayın ve menüden "Flatten" seçeneğini seçin.

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

Remix bir `CONTRACT_flattened.sol` sözleşmesini klasörünüzde oluşturacaktır.

## Hardhat ile flatten etme

Aşağıdaki satırı iş akışınıza uyarlayın:

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

{% hint style="warning" %}
Flatten edilmiş bir sözleşme binlerce satır uzunluğunda olabileceğinden, bunlar gerçek geliştirme ve bakım için oldukça kötüdür.

Bunlar yalnızca gerektiğinde, örneğin dağıtılmış sözleşmeyi doğrularken oluşturulmalıdır.
{% 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/tr-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.
