見出し画像

【完全保存版】IPFSを使用したSubscanでのVerifyの方法につい



0 はじめに

1 IPFSの料金について

今回のやり方は、INFURAIPFSを使用します。

記事執筆時点での料金はこちらになります。

5GBまでは無料それ以降は従量課金

https://docs.infura.io/networks/ipfs/how-to/access-ipfs-content/dedicated-gateways

プランは変更になる可能性もあるため、必ず、ご自身でご確認の上、進めてください。

2 Shibuyaトークンの取得について

今回は、Astarのテストトークンである、Shibuyaで行います。(正確には、Shidenのテストトークンですが。)

ご不明の場合は、こちらをご参照ください。

1 INFURAでのAPIキーの作成

では、INFURAのページに行きます。

登録がまだの場合は、事前に登録をお願いします。

https://app.infura.io/

「IPFS」から「CREATE API KEY」

「IPFS」を選択し、任意の名前を入力した上で、「CREATE」

すると、このように、APIキーが作成できました。

APIキーとシークレット重要な情報なので、決して他人には見せないでください。

2 RemixでのIPFS保管

では、「Remix」「IPFS」APIキーをセットします。

上で取得した、「IPFS」の情報を下のように、保存します。

3 ERC20コントラクトの作成

では、Remixで新しいコントラクトを作ってみましょう。

今回は「ERC20」を作ってみます。

「+Create」を選択

「ERC20」を選択します。

「Mintable」にチェックを入れて、「OK」

下のように、「MyToken.sol」コントラクト名ファイル名を任意のものに変更します。

これは、変更しない場合は、全く同じコード他の誰かによってverify済みの可能性があるためです。

その場合、推定によってverifyされること(etherscanなど)があり、そうであれば、今回の処理でverifyができたのかがわからないためです。

4 ファイルのIPFS保管

コンパイルを行い、「Publish on Ipfs」を選択します。

今回使用したファイルを「IPFS」保存します。

すると、下のように、うまく保存できたようです。

では、デプロイしてみましょう。

「Injected Provider」を選択し、「81(ShibuyaのチェーンID)」を確認した上で、「Deploy」

番号が違う場合は、メタマスクから選択しているチェーンを変更します。

メタマスクが立ち上がり、下のようになれば、成功です。

コントラクトアドレスは、こちらからコピーします。

5 Verifyの実施

次に「Subscan」を立ち上げます。

コントラクトアドレスで検索すると、このように、「Contract」が表示されます。

(最初に「contract」が表示されるまで1分程度かかると思います。)

次に、「artifacts」フォルダ内の「○○_metadata.json」をダウンロードします。

構造は、下のようになっています。

「keccak256」の部分で、ファイルをハッシュ化した値が入っており、変更がされていないかを確認できます。

また、「dweb」の部分で、実際のファイルの格納場所を確認することができます。

例えば、「IPFS」を確認すると、下のようになっています。

今回作ったファイルも下のように保存されています。

では、「Subscan」「verify」をしてみましょう。

「Solidity(Standard-JSON-input)」を選択し、先ほどダウンロードしたファイルを選択します。

「Verify & Publish」を選択します。

なお、コンパイラのバージョンはこちらで確認ができます。

少し待つと、下のように、Verifyができました。

(私は一度やってうまくいかなかったので、2回やったらできました。)

なお、「IPFS」はこのように保管されていることも「INFURA」から確認ができます。

今回は以上です。

サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