主页 > imtoken官网苹果版 > 2021-03-18 Golang以太坊大额转账转换问题

2021-03-18 Golang以太坊大额转账转换问题

imtoken官网苹果版 2023-03-03 06:02:18

2021-03-18 golang 以太坊大转账转换问题 slash youth_728f · · 481 次点击 · · 开始浏览

这是一篇创建于 的文章,其中的信息可能已经过开发或更改。

站长第一次亲自招收Gopher >>>

在构造以太坊通用交易结构时,有一个value参数,类型为*Int,

如何查询以太坊钱包转账记录_sitebtc798.com 以太坊转账查询_以太坊转账备注

一般情况下直接取值 := big.NewInt(1000000000000000000000) 1ETH

当你要转更多的时候,比如100eth以太坊转账备注,1000eth会报int64溢出错误

正确的做法是:为了方便入参,从上游接收一个string类型的值以太坊转账备注

然后

如何查询以太坊钱包转账记录_sitebtc798.com 以太坊转账查询_以太坊转账备注

valuef, err := strconv.ParseFloat(value,64) //先转换为float64

如果错误!=无{

log.Println("不是数字")

}

如何查询以太坊钱包转账记录_以太坊转账备注_sitebtc798.com 以太坊转账查询

//然后通过sprintf格式化为*Int

valueWei, isOk := new(big.Int).SetString(fmt.Sprintf("%.0f", valuef*1000000000000000000), 10)

如果 !isOk {

log.Println("float to bigInt 失败!")

sitebtc798.com 以太坊转账查询_以太坊转账备注_如何查询以太坊钱包转账记录

}

这时候就不会溢出了,还有一个将*Int转成string的方法

有问题加站长微信联系(非本文作者)

sitebtc798.com 以太坊转账查询_如何查询以太坊钱包转账记录_以太坊转账备注

本文来自:简书