首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Avalanche - eth_getBalance -将余额从十六进制转换为十进制

Avalanche - eth_getBalance -将余额从十六进制转换为十进制
EN

Stack Overflow用户
提问于 2021-09-16 10:00:04
回答 1查看 104关注 0票数 0

上下文

使用雪崩浏览器,我选择了一个随机的地址,里面有一些AVAX:

https://cchain.explorer.avax.network/address/0xB9F79Fc4B7A2F5fB33493aB5D018dB811c9c2f02/transactions

在我查找该地址时,AVAX余额约为39,166:

代码

我使用下面的REST调用来检索该地址的剩余部分:

代码语言:javascript
复制
curl --location --request POST 'https://api.avax.network/ext/bc/C/rpc' \
--header 'Content-Type: application/json' \
--data-raw '{
    "jsonrpc": "2.0",
    "method": "eth_getBalance",
    "params": [
        "0xB9F79Fc4B7A2F5fB33493aB5D018dB811c9c2f02",
        "latest"
    ],
    "id": 1
}'

在我发出调用时,它返回以下内容:

代码语言:javascript
复制
{"jsonrpc":"2.0","id":1,"result":"0x8868dc30a5d07460032"}

问题

如您所见,余额返回为:

代码语言:javascript
复制
0x8868dc30a5d07460032

将其转换为小数余额的推荐方法是什么?

如果在developer documentation中讨论了这个问题,请随时给我指出正确的位置。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-09-16 12:38:01

看起来你只是简单地除以18。

下面是一些PowerShell函数Get-AVAX-Balance,它将在给定地址的情况下检索余额:

代码语言:javascript
复制
function Convert-Hexadecimal-to-Decimal ([string]$hexadecimal)
{
    $str = '0{0}' -f ($hexadecimal -replace '^0x')

    [decimal]([bigint]::Parse($str, [System.Globalization.NumberStyles]::AllowHexSpecifier))
}

function Get-AVAX-Balance ($address)
{
    $result = Invoke-RestMethod -Uri 'https://api.avax.network/ext/bc/C/rpc' -Method Post -ContentType 'application/json' -Body (ConvertTo-Json @{
        jsonrpc = "2.0"
        method = "eth_getBalance"
        params = @($address, "latest")
        id = 1
    })

    (Convert-Hexadecimal-to-Decimal $result.result) / [math]::Pow(10,18)
}
代码语言:javascript
复制
PS C:\> Get-AVAX-Balance '0xB9F79Fc4B7A2F5fB33493aB5D018dB811c9c2f02'
37667.049457617898011819
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69206343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档