更新时间:2024-06-28 GMT+08:00
分享

利用合约发送交易

  1. 合约调用信息构建。

    • 接口方法
      ContractRawMessage.class
      public RawMessage buildInvokeRawMsg(String chainId, String name, String function, String[] args)
    • 参数说明

      参数

      类型

      说明

      chainId

      String

      链ID。

      name

      String

      合约名称。

      function

      String

      调用合约中的方法名。

      args

      String[]

      合约方法参数。

    • 返回值

      类型

      说明

      RawMessage

      消息体,用于合约调用。

  2. 背书请求消息构建。

    • 接口方法
      ContractRawMessage.class
      public RawMessage getRawMessageBuilder(ByteString payload) throws CryptoException
    • 参数说明

      参数

      类型

      说明

      payload

      ByteString

      合约调用信息,由invocation.toByteString()得到。

    • 返回值

      类型

      说明

      RawMessage

      消息体,用于背书请求。

  3. 背书请求消息发送。

    • 接口方法
      ContractAction.class
      public ListenableFuture<RawMessage> invoke(RawMessage rawMessage) throws InvalidParameterException
    • 参数说明

      参数

      类型

      说明

      rawMessage

      RawMessage

      背书请求的消息体,步骤2的返回值。

    • 返回值

      类型

      说明

      ListenableFuture

      future对象,用于获取背书请求结果。

  4. 落盘消息构建。

    • 接口方法
      ContractRawMessage.class
      public TxRawMsg buildTxRawMsg(RawMessage[] rawMessages) throws InvalidProtocolBufferException, TransactionException, CryptoException
    • 参数说明

      参数

      类型

      说明

      rawMessages

      RawMessage

      消息体,步骤3的背书请求结果。

    • 返回值

      类型

      说明

      TxRawMsg

      交易消息体,包含原始信息和哈希。

  5. 落盘消息发送。

    • 接口方法
      ContractRawMessage.class
      public ListenableFuture<RawMessage> transaction(RawMessage rawMessage) throws InvalidParameterException
    • 参数说明

      参数

      类型

      说明

      rawMessage

      RawMessage

      消息体,步骤4返回的交易消息体中的原始信息。

    • 返回值

      类型

      说明

      ByteString

      落盘结果。

相关文档