Ether
Etherscan API 獲取餘額 - 響應中未顯示小數
預期的
使用*Etherscan API*請求
GET
ETH 地址的餘額,以便接收提供代表所有小數位的 Ether 代幣數量的響應。觀測到的
響應提供了不代表任何小數位的 Ether 代幣數量。
請求:Etherscan 獲取單個地址的乙太幣餘額
http://api.etherscan.io/api?module=account&action=balance&address=0x8a27D05e97A156E93D42a6d3afB5c2154ebb9cB5&tag=latest&apikey={YOUR_API_KEY_HERE}
注意:我在上面選擇了一個隨機的 ETH 地址。這不是我的 ETH 地址。
回复
{ "status": "1", "message": "OK", "result": "86354095000000000" }
來自 Etherscan UX 的餘額
來自 Etherscan UX 的餘額表明 Ether 餘額中包含小數位。但是,API 響應不提供有關十進制格式的任何資訊。
來自
result
EtherscanGET
請求的響應必須除以 10 18。正如這篇關於ERC20代幣小數位的文章中所*回答*的那樣, “大多數 ERC20 代幣應遵循使用 18 位小數作為其代幣的模式。”
這適用於乙太幣本身。因此,
result
響應86354095000000000
等於0.086354095 Ether。(86354095000000000/(10 18 )) = 0.086354095
很明顯,在這個例子中,您需要自己進行格式化。顯示的返回值以 wei 為單位,您可以使用
web3
庫將其轉換為 eth:
web3.utils.fromWei('86354095000000000', 'ether');
這將返回一個 0.086354095 值。