Etherscan

Etherscan 輸入 bool 為 1 或 true 或 True

  • March 1, 2021

我想執行一個接受輸入的智能合約功能bool

這裡例如區分web3使用不認為1為真的javascript,但solidity確實認為1為真。

所以我的問題是,如果 Etherscan 中的寫入函式需要輸入bool,比如我想指定 True,我輸入1還是 trueTrue

在混音中

傳遞給 bool 參數的任何內容都將變為 true,除非您傳遞 value false

您可以通過 Remix 的簡單契約輕鬆檢查這一點:

pragma solidity ^0.8.1;

contract Test {
   function isBool(bool check) external pure returns(bool) {
       if (check) return true;
       else return false;
   }
}

在 Etherscan 中

Etherscan 似乎只接受以下提供這些輸出的輸入:

  • 輸入:trueor 1=> 返回true
  • 輸入:falseor 0=> 返回false

與這些輸入值不同的任何東西都會返回:

SyntaxError:位置 1 處 JSON 中的意外數字

隨時在 Ropsten 檢查它0xD394C76C16E7a4a29221218F194A14f6074De6a3

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