📝
スマコンをExplore(Etherscan, Polyscan)でVerifyする3つの方法
ブロックチェーンの良さであるコードの透明性
ブロックチェーンによる恩恵はいくつかあるが、そのうちの一つにコードの透明があると考える。コードの透明性はブロックチェーン開発者のエコシステムにおける重要な仕組みである。
すべてのコードはExploreでVerifyすべき
Remix Pluginを使う方法(ETHのみ)
EthereumでのVerifyであれば一番簡単でおすすめの方法です。ユーザーもAPIキーと初期値をABI encodeしたものを入れるだけなので、敷居が低いと感じています。
1.EtherscanでAPIキーを取得
2.RemixでEtherscanのpluginを導入

3.EtherscanのAPIキーを入力

4.コントラクトアドレスやネットワークを設定してVerify

@poanet/solidity-flattenerを使う方法(ETH・MATIC・EVM互換)
EtherscanやPolyscanからファイルを設定して手動でVerifyする方法です。ファイルを設定する際に依存関係の設定がめんどくさいので、すべてのimportを1ファイルに展開して1つのsolファイルとして、設定してverifyするのがおすすめです。
1.以下のgithubをクローンする
2.demo/src配下に対象のファイルを設定
demo/src配下に、flat化させたいsolidityファイルを追加する
3.config.jsonを設定
config.json
{
"inputFilePath": "./demo/src/TestNFT.sol",
"outputDir": "./out"
}
4.npm startでflat化
5.Explore(Etherscanやpolyscan)からVerify画面に移動

6.ファイル設定はsingleファイルへ

7.flat化したコードを追加してVerify

(最近不調)Remix Flattenを使う方法(ETH・MATIC・EVM互換)
上記のfalt化させてVerifyする方法は、Remixを使用するのが一番簡単でした、
1.Remixからコードをflat化

Remixのファイルを右クリックしてFlattenを選択
2.Explore(Etherscanやpolyscan)からVerify画面に移動

3.ファイル設定はsingleファイルへ

4.flat化したコードを追加してVerify

(おまけ)とりあえず雑にコントラクトが叩きたい人向けにおすすめ
VerifyされてないけどABIは持っている場合に雑にコントラクトを叩きたい人向けに、友人が便利なツールを開発しているので紹介
Metamaskを接続して、コントラクトアドレスとABIを入れることで雑にコントラクトを叩くことができます。

ABIを入れた状態で(なんならABIを入れなくてもok)他の人に共有することもできるので、メンバー間でコントラクトを叩ける環境を準備するのにおすすめです。
Discussion