# 创建平行链
<font color="6B7280">最近更新时间：2021-08-31 18:07:48</font>

### 背景信息
平行链依附于主链，支持关联本平台创建的联盟链或外部链（自备链或者其他平台创建的链）。平行链共享主链共识网络，每条平行链只运行自己的数据，平行链与平行链之间数据相互隔离。

仅支持在企业控制台上进行创建平行链、添加节点、删除平行链等管理性操作，但是可以在企业控制台和个人控制台查看链监控数据。

本小节介绍在企业控制台如何创建平行链。   

![](../../assets/start30.jpg)


### 前提条件
如果需要创建平行链，请确保已完成以下事项：

+ 平行链依附于联盟主链，所以需要已存在联盟链。可参见创建单企业联盟链、创建多企业联盟链或导入联盟链。
+ 创建平行链时需要设置管理员地址和创世地址。如何创建链地址，请参见链地址管理。
+ 如果您需要通过自备节点来部署区块链，请提前准备好节点信息，如IP地址、账号、密码等基础信息。
+ 如果您需要使用云服务器来部署区块链，请提前联系系统管理员申请定制套餐并完成套餐的定价。
+ 在支付创建平行链的订单前，请确保企业账户余额充足。如何充值，请参见账户充值。

### 步骤一：创建联盟链
1. 登录复杂美BaaS平台，在页面左上角切换为企业控制台。
2. 在左侧导航栏选择链管理 > 平行链，然后单击新增平行链。
3. 在基本信息区域，设置链名称，管理员地址和创世地址。 
   
   ![](../../assets/start31.jpg)
 
 说明：关联本平台的联盟链，直接从下拉列表中选择目标链；关联外部链（自备链或者其他平台创建的链），填写主链的grpc地址，支持填写多个地址（格式为“主链节点IP:grpc端口”），地址间使用英文逗号分隔。<br>每条平行链都有自己的管理员，与联盟链管理员可以不是同一个。此处的管理员地址即是平行链管理员地址，后续用于平行链的管理动作签名，如新增平行节点需要平行链管理员私钥签名才可以成功，创世地址用于创世积分的私钥签名，默认与管理员地址相同。
4. 在配置信息区域，选择服务类型、设置节点数量和节点基础信息。
 + 区块链服务：表示使用自备节点搭建区块链。       
  ![](../../assets/start3.jpg) 
  
参数 | 描述
-|-|-
节点数量 | 根据需要设置节点数量，支持设置的节点范围为1~25，默认为1。
默认参数配置：为所有平行链节点批量设置参数，后续支持修改。 | 
所有者 | 节点所属企业，不支持修改。
登录类型 | 目前区块链节点支持“账号+密码”和“账号+密钥”两种登录方式，您可以根据实际需求选择其中一种登录方式。<br>账号+密码：请输入自备节点的实际登录账号和密码。<br>账号+密钥：输入自备节点的实际登录账号，然后选择已生成或已导入的私钥。
端口 | 系统提供默认端口配置，支持修改。<br>SSH端口默认为“22”；jrpc端口默认为“8801”；grpc端口默认为“8802”。
IP地址 | 请根据实际情况填写每一台自备节点机器的IP地址。                          

  </table>                                        

+ 区块链+云服务：表示使用自动分配的云服务器搭建区块链。                                              
![](../../assets/start4.jpg)

参数 | 描述
-|-|-
套餐类型 | 选择云服务器的套餐类型，即云服务器的规格类型。<br>说明:<br>如果当前所有的套餐均无法满足您的需求，请联系系统管理员申请定制套餐。
节点数量 | 根据需要设置节点数量，支持设置的节点范围为1~25，默认为1。
所有者 | 节点所属企业，不支持修改。
登录类型 | 目前区块链节点支持“账号+密码”和“账号+密钥”两种登录方式，您可以根据实际需求选择其中一种登录方式。<br>账号+密码：账号默认为root不可修改，密码可以自定义，支持大小写字母、数字和特殊符号的至少三种的组合，长度为8~26个字符.<br>账号+密钥：账号默认为root不可修改，选择已生成的私钥。
端口 | 系统提供默认端口配置，部分支持修改。<br>SSH端口默认为“22”；jrpc端口默认为“8801”；grpc端口默认为“8802”。
IP地址 | 无需设置云服务器的内网IP地址，采用自动分配模式，如果需要为云服务器绑定外网IP，可以设置自动分配。

+ 区块链+个人公有云托管服务：华为云账号托管并购买服务器。

