
# 实例化链代码
#### 功能介绍
实例化链代码
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/BCS/doc?api=EnableChainCode)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v2/agent/apis/chaincode/instantiate
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述      |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token |
   
表2请求Body参数 
| 参数                 | 是否必选 | 参数类型                                                    | 描述                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| chaincode_name     | 是    | String                                                  | 链代码名称，以小写字母开头，支持小写字母和数字，长度6-25位                                                                                                                                                                                                                                             |
| chaincode_version  | 是    | String                                                  | 链代码版本，只允许使用数字、点（.）、横杠（-），必须以数字开头和结尾，且点和横杠不能相邻                                                                                                                                                                                                                               |
| channel_name       | 是    | String                                                  | 实例化通道名称                                                                                                                                                                                                                                                                     |
| endorsement_policy | 是    | [Policy] object     | 背书策略                                                                                                                                                                                                                                                                        |
| init_variable      | 是    | [InitArgs] object | 初始化函数及参数                                                                                                                                                                                                                                                                    |
| private_data       | 否    | String                                                  | 隐私保护配置数据，json数据的string格式，json数据结构举例：\[{"name":"kvstore-collection","policy":"OR('9b4ea44913e8eed42cb056177b46191e1d316678MSP.member','9b4ea44913e8eed42cb056177b46191e1d316678MSP.member')","requiredPeerCount":0,"maxPeerCount":2,"blockToLive":0,"memberOnlyRead":true}\] |
   
 表3Policy 
| 参数        | 是否必选 | 参数类型                                                                | 描述                        |
|:---|:---|:---|:---|
| operation | 是    | String                                                              | 操作符。 OR：任意组织背书 AND：全部组织背书 |
| group     | 是    | Array of [OrgPolicy] objects | 组织背书成员                    |
   
 表4OrgPolicy 
| 参数       | 是否必选 | 参数类型   | 描述                |
|:---|:---|:---|:---|
| org_id   | 是    | String | 组织ID              |
| category | 否    | String | 成员类型：member、admin |
   
 表5InitArgs 
| 参数        | 是否必选 | 参数类型             | 描述      |
|:---|:---|:---|:---|
| func_name | 是    | String           | 初始化函数名  |
| args      | 是    | Array of strings | 初始化参数列表 |
   
#### 响应参数
**状态码： 400**
表6响应Body参数 
| 参数            | 参数类型   | 描述   |
|:---|:---|:---|
| error_code    | String | 错误码  |
| error_message | String | 错误描述 |
| error_msg     | String | 错误描述 |
   
#### 请求示例
```
POST https://192.168.0.90:30603/v2/agent/apis/chaincode/instantiate
{
  "chaincode_name" : "gochaincode2",
  "chaincode_version" : "1.0",
  "channel_name" : "channel001",
  "endorsement_policy" : {
    "operation" : "AND",
    "group" : [ {
      "org_id" : "8cc7155fb1f26ebac1743f481386c14223be511f",
      "category" : "member"
    } ]
  },
  "init_variable" : {
    "func_name" : "init",
    "args" : [ "a", "200", "b", "100" ]
  },
  "private_data" : "[{\"name\": \"kvstore-collection\",\"policy\": \"OR('8cc7155fb1f26ebac1743f481386c14223be511fMSP.member','8cc7155fb1f26ebac1743f481386c14223be511fMSP.member')\",\"requiredPeerCount\": 0,\"maxPeerCount\": 2,\"blockToLive\": 0,\"memberOnlyRead\": true}]"
}
```
#### 响应示例
**状态码： 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)。
