Etherscan

Etherscan.io 如何在沒有合約驗證的情況下找出建構子參數

  • June 3, 2019

最近,我看到 Etherscan 能夠自動找出傳遞的建構子參數。他們是怎麼弄明白的?

這已經在您之前的問題的評論中得到了回答

總結一下:

  • 創建合約的交易在 Etherscan 上可見(此處為範例
  • 該交易的輸入數據,主要是合約本身的編譯字節碼,還包含最後一個字節中的建構子參數值(每個參數 32 個字節)
  • 因此,即使沒有原始碼,Etherscan 也能夠提取和解碼傳遞的參數,您也可以
  • 儘管不訪問原始碼就不可能知道參數的名稱,但反編譯字節碼至少可以告訴您預期的參數數量和數據類型/大小。您可以使用它來理解合約創建數據中的那些 32*n 字節(其中 n 是參數的數量)

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