
# 创建服务实例 - CreateNewBlockchain
#### 功能介绍
创建BCS服务实例,只支持按需创建
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/BCS/doc?api=CreateNewBlockchain)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-bcs/bcs_api_0025.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
#### URI
POST /v2/{project_id}/blockchains
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                       |
|:---|:---|:---|:---|
| project_id | 是    | String | 租户从IAM申请到的项目ID，一般为32位字符串 |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述               |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 从IAM服务获取的用户Token |
   
表3请求Body参数 
| 参数                    | 是否必选 | 参数类型                                                                            | 描述                                                                                                                                             |
|:---|:---|:---|:---|
| name                  | 是    | String                                                                          | 区块链服务名称，支持英文，数字，中文字符和中划线(-)，不能以中划线(-)开头，长度4-24个字符。                                                                                             |
| version_type          | 是    | Long                                                                            | Hyperledger Fabric增强版实例版本类型，参数值如下： 2：Hyperledger Fabric增强版实例的企业版 4：Hyperledger Fabric增强版实例的专业版 3：Hyperledger Fabric增强版实例的铂金版 被邀请方创建时，和邀请方保持一致。 |
| fabric_version        | 否    | String                                                                          | Fabric版本，当前邀请方以及私有链的创建仅可选：2.2 ;被邀请方创建时，和邀请方保持一致，1.4版本服务仅支持1.15及以下版本集群. 默认值为2.2.                                                                |
| blockchain_type       | 否    | String                                                                          | 区块链类型，默认私有链，可选：联盟链（union），私有链（private）。被邀请方创建时，和邀请方保持一致。                                                                                       |
| consensus             | 否    | String                                                                          | BCS服务的共识策略，Fabric1.4版本可选：测试策略（solo）、快速拜占庭容错算法（SFLIC）；Fabric2.2版本可选：raft共识算法（etcdraft）、快速拜占庭容错算法（SFLIC）。被邀请方创建时，和邀请方保持一致。                       |
| sign_algorithm        | 否    | String                                                                          | BCS服务安全机制，可选：ECDSA（ECDSA），国密算法（sm2）                                                                                                            |
| enterprise_project_id | 是    | String                                                                          | BCS服务所属企业项目ID                                                                                                                                  |
| volume_type           | 否    | String                                                                          | CCE集群存储卷类型，根据实际环境可选：云硬盘存储卷（evs），文件存储卷（nfs）, 极速文件存储卷（efs）                                                                                       |
| evs_disk_type         | 否    | String                                                                          | 云硬盘存储卷类型，volume_type选择evs时必填，可选：普通I/O（SATA），高I/O（SAS），超高I/O（SSD）                                                                               |
| org_disk_size         | 否    | Long                                                                            | 节点组织存储容量，基础版和专业版至少100GB，企业版至少500GB                                                                                                             |
| database_type         | 否    | String                                                                          | BCS服务数据库类型，包括文件数据库（goleveldb），NoSQL（couchdb），选择couchdb需要填写couchdb_info字段中的信息                                                                   |
| resource_password     | 是    | String                                                                          | BCS服务资源、区块链管理密码                                                                                                                                |
| orderer_node_number   | 否    | Long                                                                            | 共识组织节点数，被邀请方创实例时可不填。购买fabric2.2服务时必填，若共识策略为Raft（CFT），节点数为3；若共识策略为快速拜占庭容错共识算法（FBFT），节点数为4。                                                      |
| use_eip               | 否    | Boolean                                                                         | 是否使用集群节点弹性IP                                                                                                                                   |
| bandwidth_size        | 否    | Long                                                                            | 弹性IP带宽                                                                                                                                         |
| cluster_type          | 是    | String                                                                          | 集群类型，可选：CCE集群 。                                                                                                                                |
| create_new_cluster    | 是    | Boolean                                                                         | 是否创建新集群，使用已有集群需要填写cce_cluster_info字段中的信息，创建新集群需要填写cce_create_info字段中的信息                                                                        |
| cce_cluster_info      | 否    | [CCEClusterInfo] object         | 使用已有CCE集群信息，说明：Fabric1.4版本服务仅支持1.15及以下版本集群                                                                                                     |
| cce_create_info       | 否    | [CCECreateInfo] object           | 创建新集群信息                                                                                                                                        |
| ief_deploy_mode       | 否    | Long                                                                            | IEF集群部署方式，随机部署（0），组织节点绑定（1）。组织节点绑定模式时，peer_orgs 参数必填。组织名和IEF节点名必须一致。                                                                           |
| ief_nodes_info        | 否    | Array of [IEFNode] objects             | IEF集群节点列表，使用边缘集群模式部署时必填。                                                                                                                       |
| peer_orgs             | 否    | Array of [OrgPeer] objects             | 节点组织列表。节点绑定模式中，组织名和IEF节点名必须一致。边缘集群模式时此字段必填。                                                                                                    |
| channels              | 否    | Array of [ChannelInfoV2] objects | 通道列表                                                                                                                                           |
| couchdb_info          | 否    | [CouchDb] object                       | couchDB信息                                                                                                                                      |
| turbo_info            | 否    | [TurboInfo] object                   | 极速文件存储卷信息                                                                                                                                      |
| block_info            | 否    | [block_info] object                 | 区块生成配置信息                                                                                                                                       |
| kafka_create_info     | 否    | [KafkaCreateInfo] object       | kafka实例创建信息                                                                                                                                    |
| tc3_need              | 否    | Boolean                                                                         | 是否添加可信计算平台                                                                                                                                     |
| restful_api_support   | 否    | Boolean                                                                         | 是否添加restful API支持                                                                                                                              |
| is_invitee            | 否    | Boolean                                                                         | 是否是创建被邀请方BCS服务实例，创建被邀请方实例需要同时填写invitor_infos字段中的信息                                                                                             |
| invitor_infos         | 否    | [InvitorInfos] object             | 邀请方信息                                                                                                                                          |
   
 表4CCEClusterInfo 
