Hello, Web3 World!!

Verifyしてみよう

目次 [hide]

Verifyとは?

EtherScan PolygonScan というサイトでは、コントラクトアドレスやウォレットアドレスを指定することで、その中の資金やトランザクションの履歴を確認することができます。

デプロイされたコントラクトの内容を「Verify(検証)」することで、これらのサイト上でコードの内容が見れるようになったり、読み書きの機能が使えるようになります。

コントラクトをVerifyすることは、中身が本当に信頼できるコードになっているかを確認することができる「透明性」をユーザに提供することに等しく、信頼性の面からも推奨されています。

必要な情報の取得

  1. コントラクトアドレス
  2. ソースコードすべて
  3. 入力フィールドの情報

1.コントラクトアドレスの取得

「DEPLOY」画面の「Deployed Contracts」を確認してみましょう。

デプロイ済みのコントラクト名の横にコピーボタンがあるので、これをクリックするとコントラクトアドレスを取得することができます。

Remix - コントラクトアドレスの取得

2. ソースコードの取得

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

Remix - ソースコードの取得

3. 入力フィールド情報の取得

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

Remix - 入力フィールド情報の取得

VSCodeにテキトーなファイルを作成して、コピーした内容を貼り付けて確認してみましょう。改行されず全体が見れない場合は、一度閉じてから開き直してください。

とてーーーも長い文字列が並んでいますが、後半部分の「0」が大量に連続している箇所から文字列の最後までが必要な箇所です。この部分だけコピーしておきましょう。

Image from Gyazo

Verify

コントラクトアドレスの検索

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

Image from Gyazo

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

Image from Gyazo

ログイン

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

Image from Gyazo

Verify

Verify画面に無事移動できたら、必要な項目を入力していきます。

コントラクトアドレスはすでに入力済みのはずなので、画像の内容で選択肢を選んでいき、最後に「Continue」をクリックしてください。

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

Image from Gyazo

画面が切り替わり、結果画面に「Successfully generated ByteCode and ABI for Contract Address」と表示されていれば無事Verify終了です!

ここでエラーが表示されている場合は、ソースコードか入力フィールド情報のどちらかが間違っている可能性が高いので、内容を確認してリトライしてみてください。

Image from Gyazo

元の画面に戻ると「Contract」タブでコントラクトの詳細が確認できるようになっています。なお、他のユーザからも同じ内容が見えており、コントラクトへの読み書きも行えるようになっています。

(クリティカルな機能はデプロイしたウォレットからじゃないと動かせないようになっているのでご安心ください!)

Image from Gyazo

値の更新

それでは最後にRemixでやったように「paused」をfalseに変更してみましょう。

「Contract」タブ内の「Write Contract」をクリックすると、コントラクトの更新にまつわる機能が動かせるようになっているのが確認できるはずです。

ただし、機能を使うためにはウォレットとの接続が必須なので、まずは「Connect to Web3」をクリックしましょう。

PolygonScan - Connect to Web3

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

PolygonScan - Write pause

MetaMaskが起動するので「接続」を押してしばらく待てば無事完了です。

「Read Contract」を選択して右側の「Reset」をクリックすると情報が更新されます。
Image from Gyazo

下にスクロールしていって、「paused」に表示されている値がFalseになっていればOKです!

Image from Gyazo