Solidity

如何確定 Etherscan 合約驗證的建構子 ABI?

  • October 24, 2017

我在嘗試驗證我在 Rinkeby 上部署的契約時遇到了問題。

我的合約建構子有 3 個參數,如何在合約驗證表單中傳遞這些參數的值?

如何確定我的契約的建構子 ABI。順便說一句,我使用的是編譯器版本 4.11,並且合約是使用 truffle 框架建構的。

任何幫助將不勝感激。

現在使用ABI 編碼的線上轉換器非常容易

第 1 步:添加用於建構合約的參數

第 2 步:點擊生成 ABI

第 3 步:複製 ABI 編碼

第 4 步:返回 Etherscan 並將其粘貼到 ABI 編碼的文本框

在此處輸入圖像描述

address對於像and這樣的簡單值類型uint,您只需將值左填充為 32 個字節並將它們連接起來。

例如,如果我的價值觀是

  • 0x829bd824b016326a401d083b33d092293333a830
  • 4
  • 177772

正確的 ABI 編碼是

000000000000000000000000829bd824b016326a401d083b33d092293333a8300000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000002b66c

對於更複雜的類型或自動執行此操作,您可以使用此JS 工具

引用自:https://ethereum.stackexchange.com/questions/20830