
# 利用合约发送交易
1. 合约调用信息构建。 
   - 接口方法
     ContractRawMessage.class
     ```
     public RawMessage buildInvokeRawMsg(String chainId, String name, String function, String[] args)
     ```
     
   
   - 参数说明
     
     | 参数       | 类型         | 说明         |
     |:---|:---|:---|
     | chainId  | String     | 链名称。       |
     | name     | String     | 合约名称。      |
     | function | String     | 调用合约中的方法名。 |
     | args     | String\[\] | 合约方法参数。    |
        
     
   
   - 返回值
     
     | 类型         | 说明      |
     |:---|:---|
     | Invocation | 合约调用信息。 |
        
     
   
   
   
   
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 | 背书请求需发送的消息。 |
        
     
   
   - 返回值
     
     | 类型               | 说明                 |
     |:---|:---|
     | ListenableFuture | 用于获取发送结果的future对象。 |
        
     
   
   
   
   
4. 落盘消息构建。 
   - 接口方法
     ContractRawMessage.class
     ```
     public TxRawMsg buildTransactionMessage(RawMessage[] rawMessages) throws InvalidProtocolBufferException, TransactionException, CryptoException
     ```
     
   
   - 参数说明
     
     | 参数          | 类型         | 说明    |
     |:---|:---|:---|
     | rawMessages | RawMessage | 背书结果。 |
        
     
   
   - 返回值
     
     | 类型       | 说明                 |
     |:---|:---|
     | TxRawMsg | 交易的消息数据，包含原始信息和哈希。 |
        
     
   
   
   
   
5. 落盘消息发送。 
   - 接口方法
     ContractRawMessage.class
     ```
     public ListenableFuture<RawMessage> transaction(RawMessage rawMessage) throws InvalidParameterException
     ```
     
   
   - 参数说明
     
     | 参数         | 类型         | 说明      |
     |:---|:---|:---|
     | rawMessage | RawMessage | 交易原始信息。 |
        
     
   
   - 返回值
     
     | 类型         | 说明    |
     |:---|:---|
     | ByteString | 落盘结果。 |
        
     
   
   
   
   
 
