Solidity

如何可靠地讀取代幣餘額?

  • February 20, 2022

我正在使用 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);
}

}

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