上篇文章我们讲了怎么使用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上面。

更多教程请参考 flydean的博客

在IBM Cloud中运行Fabric的更多相关文章

  1. 免费申请使用IBM Cloud Lite(轻量套餐) 详细教程指南

    注册轻量帐户可在 IBM CLOUD控制台中使用所选的显示有轻量标记的免费轻量套餐来构建应用程序和探索服务.轻量帐户不会到期,也无需信用卡. 本文详细的介绍了一下,免费云服务的申请以及使用!这次使用I ...

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

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

  3. 在Docker容器中运行.Net Core web Api项目

    安装Docker环境 参考本人这篇<CentOS 7 下Docker的安装>文章进行安装以及环境配置,这里不做赘述. 通过.NetCore开发WebApi项目 1. 创建.Net Core ...

  4. Spring Cloud中负载均衡器概览

    在上篇文章中(RestTemplate的逆袭之路,从发送请求到负载均衡)我们完整的分析了RestTemplate的工作过程,在分析的过程中,我们遇到过一个ILoadBalancer接口,这个接口中有一 ...

  5. Spring Cloud中的负载均衡策略

    在上篇博客(Spring Cloud中负载均衡器概览)中,我们大致的了解了一下Spring Cloud中有哪些负载均衡器,但是对于负载均衡策略我们并没有去详细了解,我们只是知道在BaseLoadBal ...

  6. Windows2008安装WebSphere 6.1提示此安装程序不能在图形方式中运行

    推荐的解决方式:http://blog.sina.com.cn/s/blog_4b010fb50100n1mk.html 在一般情况下,安装Websphere是直接运行launchpad.exe,然后 ...

  7. Spring Cloud中Hystrix、Ribbon及Feign的熔断关系是什么?

    导读 今天和大家聊一聊在Spring Cloud微服务框架实践中,比较核心但是又很容易把人搞得稀里糊涂的一个问题,那就是在Spring Cloud中Hystrix.Ribbon以及Feign它们三者之 ...

  8. 在 Docker 中运行 SpringBoot 应用

    创建 SpringBoot 项目 用 Idea 创建一个 SpringBoot 项目,编写一个接口: package cloud.dockerdemo import org.springframewo ...

  9. Alpine容器中运行go的二进制文件

    Alpine容器中运行go的二进制文件 kuSorZ · 3月之前 · 214 次点击 · 预计阅读时间 1 分钟 · 2分钟之前 开始浏览 原文出处:https://cloud.tencent.co ...

随机推荐

  1. Activiti网关--包含网关

    1.什么是包含网关 包含网关可以看做是排他网关和并行网关的结合体:和排他网关一样,你可以在外出顺序流上定义条件,包含网关会解析它们:但是主要的区别是包含网关可以选择多于一条顺序流,这和并行网关一样,包 ...

  2. Python起步学习

    Python起步学习 案例1:程序输入输出 案例2:判断合法用户 安全3:编写判断成绩的程序 1 案例1:程序输入输出 1.1 问题 编写login.py脚本,实现以下目标: 提示用户输入用户名 将用 ...

  3. ListView + ArrayAdapter + 接口回调

    众所周知,ListView是安卓最为频繁使用的控件,但是,随着人们审美观的提高,一些初级的ListView已经满足不了需求了,于是,我们必须为自己定制一套专属的ListView,这就需要用到适配器,A ...

  4. Linux 用户管理篇(一)

    查看当前在线的用户    who 切换不同用户工作界面    ctrl + alt + [F1 - F6] 切换图形界面        ctrl + alt + F7 注消用户        exit ...

  5. String 对象-->split() 方法

    1.定义和用法 split() 方法用于把一个字符串分割成字符串数组. 语法: string.split(separator,limit) 参数: separator:可选.字符串或正则表达式,从该参 ...

  6. json === dict

    import requests import json ''' json.loads(json_str) json字符串转换成字典 json.dumps(dict) 字典转换成json字符串 ''' ...

  7. app扫描二维码登陆

    先说明一下实现原理: 如同微信扫描登陆一样,就是一种pc的自动登陆授权.在网站首页得有切换登陆的选项:密码登陆 扫码登陆 当用户切换到扫码登陆时,向服务器请求一次获得一个唯一的uukey 利用这个uu ...

  8. Git应用详解第八讲:Git标签、别名与Git gc

    前言 前情提要:Git应用详解第七讲:Git refspec与远程分支的重要操作 这一节主要介绍Git标签.别名与Git的垃圾回收机制. 一.Git标签(tag) 1.标签的实质 标签与分支十分相似, ...

  9. AJ学IOS 之ipad开发qq空间项目横竖屏幕适配

    AJ分享,必须精品 一:效果图 先看效果 二:结构图 如图所示: 其中用到了UIView+extension分类 Masonry第三方框架做子控制器的适配 NYHomeViewController对应 ...

  10. centos7用户管理及root忘记密码恢复

    查看用户相关命令:#id 用户和组的信息#whoami #查看当前有效用户名#who #显示目前登入系统的用户信息.#w # w 命令用于显示已经登陆系统的用户列表#users #用于显示当前登录系统 ...