Verifyしてみよう
目次 [hide]
Verifyとは?
EtherScan やPolygonScan というサイトでは、コントラクトアドレスやウォレットアドレスを指定することで、その中の資金やトランザクションの履歴を確認することができます。
デプロイされたコントラクトの内容を「Verify(検証)」することで、これらのサイト上でコードの内容が見れるようになったり、読み書きの機能が使えるようになります。
コントラクトをVerifyすることは、中身が本当に信頼できるコードになっているかを確認することができる「透明性」をユーザに提供することに等しく、信頼性の面からも推奨されています。
必要な情報の取得
- コントラクトアドレス
- ソースコードすべて
- 入力フィールドの情報
1.コントラクトアドレスの取得
「DEPLOY」画面の「Deployed Contracts」を確認してみましょう。
デプロイ済みのコントラクト名の横にコピーボタンがあるので、これをクリックするとコントラクトアドレスを取得することができます。

2. ソースコードの取得
続いてソースコードですが、これは.sol
ファイルを開いて、中身をまるっとコピーすればOKです。

3. 入力フィールド情報の取得
「DEPLOY」画面の「transact」ボタンの横にコピーボタンがあるので、こちらをクリックしてみましょう。ただし、こちらはすべてを使うわけではないので、少し作業が必要です。

VSCodeにテキトーなファイルを作成して、コピーした内容を貼り付けて確認してみましょう。改行されず全体が見れない場合は、一度閉じてから開き直してください。
とてーーーも長い文字列が並んでいますが、後半部分の「0」が大量に連続している箇所から文字列の最後までが必要な箇所です。この部分だけコピーしておきましょう。

Verify
コントラクトアドレスの検索
PolygonScan を開き、検索バーにコントラクトアドレスを貼り付けて検索ボタンをクリックしてください、

画面が切り替わったら「Contract」タブを開いて、「Verify and Publish」をクリックしてみましょう。

ログイン
ログイン画面が表示されるので、アカウントを持っていない場合は「Click to sign up」を、持っている場合はユーザ名とパスワードを入力して「LOGIN」をクリックして先に進んでください。

Verify
Verify画面に無事移動できたら、必要な項目を入力していきます。
コントラクトアドレスはすでに入力済みのはずなので、画像の内容で選択肢を選んでいき、最後に「Continue」をクリックしてください。

詳細情報を入力する画面に移るので、これまで用意した内容を画像の通り入力して、最後に「Verify and Publish」をクリックしてください。

画面が切り替わり、結果画面に「Successfully generated ByteCode and ABI for Contract Address」と表示されていれば無事Verify終了です!
ここでエラーが表示されている場合は、ソースコードか入力フィールド情報のどちらかが間違っている可能性が高いので、内容を確認してリトライしてみてください。

元の画面に戻ると「Contract」タブでコントラクトの詳細が確認できるようになっています。なお、他のユーザからも同じ内容が見えており、コントラクトへの読み書きも行えるようになっています。
(クリティカルな機能はデプロイしたウォレットからじゃないと動かせないようになっているのでご安心ください!)

値の更新
それでは最後にRemixでやったように「paused」をfalse
に変更してみましょう。
「Contract」タブ内の「Write Contract」をクリックすると、コントラクトの更新にまつわる機能が動かせるようになっているのが確認できるはずです。
ただし、機能を使うためにはウォレットとの接続が必須なので、まずは「Connect to Web3」をクリックしましょう。

接続が完了したら、「pause」の欄にある入力欄にfalse
と入力して「Write」をクリックしてください。

MetaMaskが起動するので「接続」を押してしばらく待てば無事完了です。
「Read Contract」を選択して右側の「Reset」をクリックすると情報が更新されます。
下にスクロールしていって、「paused」に表示されている値がFalse
になっていればOKです!
