Solidity如何正確呼叫
如何正確呼叫<address>.balance(uint256)
獲取特定地址的餘額
我是 Solidity 的新手。我通過閱讀官方文件來學習,即Solidity我正在嘗試使用簡單的
balance
方法來獲得地址的平衡。下面是我的程式碼:pragma solidity ^0.5.1; contract Firstry { address abc = 0xCBD6832Ebc203e49E2B771897067fce3c58575ac ; abc.balance(unit 256) ; }
在嘗試編譯它時,我收到以下錯誤:
ParseError : Expected Identifier but got '('.
誰能幫我解決我做錯了什麼?
你做錯了什麼是你試圖獲得平衡。
.balance
是地址的簡單可讀屬性而不是函式,因此您只能通過使用來呼叫它
address.balance;
代替address.balance();
這是主要問題。
現在您必須將值分配給變數,然後使用函式獲取該值。
這是完整的程式碼
contract test { address myAddress = 0xCBD6832Ebc203e49E2B771897067fce3c58575ac; uint256 balance = myAddress.balance; function getBalance() public view returns (uint256) { return balance; } }
如果您剛剛開始,我建議您學習使用最新的文件而不是更舊的版本
您正在嘗試在變數上呼叫 balance。這相當於做類似的事情:
let address = "0xCBD6832Ebc203e49E2B771897067fce3c58575ac"; console.log(address.balance(uint256 1);
要獲得契約餘額,您可以這樣做:
address(this).balance
這個問題在這裡解釋了這意味著什麼