更新时间:2024-07-03 GMT+08:00
分享

创建服务实例

功能介绍

创建BCS服务实例,只支持按需创建

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2/{project_id}/blockchains

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户从IAM申请到的项目ID,一般为32位字符串

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

从IAM服务获取的用户Token

最小长度:1

最大长度:32768

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

区块链服务名称,支持英文,数字,中文字符和中划线(-),不能以中划线(-)开头,长度4-24个字符。

version_type

Long

BCS服务版本类型,可选:基础版(4),专业版(2),企业版(3)。被邀请方创建时,和邀请方保持一致。

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

邀请方信息

表4 CCEClusterInfo

参数

是否必选

参数类型

描述

cluster_id

String

集群ID

cluster_name

String

集群名称

cluster_platform_type

String

集群CPU架构类型:X86(VirtualMachine),ARM(ARM64)

表5 CCECreateInfo

参数

是否必选

参数类型

描述

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)

表6 IEFNode

参数

是否必选

参数类型

描述

id

String

节点ID(注意:应填写IEF节点的ID信息)

status

String

节点状态:"ACTIVE"

public_ip_address

String

节点公有IP(弹性IP)

表7 OrgPeer

参数

是否必选

参数类型

描述

name

String

组织名称

node_count

Long

组织节点数

表8 ChannelInfoV2

参数

是否必选

参数类型

描述

name

String

通道名

org_names

Array of strings

通道中组织名

description

String

通道描述

表9 CouchDb

参数

是否必选

参数类型

描述

user_name

String

couchDB用户名

password

String

couchDB密码

表10 TurboInfo

参数

是否必选

参数类型

描述

share_type

String

共享方式,固定值为“STANDARD”

type

String

类型,固定值为“efs-ha”

available_zone

String

可用区,可填空字符串("")。

resource_spec_code

String

规格,固定值为“sfs.turbo.standard”

表11 block_info

参数

是否必选

参数类型

描述

batch_timeout

Long

区块产生时间(单位:秒),默认2秒

max_message_count

Long

区块包含交易数量,默认500

preferred_maxbytes

Long

区块容量(单位:MB),默认2MB

表12 KafkaCreateInfo

参数

是否必选

参数类型

描述

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实例可用区

表13 InvitorInfos

参数

是否必选

参数类型

描述

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

错误码

最小长度:8

最大长度:36

error_msg

String

错误描述

最小长度:2

最大长度:512

状态码: 401

表16 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:8

最大长度:36

error_msg

String

错误描述

最小长度:2

最大长度:512

状态码: 403

表17 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:8

最大长度:36

error_msg

String

错误描述

最小长度:2

最大长度:512

状态码: 404

表18 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:8

最大长度:36

error_msg

String

错误描述

最小长度:2

最大长度:512

状态码: 500

表19 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:8

最大长度:36

error_msg

String

错误描述

最小长度:2

最大长度:512

请求示例

创建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

错误码

请参见错误码

相关文档