Solidity

最近升級了 Solc 和 Web3。零地址的交易現在恢復“無效地址”消息?

  • December 16, 2018

我最近升級了 Web3JS 和 Solc。現在,每次我將零地址傳遞給 Solidity 聯繫方法時,事務都會返回“無效地址”消息。此消息似乎直接來自 EVM,因為我的任何還原錯誤字元串中都沒有該消息。錯誤消息包含 EVM 認為無效的參數名稱,因此我確定它來自 EVM ( _bandAddr )。這是來自方法:

function payBand(address payable _bandAddr)

您可以在錯誤消息中看到該參數:

invalid address (arg=\"_bandAddr\", coderType=\"address\", value=0)

我試過傳遞“0”和“0x0”,但仍然得到那個錯誤。有沒有其他人看到過這個並有解決辦法?在升級之前,我可以簡單地傳遞“0”並且不會得到那個錯誤。

Ganache CLI v6.2.3
   using Ganache Core 2.3.1
Truffle 5.x beta
Web3 v1.0.0.0-beta.37
Solc v0.5.0

您需要使用正確的 20 字節地址。在這種情況下,您需要帶引號的字元串:"0x0000000000000000000000000000000000000000"

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