> For the complete documentation index, see [llms.txt](https://chainide.gitbook.io/chainide-chinese/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chainide.gitbook.io/chainide-chinese/4.-chainide-quan-ti-bu-ju/4.7.-cha-jian-xi-tong-mo-kuai/2.7.2.-chainide-flattener-plugin.md).

# 2.7.2. ChainIDE Flattener Plugin

{% embed url="<https://www.youtube.com/watch?t=280s&v=NM7kibCj73Q>" %}

如果您是智能合约新手开发者，尝试在诸如Etherscan.io之类的平台上验证代码时，遇到文件组织方面的问题，ChainIDE 的 Flattener 插件可以帮助您简化验证流程，确保您的智能合约组织得当并可验证。

要使用 ChainIDE 的 Flattener 插件，首先，导航到 ChainIDE 平台的 “PLUGIN Manager” 部分。从那里，选择 Flattener 插件并点击“安装”以将其添加到您的工作区。一旦您激活了Flattener插件，您可以使用它来创建一个扁平化的智能合约文件。要做到这一点，只需单击您想要扁平化的智能合约文件，然后从按钮中选择“Flatten Contract”。这将在“EXPLORER”面板下生成一个扁平化文件，扁平化文件将原始文件中的所有导入合并为一个单独的合同。然后，可以将扁平化文件用于在诸如etherscan.io之类的平台上进行验证，或者用于部署到区块链网络上。

以下是创建智能合约扁平化文件的步骤：

1. 激活 Flattener 插件

<figure><img src="/files/78lQLfldwzBxUXEy1Qdu" alt=""><figcaption></figcaption></figure>

2. 选择您要扁平化的合约文件

> 在选择合约文件前，你需要先编译该合约

<figure><img src="/files/MqeN36VKKJrptqKnomhN" alt=""><figcaption></figcaption></figure>

3. 将扁平化的文件保存到“Explorer”面板下的目录中

<figure><img src="/files/Kzy24XJIgdHLjJ6hWpNE" alt=""><figcaption></figcaption></figure>

4. 查看扁平化的文件并用它来验证一个智能合约

<figure><img src="/files/RE78qoszgxmtpsbXSlGx" alt=""><figcaption></figcaption></figure>

总的来说，使用 ChainIDE 的 Flattener 插件可以帮助简化智能合约的开发和验证过程，使您更容易确保您的代码得到正确组织并易于验证。

5. 要验证一个智能合约，你需要访问对应的区块链浏览器（如：etherscan）；部署完合约后，点击下图按钮自动跳转到对应合约的浏览器页面。

<figure><img src="/files/WXDk4W0AadLagkiBzeXX" alt=""><figcaption></figcaption></figure>

6. 点击 Contract，再点击 contract 下的 Verify and Publish 。

<figure><img src="/files/rveX1FVqGJlBxssDT6e3" alt=""><figcaption></figcaption></figure>

7. 一旦你点击 Verify and Publish，你将被要求提供以下内容。

* Contract Address: 你想验证的已部署智能合约的地址
* Compiler Type: 选择你想验证的是单文件还是多文件
* Compiler Version: 你之前用来编译该合约的编译器版本
* License: 你的源代码所使用的开源许可证类型

<figure><img src="/files/g9Wrt0OHU2sFpewFVZQP" alt=""><figcaption></figcaption></figure>

8. 之后，你需要粘贴你在步骤3中创建的扁平化文件，并确定是否在编译过程中开启过 Optimization，点击确认，你的智能合约就会被验证。

<figure><img src="/files/rPe5yMCVe2idvmfoUG9U" alt=""><figcaption></figcaption></figure>

9. 如果你的智能合约没有问题，它将被验证，你将能够看到类似于下面显示的图像。

<figure><img src="/files/lzejA8CAQ2vvX8B5V0IW" alt=""><figcaption></figcaption></figure>
