Etherscan

為什麼我在 Etherscan 上收到“Solidity 函式的參數數量無效”?

  • September 15, 2021

我正在嘗試通過 Etherscan UI 呼叫一個函式。我確保輸入數據正確,但我不斷收到此錯誤:

Invalid number of arguments to Solidity function

怎麼了?

函式重載。至少截至 10 月 1 日,Etherscan 似乎遇到了具有多個相同功能的合約的問題。

親眼看看:

pragma solidity 0.5.11;

contract A {

   uint256 public a;

   function initialize() public {
       a = 10;
   }
}

contract B is A {
   uint256 public b;

   function initialize(uint256 _b) public {
       b = _b;
   }
}

使用Remix部署它,驗證原始碼,然後嘗試呼叫該initialize(uint256)函式。它將失敗,並出現與問題正文中相同的錯誤。

我聯繫了他們的支持。

更新

我嘗試通過ethers.js以程式方式執行此操作,但在發送交易時恰好收到了類似的錯誤。在此之前,只有少數與函式重載相關的警告。

我終於通過MyEtherWallet 解決了它。

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