上篇文章咱们讲了怎么使用IBM blockchain platform extension在VS Code编辑器中建立本地运行的智能合约。网络
建立完智能合约以后,能够在本身搭建的blockchain环境中运行,也能够在各大云平台上面运行。目前IBM,腾讯云,阿里云,AWS等都提供了区块链的SAAS服务,能够很是方便的对hyperledger fabric区块链网络进行管理和扩展,这篇文章主要描述如何在IBM Cloud平台上面运行Fabric智能合约。借此能够对部署fabric区块链的流程有个很是清楚的认识,这些步骤和流程即便在后面部署到本身搭建的网络上,也一样适用的。编辑器
打包智能合约
咱们将在VS Code上使用IBM Blockchain Platform扩展来打包智能合约。ide
打开VS Code里面的智能合约面板,选择你要导出的智能合约,右键点击,选择“Export Package”,在您的计算机上找到一个位置并保存.cds文件。 稍后,咱们将使用此程序包智能合约在IBM Blockchain Platform 2.0服务上进行部署。区块链

如今,咱们将开始在IBM Cloud上设置和配置Hyperledger Fabric网络。阿里云
建立IBM Cloud services
登陆IBM Cloud,建立IBM Cloud Kubernetes服务。 您能够在目录中找到该服务。 IBM Cloud提供一个免费集群实例,并在30天后过时。 注意:Kubernetes服务设置可能须要20分钟才能完成。spa

建立fabric网络
在建立好了blockchain platform以后,就能够开始配置fabric网络了。orm
咱们须要建立一个具备单个peer的组织,和该组织的MSP和CA(证书颁发机构)以及一个order组织,和它的MSP和CA。 咱们将建立相应的identities以部署peer节点并操做节点。blog
建立org和相应的节点
-
建立peer org CA教程
- 单击添加证书颁发机构。
- 在“建立证书颁发机构”下单击“ IBM Cloud”,而后单击“下一步”。
- 给它一个取名Org1CA。
- 指定admin做为Admin ID和adminpw做为Admin Secret。

-
使用该CA来注册identitiesci
- 选择咱们建立的org1 CA证书颁发机构。
- 首先,咱们将为组织“ org1”注册一个管理员。 单击注册用户按钮。 输入org1admin做为注册ID,并输入org1adminpw做为注册密码。 点击下一步,将此身份的类型设置为client,而后从下拉列表中选择关联全部组织。 咱们将“最大注册人数”和“添加属性”字段留空。
- 咱们将重复该过程以建立peer的身份认证。 单击注册用户按钮。 使用peer1做为注册ID,以及peer1pw做为注册密码。 点击下一步,将此身份的类型设置为peer,而后从下拉列表中选择关联全部组织。 咱们将“最大注册人数”和“添加属性”字段留空。

-
建立peer组织的MSP
- 选择Organizations,点击Create MSP definition
- 使用Org1 MSP做为“MSP Display name”,org1msp做为MSP ID。
- 选择Org1 CA做为该组织的root CA 。
- organization admin的Enroll ID和Enroll secret 分别为:org1admin 和 org1adminpw。Identity name 选择Org1 Admin。
- 点击Generate和Export来生成该组织的admin identity并将其导出到本地文件系统。最后,点击Create MSP definition完成MSP的建立。

-
建立peer节点
- 在Nodes页面,点击Add peer按钮,使用Peer Org1做为Display name。
- 选择Org1 CA做为Certificate Authority。
- peer1和peer1pw做为Enroll ID 和 Enroll secret 。Org1 MSP做为 Administrator Certificate。
- admin和adminpw做为 TLS Enroll ID和TLS Enroll secret。
- Org1 Admin 做为Associate an identity 。

建立order org和相应节点
建立order org和peer org的步骤高度类似。

-
建立order org的MSP
- 点击Create MSP definition,Orderer MSP做为MSP Display name ,orderermsp做为MSP ID 。
- Orderer CA做为Root Certificate Authority。
- ordereradmin和ordereradminpw做为Enroll ID和 Enroll secret。Orderer Admin做为Identity name。
- 点击Create MSP definition完成建立。

-
建立order节点
- 点击Add orderer,Orderer做为Display name ,Orderer CA做为Certificate Authority。
- orderer1,orderer1pw做为Enroll ID 和Enroll secret 。
- Orderer MSP做为Administrator Certificate。
- admin和adminpw做为TLS Enroll ID,TLS Enroll secret
- Orderer Admin做为Associate an identity。

-
关联order和peer
- 点击咱们刚刚建立的Orderer。
- 在Consortium Members下点击Add organization。
- 选择Org1 MSP,点击提交。

建立和加入channel
-
建立channel
- 点击Create channel,给channel起名:mychannel
- 选择刚刚建立的order,选择Org1 MSP (org1msp)做为MSP。
- Org1 Admin做为关联认证。
- 点击添加,选中Operator。
- 点击建立

-
把peer加入channel
- 点击Join channel,选择Orderer,选择mychannel,选择要加入的peer: Peer Org1。 提交。

虽然很复杂,可是恭喜你,你已经建立好了fabric网络。
导入智能合约
-
安装智能合约
- 点击Smart contracts,点击 Install smart contract,选择咱们以前导出的智能合约。
- 点击添加文件,点击安装。

-
实例化智能合约
- 在smart contracts tab,找到你刚刚安装的智能合约。
- 点击Instantiate,选择mychannel,选择org1msp。
- 点击Instantiate。
好了,智能合约完美的部署到了IBM Cloud上面。
更多教程请参考 flydean的博客