Etherscan
Etherscan 輸入 bool 為 1 或 true 或 True
我想執行一個接受輸入的智能合約功能
bool
。這裡例如區分web3使用不認為1為真的javascript,但solidity確實認為1為真。
所以我的問題是,如果 Etherscan 中的寫入函式需要輸入
bool
,比如我想指定 True,我輸入1還是 true或True?
在混音中:
傳遞給 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 似乎只接受以下提供這些輸出的輸入:
- 輸入:
true
or1
=> 返回true
- 輸入:
false
or0
=> 返回false
與這些輸入值不同的任何東西都會返回:
SyntaxError:位置 1 處 JSON 中的意外數字
隨時在 Ropsten 檢查它
0xD394C76C16E7a4a29221218F194A14f6074De6a3