📝
スマコンを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をクローンする
demo/src
配下に対象のファイルを設定
2.demo/src配下に、flat化させたいsolidityファイルを追加する
config.json
を設定
3.config.json
{
"inputFilePath": "./demo/src/TestNFT.sol",
"outputDir": "./out"
}
npm start
でflat化
4.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