请教各位大咖go-conflux-sdk中发起cfx交易amount参数转换问题

在用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语言中有相关方法么?具体如何使用?类似问题如果已经解答过,烦请给个相关示例或者解答的链接,谢谢

推荐进社区技术交流群

你好,社区技术交流群地址烦请给个,谢谢

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)

感谢大佬指点::smiling_face_with_three_hearts:,按照上述方法成功解决超过uint64上限转账问题::sunglasses:,在看你在github上的示例,没找到转换方法,就来这里咨询,再次给大佬点赞,非常感谢::ox::poultry_leg: