如何使用golang生成raw transaction的input data?

之前使用java代码调用合约时,通过一下方法来生成input data。

new Function(functionName, argumentList, Collections.<TypeReference<?>>emptyList()); FunctionEncoder.encode(functionCall);

这种方法之用输入合约名称和合约的参数,没有使用abi.json信息,我想知道如何使用golang来达到类似的效果。我只有合约地址,账户公私钥,合约代码信息。 研究过一段时间这个方法,但是他一致没有正常运行。

name := "add" rawName := "add" funType := 0 mutability := "view" param1, err := abi.NewType("value", "int", nil) inputs := abi.Arguments{ abi.Argument{ Name: "value", Type: param1, Indexed: false, }, } method := abi.NewMethod(name, rawName, abi.FunctionType(funType), mutability, false, false, inputs, nil) input, err := method.Inputs.Pack(1) if err != nil { log.Fatal(err) } log.Println(common.Bytes2Hex(input))

在没有合约abi.json的情况下,如何生成input data信息呢?

请先 登录 后评论

3 个回答

YGCool
请先 登录 后评论
zen
请先 登录 后评论
筷子
请先 登录 后评论
  • 1 关注
  • 0 收藏,3594 浏览
  • zhyyao 提出于 2023-08-29 18:34