| 参数                    | 是否必选 | 参数类型   | 描述                                       |
|:---|:---|:---|:---|
| cluster_id            | 是    | String | 集群ID                                     |
| cluster_name          | 是    | String | 集群名称                                     |
| cluster_platform_type | 是    | String | 集群CPU架构类型：X86（VirtualMachine），ARM（ARM64） |
   
 表5CCECreateInfo 
| 参数                    | 是否必选 | 参数类型   | 描述                                       |
|:---|:---|:---|:---|
| node_num              | 是    | Long   | 集群节点数                                    |
| node_flavor           | 是    | String | 集群节点规格ID（支持的规格配置最小为4u8g）                 |
| cce_flavor            | 是    | String | CCE集群规格                                  |
| init_node_pwd         | 是    | String | 节点初始密码                                   |
| az                    | 是    | String | 可用区                                      |
| cluster_platform_type | 是    | String | 集群CPU架构类型：X86（VirtualMachine），ARM（ARM64） |
   
 表6IEFNode 
| 参数                | 是否必选 | 参数类型   | 描述                     |
|:---|:---|:---|:---|
| id                | 是    | String | 节点ID（注意：应填写IEF节点的ID信息） |
| status            | 是    | String | 节点状态为"ACTIVE"，表示执行中    |
| public_ip_address | 是    | String | 节点公有IP（弹性IP）           |
   
 表7OrgPeer 
| 参数         | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| name       | 是    | String | 组织名称  |
| node_count | 是    | Long   | 组织节点数 |
   
 表8ChannelInfoV2 
| 参数          | 是否必选 | 参数类型             | 描述     |
|:---|:---|:---|:---|
| name        | 是    | String           | 通道名    |
| org_names   | 是    | Array of strings | 通道中组织名 |
| description | 否    | String           | 通道描述   |
   
 表9CouchDb 
| 参数        | 是否必选 | 参数类型   | 描述         |
|:---|:---|:---|:---|
| user_name | 是    | String | couchDB用户名 |
| password  | 是    | String | couchDB密码  |
   
 表10TurboInfo 
| 参数                 | 是否必选 | 参数类型   | 描述                          |
|:---|:---|:---|:---|
| share_type         | 是    | String | 共享方式，固定值为"STANDARD"         |
| type               | 是    | String | 类型，固定值为"efs-ha"             |
| available_zone     | 是    | String | 可用区，可填空字符串("")。             |
| resource_spec_code | 是    | String | 规格，固定值为"sfs.turbo.standard" |
   
 表11block_info 
| 参数                 | 是否必选 | 参数类型 | 描述                |
|:---|:---|:---|:---|
| batch_timeout      | 否    | Long | 区块产生时间（单位：秒），默认2秒 |
| max_message_count  | 否    | Long | 区块包含交易数量，默认500    |
| preferred_maxbytes | 否    | Long | 区块容量（单位：MB），默认2MB |
   
 表12KafkaCreateInfo 
