![見出し画像](https://assets.st-note.com/production/uploads/images/115357889/rectangle_large_type_2_c773554fffa252d32051fb369bd365a2.png?width=1200)
【完全保存版】IPFSを使用したSubscanでのVerifyの方法につい
0 はじめに
1 IPFSの料金について
今回のやり方は、INFURAのIPFSを使用します。
記事執筆時点での料金はこちらになります。
(5GBまでは無料、それ以降は従量課金)
![](https://assets.st-note.com/img/1693825967963-ptO6lycRgy.png?width=1200)
プランは変更になる可能性もあるため、必ず、ご自身でご確認の上、進めてください。
2 Shibuyaトークンの取得について
今回は、Astarのテストトークンである、Shibuyaで行います。(正確には、Shidenのテストトークンですが。)
ご不明の場合は、こちらをご参照ください。
1 INFURAでのAPIキーの作成
では、INFURAのページに行きます。
登録がまだの場合は、事前に登録をお願いします。
「IPFS」から「CREATE API KEY」
![](https://assets.st-note.com/img/1693826043501-TILNk8bhqN.png?width=1200)
「IPFS」を選択し、任意の名前を入力した上で、「CREATE」
![](https://assets.st-note.com/img/1693862756577-nHqK7hJ9fu.png?width=1200)
すると、このように、APIキーが作成できました。
APIキーとシークレットは重要な情報なので、決して他人には見せないでください。
![](https://assets.st-note.com/img/1693826089619-AWUG5wiRll.png?width=1200)
2 RemixでのIPFS保管
では、「Remix」で「IPFS」のAPIキーをセットします。
上で取得した、「IPFS」の情報を下のように、保存します。
![](https://assets.st-note.com/img/1693863198789-7f66thuEel.png?width=1200)
3 ERC20コントラクトの作成
では、Remixで新しいコントラクトを作ってみましょう。
今回は「ERC20」を作ってみます。
「+Create」を選択
![](https://assets.st-note.com/img/1693826191142-0Es2pkRiVN.png?width=1200)
「ERC20」を選択します。
![](https://assets.st-note.com/img/1693826210509-CMzh0H0hhf.png?width=1200)
「Mintable」にチェックを入れて、「OK」
![](https://assets.st-note.com/img/1693826239999-Hv9f2S7iR8.png?width=1200)
下のように、「MyToken.sol」のコントラクト名とファイル名を任意のものに変更します。
これは、変更しない場合は、全く同じコードが他の誰かによってverify済みの可能性があるためです。
その場合、推定によってverifyされること(etherscanなど)があり、そうであれば、今回の処理でverifyができたのかがわからないためです。
![](https://assets.st-note.com/img/1693826276998-CtNenLC7Vu.png?width=1200)
4 ファイルのIPFS保管
コンパイルを行い、「Publish on Ipfs」を選択します。
今回使用したファイルを「IPFS」保存します。
![](https://assets.st-note.com/img/1693826368238-8yU01TrX6t.png?width=1200)
すると、下のように、うまく保存できたようです。
![](https://assets.st-note.com/img/1693826428814-RFZgvJzBNa.png?width=1200)
では、デプロイしてみましょう。
「Injected Provider」を選択し、「81(ShibuyaのチェーンID)」を確認した上で、「Deploy」
番号が違う場合は、メタマスクから選択しているチェーンを変更します。
![](https://assets.st-note.com/img/1693826493017-3qb5hU1dwO.png?width=1200)
メタマスクが立ち上がり、下のようになれば、成功です。
コントラクトアドレスは、こちらからコピーします。
![](https://assets.st-note.com/img/1693826527780-6Q53ge0h6n.png?width=1200)
5 Verifyの実施
次に「Subscan」を立ち上げます。
コントラクトアドレスで検索すると、このように、「Contract」が表示されます。
(最初に「contract」が表示されるまで、1分程度かかると思います。)
![](https://assets.st-note.com/img/1693826558598-hPKORE9tCP.png?width=1200)
次に、「artifacts」フォルダ内の「○○_metadata.json」をダウンロードします。
![](https://assets.st-note.com/img/1693826592499-MEcftViDNU.png?width=1200)
構造は、下のようになっています。
「keccak256」の部分で、ファイルをハッシュ化した値が入っており、変更がされていないかを確認できます。
また、「dweb」の部分で、実際のファイルの格納場所を確認することができます。
![](https://assets.st-note.com/img/1693865499499-oa3QA7xVIx.png?width=1200)
例えば、「IPFS」を確認すると、下のようになっています。
![](https://assets.st-note.com/img/1693865719002-u2J37LKOs3.png?width=1200)
今回作ったファイルも下のように保存されています。
![](https://assets.st-note.com/img/1693826672713-CfnuEk9jtn.png?width=1200)
では、「Subscan」で「verify」をしてみましょう。
「Solidity(Standard-JSON-input)」を選択し、先ほどダウンロードしたファイルを選択します。
「Verify & Publish」を選択します。
![](https://assets.st-note.com/img/1693865920298-RSj1cpUBjT.png?width=1200)
なお、コンパイラのバージョンはこちらで確認ができます。
![](https://assets.st-note.com/img/1693865965106-MwBDK4zFKI.png?width=1200)
少し待つと、下のように、Verifyができました。
(私は一度やってうまくいかなかったので、2回やったらできました。)
![](https://assets.st-note.com/img/1693826757646-Z7qmZeCdZ5.png?width=1200)
なお、「IPFS」はこのように保管されていることも「INFURA」から確認ができます。
![](https://assets.st-note.com/img/1693826790175-ptNzxHjEdU.png?width=1200)
今回は以上です。
いいなと思ったら応援しよう!
![ユウキ](https://assets.st-note.com/production/uploads/images/52347520/profile_e7d36b385c74618d7fec56da47f68a35.jpeg?width=600&crop=1:1,smart)