
# 安装链代码
#### 功能介绍
在区块链节点上安装链代码，部分场景只支持go语言链码
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/BCS/doc?api=InstallChainCode)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v2/agent/apis/chaincode/install
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述      |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token |
   
表2FormData参数 
| 参数                 | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| chaincode_name     | 是    | String | 链代码名称，以小写字母开头，支持小写字母和数字                                                                                                                                                                                                                                        |
| chaincode_version  | 是    | String | 链代码版本，只允许使用数字、点（.）、横杠（-），必须以数字开头和结尾，且点和横杠不能相邻                                                                                                                                                                                                                  |
| target_peers       | 是    | String | 链代码安装Peer列表信息，例如：\[{"org_id":"9fb42c91458763990a45b62af92546a21f168dae","org_name":"organization3","peer_id":"peer-9fb42c91458763990a45b62af92546a21f168dae-0.peer-9fb42c91458763990a45b62af92546a21f168dae.default.svc.cluster.local","peer_name":"peer-0"}\] |
| description        | 否    | String | 链代码描述                                                                                                                                                                                                                                                          |
| chaincode_language | 是    | String | 链代码编程语言，例如 golang                                                                                                                                                                                                                                              |
| db_type            | 否    | String | 账本数据存储方式，请按照实例创建时的账本数据存储方式填写。例如 goleveldb，couchdb                                                                                                                                                                                                              |
| security_check     | 否    | String | 链代码安全检查选项，目前只对golang语言链代码有效，true表示开启，false表示关闭，默认为false                                                                                                                                                                                                        |
| file               | 是    | File   | 链代码zip文件                                                                                                                                                                                                                                                       |
   
#### 响应参数
**状态码： 200**
表3响应Body参数 
| 参数               | 参数类型             | 描述          |
|:---|:---|:---|
| total_peer_num   | Integer          | 链代码操作Peer总数 |
| success_peer_num | Integer          | 操作成功Peer数量  |
| fail_peer_num    | Integer          | 操作失败Peer数量  |
| fail_peers       | Array of strings | 操作失败Peer信息  |
   
**状态码： 400**
表4响应Body参数 
| 参数            | 参数类型   | 描述   |
|:---|:---|:---|
| error_code    | String | 错误码  |
| error_message | String | 错误描述 |
| error_msg     | String | 错误描述 |
   
#### 请求示例
```
POST https://192.168.0.90:30603/v2/agent/apis/chaincode/install
{chaincode_name:gochaincode3chaincode_version:2.0target_peers:[{"org_id":"9802af57cfab764dc12b860c44b01969575e83c9","org_name":"organization","peer_id":"peer-9802af57cfab764dc12b860c44b01969575e83c9-1.peer-9802af57cfab764dc12b860c44b01969575e83c9.default.svc.cluster.local","peer_name":"node-1"}]description:22222222chaincode_language:golangdb_type:goleveldbsecurity_check:true}
```
#### 响应示例
**状态码： 200**
Success
```
{
  "total_peer_num" : 4,
  "success_peer_num" : 4,
  "fail_peer_num" : 0,
  "fail_peers" : [ ]
}
```
**状态码： 400**
Bad Request
```
{
  "error_code" : "BCS.4000013",
  "error_message" : "request body is too large"
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | Success     |
| 400 | Bad Request |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/devg-bcs/ErrorCode.html)。
