Etherscan
為什麼我在 Etherscan 上收到“Solidity 函式的參數數量無效”?
我正在嘗試通過 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 解決了它。