
# 利用合约发送交易
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 | 落盘结果。 |
        
     
   
   
   
   
 
