文章目录

  • 打包智能合约
  • 创建IBM Cloud services
  • 创建fabric网络
    • 创建org和相应的节点
    • 创建order org和相应节点
    • 创建和加入channel
  • 导入智能合约

上篇文章我们讲了怎么使用IBM blockchain platform extension在VS Code编辑器中创建本地运行的智能合约。

创建完智能合约之后,可以在自己搭建的blockchain环境中运行,也可以在各大云平台上面运行。目前IBM,腾讯云,阿里云,AWS等都提供了区块链的SAAS服务,可以非常方便的对hyperledger fabric区块链网络进行管理和扩展,这篇文章主要描述如何在IBM Cloud平台上面运行Fabric智能合约。借此可以对部署fabric区块链的流程有个非常清楚的认识,这些步骤和流程即使在后面部署到自己搭建的网络上,也同样适用的。

打包智能合约

我们将在VS Code上使用IBM Blockchain Platform扩展来打包智能合约。

打开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分钟才能完成。

创建fabric网络

在创建好了blockchain platform之后,就可以开始配置fabric网络了。

我们需要创建一个具有单个peer的组织,和该组织的MSP和CA(证书颁发机构)以及一个order组织,和它的MSP和CA。 我们将创建相应的identities以部署peer节点并操作节点。

创建org和相应的节点

  • 创建peer org CA

    • 单击添加证书颁发机构。

    • 在“创建证书颁发机构”下单击“ IBM Cloud”,然后单击“下一步”。

    • 给它一个取名Org1CA。

    • 指定admin作为Admin ID和adminpw作为Admin Secret。

  • 使用该CA来注册identities

    • 选择我们创建的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 CA

    • 点击Add Certificate Authority,设置Orderer CA为Display name。
    • admin和adminpw为Admin ID和Admin Secret。
  • 使用该CA来注册order admin和 order认证

    • 选择Orderer CA,点击Register User。
    • ordereradmin和ordereradminpw作为Enroll ID和Enroll Secret。类型选择client。
    • 点击Register User, 输入orderer1和orderer1pw作为Enroll ID和 Enroll Secret 。类型选择peer。

  • 创建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上面。

更多精彩内容且看:

  • 区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新
  • Spring Boot 2.X系列教程:七天从无到有掌握Spring Boot-持续更新
  • Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
  • java程序员从小工到专家成神之路(2020版)-持续更新中,附详细文章教程

更多教程请参考 flydean的博客

在IBM Cloud中运行Fabric相关推荐

  1. 容器中运行Fabric区块链网络

    2019独角兽企业重金招聘Python工程师标准>>> 容器中运行Fabric区块链网络 Fabric是区块链项目Hyperleger的主要工程,可以在容器中运行,快速建立实验区块链 ...

  2. ibm cloud怎么使用_使用VueJS,FeathersJS和GraphQL快速入门IBM Cloud

    ibm cloud怎么使用 by Thomas Reinecke 由托马斯·雷内克(Thomas Reinecke) 使用VueJS,FeathersJS和GraphQL快速入门IBM Cloud ( ...

  3. ibm cloud_使IBM Cloud成为您选择平台的十大理由

    developerWorks发布了许多有关如何使用IBM Cloud服务的技术内容 . 在本文中,我将为您所见过的所有技术内容添加一些变化,并为您选择IBM Cloud作为您选择的云平台的十大理由. ...

  4. ibm cloud怎么使用_使用IBM Cloud设置安全的混合云环境

    ibm cloud怎么使用 关于本系列 这个由3部分组成的系列文章"使用带有WebSphere Liberty的SAML 2.0进行跨域单点登录"介绍了一种在混合云环境中使用IBM ...

  5. 带你玩转新一代无服务器产品:IBM Cloud Code Engine(二)

    在上一篇博客中我们简单了解了一下IBM Cloud Code Engine,是一个完全托管的.无服务器的平台,它运行您的容器化工作负载,包括web应用程序.微服务.事件驱动的函数,以及具有" ...

  6. 轻松云上开发:从IBM Cloud 开始!

    在本文的开头,先给大家讲三个典故. 典故一:工欲善其事,必先利其器 "工欲善其事,必先利其器."是孔子的两句名言,指在做工作前如果能够选择到好的工具,那么,在工作的执行中就能得心应 ...

  7. Grush如何使用IBM Cloud Architecture Center中的IoT架构构建智能牙刷

    存档日期:2019年5月15日 | 首次发布:2016年5月24日 当初创公司Grush着手构建智能牙刷时,他们求助于IBM的云和物联网平台,以使他们的牙刷能够捕获实时数据并把牙刷的艺术化. 了解他们 ...

  8. 深度解析:AWS、谷歌云、IBM Cloud和微软 Azure四巨头2018将会有哪些布局?

    来源: IDC圈 近来,公司规模已经不再是企业选择云服务商的重要因素,市场对云服务商优劣的判断有了多种标准.企业对全球一些大型云计算服务商(例如亚马逊AWS,谷歌云平台,IBM Cloud和微软 Az ...

  9. 使用VSCode连接到IBM Cloud区块链网络

    文章目录 从IBM Cloud控制面板导出连接信息 在VSCode中创建gateway和wallet 在VSCode中提交transaction 上篇文章我们讲到怎么在IBM Cloud搭建区块链环境 ...

最新文章

  1. 六个最佳的软件工程实践(持续的质量验证、变更管理)
  2. 深层上下文化的单词表示
  3. NSURLSession使用说明及后台工作流程分析
  4. Maven知识点简要
  5. 文献管理工具mendeley登录问题
  6. session_id()和session_regenerate_id()对原来session文件和其中数据是怎么处理的
  7. html纵向滚动特效,带视觉差效果的垂直全屏整页滚动特效
  8. hybbs接口php,HYBBS
  9. fsk调制解调实验报告 matlab,基于MATLAB的-FSK调制与解调-通信原理实验
  10. HTML粘性滑块导航源码-可用来做首页
  11. mysql数据库管理命令_MySQL数据库管理基本命令
  12. c语言实现可变单链表,c语言实现单链表
  13. [4.6校内训练赛]
  14. grub4dos初级教程-入门篇(Z)
  15. 关于sql查询分析器无法登录的问题
  16. C++多线程 - 无锁编程
  17. aseprite 中心对称绘制脚本
  18. 原始套接字Raw Socket基础-- WSADATA wsaData(转)
  19. PS制作搞笑印章 - 仿真印章 - 水印滤色
  20. 什么叫特立独行,其实不过是活在自己的节奏里

热门文章

  1. [loj2087][NOI2016]国王饮水记
  2. PostgreSQL学习笔记2之模式
  3. 第10讲:高效存储 MongoDB 的用法
  4. 硬核分析|腾讯云原生OS内存回收导致关键业务抖动问题
  5. 作为前阿里人,来扒一扒中台皇帝的外衣!
  6. 万字归纳总结 | 数据库表设计与SQL编写技巧
  7. 历经5代跨越25年的RTC架构演化史
  8. 在3kbps的带宽下还能清晰地语音聊天?
  9. 图像分割 2020 最新进展
  10. Google与Pixar开发Draco支持USD格式 加速3D对象传输