【完全保存版】IPFSを使用したSubscanでのVerifyの方法につい
0 はじめに
1 IPFSの料金について
今回のやり方は、INFURAのIPFSを使用します。
記事執筆時点での料金はこちらになります。
(5GBまでは無料、それ以降は従量課金)
プランは変更になる可能性もあるため、必ず、ご自身でご確認の上、進めてください。
2 Shibuyaトークンの取得について
今回は、Astarのテストトークンである、Shibuyaで行います。(正確には、Shidenのテストトークンですが。)
ご不明の場合は、こちらをご参照ください。
1 INFURAでのAPIキーの作成
では、INFURAのページに行きます。
登録がまだの場合は、事前に登録をお願いします。
「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」から確認ができます。
今回は以上です。
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