| 参数      | 是否必选 | 参数类型   | 描述                                                                                   |
|:---|:---|:---|:---|
| spec    | 是    | String | kafka实例规格，可选：mini：基准带宽100MB/s，small：基准带宽300MB/s，middle：基准带宽600MB/s，high：基准带宽1200MB/s |
| storage | 是    | Long   | 存储空间(单位：GB），至多9000，mini版至少300，small至少1200，middle至少2400，high至少4800                    |
| az      | 是    | String | kafka实例可用区                                                                           |
   
 表13InvitorInfos 
| 参数            | 是否必选 | 参数类型   | 描述           |
|:---|:---|:---|:---|
| tenant_id     | 是    | String | 邀请方租户ID      |
| project_id    | 是    | String | 邀请方项目ID      |
| blockchain_id | 是    | String | 邀请方BCS服务实例ID |
   
#### 响应参数
**状态码：200**
表14响应Body参数 
| 参数              | 参数类型   | 描述     |
|:---|:---|:---|
| blockchain_id   | String | 服务实例ID |
| blockchain_name | String | 服务实例名  |
| operation_id    | String | 操作ID   |
   
**状态码：400**
表15响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：401**
表16响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：403**
表17响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：404**
表18响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：500**
表19响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
#### 请求示例
创建BCS实例
```
{
  "name" : "bcs-test",
  "fabric_version" : "2.2",
  "blockchain_type" : "union",
  "consensus" : "etcdraft",
  "version_type" : 4,
  "sign_algorithm" : "ECDSA",
  "enterprise_project_id" : "0",
  "volume_type" : "nfs",
  "evs_disk_type" : "SATA",
  "org_disk_size" : 100,
  "database_type" : "goleveldb",
  "resource_password" : "xxx",
  "orderer_node_number" : 3,
  "use_eip" : true,
  "bandwidth_size" : 5,
  "cluster_type" : "cce",
  "create_new_cluster" : false,
  "cce_cluster_info" : {
    "cluster_id" : "5adc2ce2-9712-11ea-9535-0255ac100b0d",
    "cluster_name" : "byl-1-15",
    "cluster_platform_type" : "ARM64"
  },
  "cce_create_info" : {
    "node_num" : 1,
    "node_flavor" : "Si1.xlarge.4.linux",
    "cce_flavor" : "cce.s1.small",
    "init_node_pwd" : "JDYkUzdOOUR0JEdyajFQV0tSWXNQRjZBZlhiSE5MVmpWV204V3M5alFMUXl4Z3dtOVNKb25xR0lIZWZaNUFReDVWeHNJa3gvb3JML2d1WjZyazNLQmNWczBpWVVFR2gw",
    "az" : "cn-north-7a",
    "cluster_platform_type" : "ARM64"
  },
  "ief_deploy_mode" : 0,
  "ief_nodes_info" : [ {
    "status" : "ACTIVE",
    "public_ip_address" : "192.168.1.95",
    "id" : "5700372e-49ef-4f4c-b433-11d95ad7acea"
  }, {
    "status" : "ACTIVE",
    "public_ip_address" : "192.168.1.213",
    "id" : "2455e71a-d806-4827-9cf4-81e1b3764681"
  } ],
  "peer_orgs" : [ {
    "name" : "organization",
    "node_count" : 2
  } ],
  "channels" : [ {
    "name" : "channel",
    "org_names" : [ "organization" ],
    "description" : ""
  } ],
  "block_info" : {
    "batch_timeout" : 2,
    "max_message_count" : 500,
    "preferred_maxbytes" : 2
  },
  "turbo_info" : {
    "share_type" : "STANDARD",
    "type" : "efs-ha",
    "available_zone" : "cn-north-7a",
    "resource_spec_code" : "sfs.turbo.standard"
  }
}
```
#### 响应示例
**状态码：200**
Ok
```
{
  "blockchain_id" : "12691561-a50d-5207-6041-7346c90d4499",
  "blockchain_name" : "bcs-api",
  "operation_id" : "BCSSVC01-03-1617158790255323683"
}
```
**状态码：400**
Bad Request
```
{
  "error_code" : "BCS.4006005",
  "error_msg" : "keyType error, keyType: blok not supported"
}
```
**状态码：401**
Unauthorized
```
{
  "error_code" : "BCS.4010401",
  "error_msg" : "Incorrect token or token resolution failed"
}
```
**状态码：403**
Forbidden
```
{
  "error_code" : "BCS.4030403",
  "error_msg" : "No permissions to request this method"
}
```
**状态码：404**
Not Found
```
{
  "error_code" : "BCS.4040404",
  "error_msg" : "Not Found:the url is not found"
}
```
**状态码：500**
InternalServerError
```
{
  "error_code" : "BCS.5000500",
  "error_msg" : "Internal Server Error"
}
```
#### 状态码
| 状态码 | 描述                  |
|:---|:---|
| 200 | Ok                  |
| 400 | Bad Request         |
| 401 | Unauthorized        |
| 403 | Forbidden           |
| 404 | Not Found           |
| 500 | InternalServerError |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-bcs/ErrorCode.html)。