参数 | 描述
-|-|-
公有云账号 | 选择企业用户对接华为云的账号。
套餐类型 | 选择个人公有云服务器的套餐类型。<br>如果当前所有的套餐类型均无法满足您的需求，请联系企业管理员申请定制套餐。<br>如果没有可选择的套餐。则可能是企业管理员未设置套餐导致的，请联系企业管理员处理。
节点数量 | 根据需要设置节点数量，支持设置的节点范围为4~25，默认为4。<br>联盟链使用PBFT共识机制，共识节点至少4个。
默认参数设置：为所有联盟节点批量设置参数，后续支持修改。 | 
所有者 | 节点所属企业，单企业联盟链的节点只属于一个企业。
登录类型 | 目前区块链节点支持“账号+密码”和“账号+密钥”两种登录方式，您可以根据实际需求选择一种登录方式。<br>账号+密码：账号默认为root不可修改，密码可以自定义，支持大小写字母、数字和特俗字符的至少三种组合，长度为8~26个字符。<br>账号+密钥：账号默认为root，不可修改，选择已生成的私钥；不选择则使用默认的系统公钥。
端口 | 系统提供默认端口配置，支持修改。<br>jrpc端口默认为8801；grpc端口默认为8802，SSH端口默认为22；共识端口默认为33001；P2P端口默认为13802。
IP地址 | 无需设置云服务器的内网IP地址，采用自动分配模式。默认自动分配外网IP，以保证节点互联互通。
是否为共识节点 | 设置节点角色。勾选为共识节点，去勾选为验证节点。<br>【说明】只要要求4个节点为共识节点。
1. 在高级配置区域，设置创世积分名称、积分总数和同步起始高度。     
  ![](../../assets/start33.jpg)              
6. 在费用计算区域，选择资源计费模式和使用时长.<br>说明：如果是自备服务器则无需设置计费模式和使用时长，仅在使用自动分配云服务器时需要设置计费模式和使用时长                                                                                                                       
  ![](../../assets/start6.jpg)              

请根据需要选择**资源计费模式**和**使用时长**。
+ 支持按天、按月和按年计费，根据实际需求选择计费方式和时长。如果没有某种计费模式，则是当前云资源套餐未开通这种计费模式。
+ 如果有自动续费需求，可勾选开启自动续费。
+ 费用说明：创建联盟链的费用包括链管理费、节点费和云资源费。链管理费由节点所有者的数量决定，单企业联盟只需收取一次费用；节点费则是一个节点收取一次费用；云资源费则是由系统管理员设置的云资源套餐费用。
7. 在**费用配置**区域，确认费用无异常后单击**提交订单**。   
  ![](../../assets/start7.jpg)                                                               
8. 在**确认订单**导航页签下，确认订单信息，然后单击**确认**。
9. 在**付款**导航页签下，确认订单支付金额，确认无误后单击确认付款。<br>如果您的当前余额不足以支付该订单金额，支持直接在当前页面进行充值。
 

### 步骤二：部署节点
联盟链创建并完成订单支付后，可以在联盟链页面查看链基础信息，此时的联盟节点为创建完成状态，链为未运行状态，需要部署联盟节点后，链才能正常运行。

目前BaaS平台支持手动部署和自动部署两种部署方式，请跟据实际情况选择部署方式。

+ 自动部署：自动分配云服务器、自备节点和BaaS平台网络双向互通，这两种情况采用自动部署。
+ 手动部署：自备节点和BaaS平台网络无法双向互通，这种情况采用手动部署。如公共云BaaS平台和局域网节点服务器无法双向互通，可以在局域网节点服务器上手动部署。

**自动部署**

1. 登录复杂美BaaS平台，在页面左上角切换为联盟控制台。
2. 在左侧导航栏单击链管理 > 平行链，然后在页面左上角切换到未运行的联盟链。
3. 在联盟链基础信息区域右上角，单击**节点部署**。
   ![](../../assets/start34.jpg)
   注意：部署节点前，节点状态必须为**创建完成**，否则部署将会失败。                                                                                     
4. 在**节点部署**对话框的**确认部署方式**导航页签，单击**开始自动部署**。
5. 在节点部署对话框的开始自动部署导航页签下，查看节点部署实时日志，待提示部署成功后单击完成。          
  
**手动部署**

注意：手动部署仅支持在Linux环境下运行，且Ansible版本必须大于2.7。

1. 下载手动部署包。
   1. 登录复杂美BaaS平台，在页面左上角切换为联盟控制台。
   2. 在左侧导航栏选择链管理 >平行链，然后在页面左上角切换到未运行的联盟链。
   3. 在平行链的基础信息区域右上角，单击节点部署。                                                           
   4. 在节点部署对话框的确认部署方式导航页签下，下载手动部署包。
   ![](../../assets/start35.jpg)
2. 在自备节点上手动部署。
     1. 登录自备节点。一般可使用SSH、PuTTY、Xshell等工具远程连接服务器。
     2. 将下载好的手动部署包上传到自备节点。
     3. 进到存放部署包的节点目录中并解压压缩包。
      ```Shell
      cd /**                        //**为真实的存放部署包的路径。
      tar zxvf filename.tar.gz    //filename需要替换为真实的部署包压缩包名称。
      ```
     4. 进到解压缩后的文件目录中并执行部署命令.
     ```Shell
     cd /**                       //**为解压缩后的文件目录。
     bash deploy.sh manual       //手动部署命令。
     ```
     5. 根据提示输入节点登录密码。
     6. 等待自动部署，成功后返回如下类似日志。
      ![](../../assets/start12.jpg)

### 结果验证
在联盟链页面查看目标联盟链运行状态，显示为运行中，即表示部署成功。  

![](../../assets/start13.jpg)

除了查看联盟链运行状态外，您还可以查看联盟链的监控指标数据（区块高度、总交易、TPS、活跃节点数等）、各个节点的实时监控指标（CPU使用率、硬盘使用率等）以及一段时间内的指标数据时序图。