
# 通用方法
#### 相关类
- GatewayClient对象包含获取服务节点、获取各种类型的消息构造器及交易ID等方法，基于SDK开发时，必须先构造该对象。
  ```
  client.GatewayClient
  ```
  
- BsClient对象包含富媒体文件上链、下载、操作记录查询等方法，使用区块链富媒体存储相关功能时，必须先构造该对象。
  ```
  bstore.BsClient
  ```
  
 
#### 初始化SDK客户端
基于标准配置文件模板初始化Gateway SDK。
- 调用方法
  ```
  func NewGatewayClient(configPath string, decrypts ...func(bytes []byte) ([]byte, error)) (*GatewayClient, error)
  ```
  
- 参数说明
  
  | 参数         | 类型                                     | 说明                                 |
  |:---|:---|:---|
  | configPath | String                                 | 必填参数，客户端SDK配置文件的绝对路径。              |
  | decrypts   | func(bytes \[\]byte) (\[\]byte, error) | 非必填参数，指定证书密文解密算法，默认为明文，无须解密（可变参数）。 |
     
  
 
#### 初始化SDK 文件存储客户端
基于已初始化的SDK Gateway客户端模板初始化富媒体存储客户端。
- 调用方法
  ```
  func NewBsClient(gatewayClient *client.GatewayClient, chainID string, consenterName string)(*BsClient, error)
  ```
  
- 参数说明
  
  | 参数            | 类型                     | 说明                             |
  |:---|:---|:---|
  | gatewayClient | \*client.GatewayClient | 必填参数，已初始化过的Gateway客户端。         |
  | chainID       | string                 | 链名称。                           |
  | consenterName | string                 | 共识节点名称，如"node-0.organization"。 |
     
  
 
#### 生成当前时间戳
根据节点名称，获取需要发送交易的节点对象。所有消息发送前，都必须调用该方法，获取发送节点对象，然后再获取对应的消息发送接口对象。
- 调用方法
  ```
  func GenerateTimestamp() uint64
  ```
  
- 返回值
  
  | 类型     | 说明             |
  |:---|:---|
  | uint64 | 生成系统当前的UTC时间戳。 |
     
  
 
