在用go语言通过go-conflux-sdk中使用client.CreateUnsignedTransaction创建交易事务,参数交易数量amount 要求*hexutil.Big,按照github go-sdk示例中的方法通过types.NewBigInt(x uint64)转换参数时,x上限只有18446744073709551615,cfx单位时drip,一个cfx=10^18drip,这么算下来,按照示例方式最高只能转不超过18.45个cfx,我看go-conflux-sdk 第一个交易例子中使用Drip.fromCFX(0.125)来转换,在go语言中有相关方法么?具体如何使用?类似问题如果已经解答过,烦请给个相关示例或者解答的链接,谢谢
请教各位大咖go-conflux-sdk中发起cfx交易amount参数转换问题
推荐进社区技术交流群
你好,社区技术交流群地址烦请给个,谢谢
types.NewBigInt用来方便使用uint64类型创建hexutil.Big; 如果需要超过uint64的值, 使用types.NewBigByRaw
或者直接使用*big.Int显示转换即可,
raw, ok := big.NewInt(0).SetString("0x12837843846827364abcdef12334fbd45ac123acd", 0)
//TODO: check if ok
val := types.NewBigIntByRaw(raw)
或者直接
raw, ok := big.NewInt(0).SetString("0x12837843846827364abcdef12334fbd45ac123acd", 0)
//TODO: check if ok
val := (*hexutil.Big)(raw)
感谢大佬指点:,按照上述方法成功解决超过uint64上限转账问题:,在看你在github上的示例,没找到转换方法,就来这里咨询,再次给大佬点赞,非常感谢: