Solidity
如何可靠地讀取代幣餘額?
我正在使用 remix.ethereum。Solidity 可以使用這樣的程式碼返回賬戶的乙太幣餘額
pragma solidity ^0.4.9; contract showBalance{ address owner = 0xca35b7d915458ef540ade6068dfe2f44e8fa733c; uint256 public showBalance = owner.balance; }
如果我有一個名為 TESTTOKEN 的令牌
$$ TTN $$ 有了這個細節
代幣持有者:0xe780e329d218a1f849f1cab777217a2cfbb410f2
ERC20 合約:0xf3106ff9bd5ad9a12e91d90e0ed3526111668c1c
(元遮罩令牌詳細資訊)
如何獲得 TTN 餘額?
// ---------------------------------------------------------------------------- // ERC 代幣標準#20 介面 // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md // ---------------------------------------------------------------------------- pragma 可靠性 ^0.4.17; 合約 ERC20 { 函式 totalSupply() 公共常量返回 (uint); 函式 balanceOf(address tokenOwner) 公共常量返回 (uint balance); 函式津貼(地址令牌所有者,地址支出者)公共常量返回(uint剩餘); 函式 transfer(address to, uint tokens) public 返回(bool 成功); 函式批准(地址支出者,uint令牌)公共回報(布爾成功); function transferFrom(address from, address to, uint tokens) public 返回(bool 成功); 事件傳輸(地址索引來自,地址索引到,uint 令牌); 事件批准(地址索引tokenOwner,地址索引花費者,uint令牌); } 契約我的契約 { 地址tracker_0x_address = 0xf3106ff9bd5ad9a12e91d90e0ed3526111668c1c; 函式 getResult() 公共返回 (uint256) { // 地址測試 = msg.sender; // 如果你想獲取發件人,請使用它 地址測試=0xe780e329d218a1f849f1cab777217a2cfbb410f2;// 硬編碼發送者 return ERC20(tracker_0x_address).balanceOf(msg.sender); } }