メインコンテンツへスキップする

スマートコントラクトのVerify

zKatana testnetにデプロイされたスマートコントラクトは、デプロイのフレームワークやコントラクトの複雑さに応じて様々な方法で検証することが可能です。 ここでの目的は、具体例を用いて、デプロイされたスマートコントラクトを手動で認証する方法を説明することです。

このガイドに沿って作業する間、ウォレットが接続されているようにしてください。 このチュートリアルでは、MetaMaskウォレットを使用します。 スマートコントラクトの検証方法詳細については、Blockscoutドキュメントを参照してください。

手動認証

スマートコントラクトを正常にコンパイルした後、次の手順に従ってスマートコントラクトを認証します。

  1. スマートコントラクトがデプロイされているアドレスをコピーします。

  2. zKatana Explorerに移動し、コントラクトアドレスを検索ボックスに貼り付けます。 これにより、コントラクトの詳細というラベルの付いたウィンドウが開きます。

  3. TransactionsToken transfersInternal txnsCoin Balance HistoryContractと表示されたタブのあるボックスまでスクロールします。

  4. Contractタブを選択し、Verify and Publishボタンをクリックします。

  5. コントラクトコードを提出するには3つの方法があります。 その内、次の2つの選択肢について説明します:

    • Solidity, Flattenedソースコード
    • Solidity, 標準入力のJSON

Solidity, Flattenedソースコード

  1. via Flatened Source Code オプションを選択して Next をクリックします。

  2. コントラクトのコンパイラーバージョンに基づいて、コンパイラー をアップデートするには、

    • ↓ をクリックしてコンパイラーバージョンのリストを確認します。

    • 対応するバージョンを選択してください。 たとえば、コードにpragma solidity^0.8.9;と書かれている場合はv0.8.9+commit.e5eed63aを選択してください。

  3. コントラクトの最適化設定に基づいて最適化オプションを選択します。

  4. フレームワークには、ソースコードをflattenする特別な方法を持っているものがあります。 例えば、HardhatRemixFoundryなどがそうです。 1つのファイルからなるコントラクトを使用していて、import がない場合は、ファイルをflattenする必要はありません。

Hardhatを用いてコントラクトコードをflattenするには、次のコマンドを実行するだけで大丈夫です:

npx hardhat flatten

結果は標準出力に表示されます。 >リダイレクト演算子を使用して、flattenされたソースコードを含むファイルを作成することができます。

npx hardhat flatten > flattened.sol

新しいflatented.solファイルの内容をコピーし、エクスプローラのContract codeフィールドに貼り付けます。

Solidity、標準JSON入力

via Standard JSON Input オプションを選択して Next をクリックします。

  1. コントラクトのコンパイラーバージョンに基づいて、コンパイラー をアップデートするには、

    • ↓ をクリックしてコンパイラーバージョンのリストを確認します。

    • 対応するバージョンを選択してください。 たとえば、コードにpragma solidity^0.8.9;と書かれている場合はv0.8.9+commit.e5eed63aを選択してください。

  2. Standard Input JSON ファイルを _standard input JSON ファイルをドロップするか、ここをクリック_と書かれたフィールドに貼り付けます。 standard input JSONファイルはローカルのプロジェクトフォルダにあります。

標準入力のJSONファイルを見つけるには
  1. Hardhatプロジェクトの場合は、src/build-infoフォルダに移動し、.jsonファイルを開きます。


  1. input JSON オブジェクトを探します。 json ファイルをフォーマットして読みやすくします。

  2. input JSON オブジェクトの値だけを新しいファイルにコピーします



  1. この新しいファイルをDrop file of Click hereフィールドにドラッグ&ドロップします。
  1. Verify & Publishボタンをクリックして、デプロイ済みのスマートコントラクトを認証してください。