文章目录

  • 从IBM Cloud控制面板导出连接信息
  • 在VSCode中创建gateway和wallet
  • 在VSCode中提交transaction

上篇文章我们讲到怎么在IBM Cloud搭建区块链环境并且将本地的智能合约导出并安装在IBM Cloud网络环境中。

本篇文章我们会继续讲解如何通过本地的VSCode来远程连接和调用部署在远程的IBM Cloud上的智能合约。

从IBM Cloud控制面板导出连接信息

如果客户端需要连接到Fabric网络,需要通过gateway来连接。如果是实际的应用程序,需要通过使用Hyperledger Fabric SDKs作为gateway来连接Fabric网络。

本质上VSCode也是一个客户端,所以VSCode也可以通过gateway来连接远程Fabric网络。VSCode的IBM blockchain extention已经在插件面板上提供了FABRIC GATEWAYS选项,我们直接在这里使用即可。下面看下如何配置一个FABRIC GATEWAY。

通过该GATEWAY,我们可以在VSCode中,远程submit/evaluate网络中的tranaction.

  1. 首先创建和注册一个连接账号(enroll ID + secret)。

在上篇文章中,我们讲到过如何在CA中创建新的ID。这个创建的过程就是enroll的过程,将这个个ID在CA中注册,并配置相应的权限。

在Nodes面板中,在Certif Authorities中,我们找到之前创建的CA : Org1 CA。 点击Register user。输入vscode和vscodepw作为id和secret。选择Client作为类型,affiliation选择org1。 maximum enrollments留空。点击next即可创建新的id。

注意这里maximum enrollments的作用,maximum enrollments指定了最大的enrollment次数,如果设定为1,则该ID只能被enroll一次,后面就没有用了。这对于赋予指定用户的权限的时候非常有用。

  1. 导出Connection profile

我们需要使用到Connection profile才能连接到Fabric网络。在Smart contracts面板选中之前实例化的智能合约,点击… 选择Connect with SDK,选择org1msp 和 Org1 CA 作为你的MSP和Certificate Authority, 然后点击 Download connection profile,下载出来。

在VSCode中创建gateway和wallet

  1. 创建gateway

打开IBM Blockchain Platform,在FABRIC GATEWAYS 点击 + , 输入ibm_cloud作为你的gateway名字, 接下来它需要你选择一个profile,选择上面从IBM Cloud上面下载的profile, 然后gateway就创建好了。

点击该gateway, 他需要你选择一个wallet,下面我们看下怎么创建wallet。

  1. 创建wallet

在FABRIC WALLETS 中点击 + , 选择Create a new wallet and add an identity, 给它起个名字:ibm_cloud_wallet, 给identity起个名字:id,输入org1msp作为mspid, 选择Select a gateway and provide an enrollment ID and secret, 选择你刚刚创建的ibm_cloud, 输入vscode和vscodepw作为id和security。 接下来你就可以在FABRIC WALLETS中看到创建的identity了。

背后的故事: 刚刚我们实际上发送了一个enroll请求到IBM Cloud上面的CA,并且获得了一个ID,并存储在本地的wallet里面,以供后面使用。

添加wallet之后,如果你再次点击ibm_cloud, 还是会要你去选择一个wallet, 这时候可以右键点击ibm_cloud,选择Associate A Wallet, 将 ibm_cloud_wallet和ibm_cloud关联起来,这样就不用每次都再次选择了。

在VSCode中提交transaction

现在我们已经有了可以连接到IBM Cloud的gateway了。接下来, 我们看一下怎么在VSCode中提交transaction。

  1. 在FABRIC GATEWAYS中点击ibm_cloud。

  2. 打开Channels > channel1 > demoContract@0.0.1

  3. 右键点击myAssetExists,选择Evaluate Transaction. 输入[“001”] 作为key,因为我们现在没有任何值,所以你会看到:

    [SUCCESS] Returned value from myAssetExists: false

  4. 右键点击createMyAsset,选择 Submit Transaction 输入 [“001”, “hello ibm cloud”] ,我们就创建好了一个asset。

  5. 接下来我们选择readMyAsset的 Evaluate Transaction 接下来输入 [“001”],我们可以看到asset成功创建了。

    [SUCCESS] Returned value from readMyAsset: {"value":"hello ibm cloud"}

恭喜你,你已经可以从本地的VSCode远程了解IBM Cloud Fabric网络了。

更多精彩内容且看:

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

更多教程请参考 flydean的博客

使用VSCode连接到IBM Cloud区块链网络相关推荐

  1. 基于ubuntu16.04部署IBM开源区块链项目-弹珠资产管理(Marbles)

    前言 本教程基本上是对Marbles项目的翻译过程. 如果英文比较好的话,建议根据官方操作说明,一步步进行环境部署.当然你也可以参考本教程在自己的主机上部署该项目. Marbles 介绍 关于 Mar ...

  2. IBM推出跨境支付区块链网络,企业级区块链技术进一步升级

    周一,IBM公布了一个应用于跨境支付的区块链网络,这也是首个同类型的国际支付网络. "这标志着企业区块链应用实践进化到了一个新的阶段."IBM全球区块链市场开发副总裁Jesse L ...

  3. 嗖嗖嗖~构建区块链网络,Starter Plan自带加速度!

    如果你正打算探索 用于业务用途的分布式账本技术, 并希望构建一个业务区块链 来进行演示.试验或预生产过渡, 那么这篇文章应该非常适合你去阅读. 今天,我们将学习如何使用 StarterPlan, 以及 ...

  4. 区块链基础知识系列 第一课 区块链网络简介

    区块链是一种分布式分类帐技术 (DLT),通过建立新一代事务性应用程序的新信任度.可计帐性和透明度,来简化业务流程.区块链网络首次引入到了比特币兑换市场,但其实际使用范围远远超出了加密数字货币事务处理 ...

  5. 区块链网络端口及证书

    一.网络的三类端口 区块链网络由多个互相连接的节点构成,每个节点又与客户端.浏览器和监控工具等相连接.区块链网络包括P2P端口.RPC端口和Channel端口. RPC(即Remote Procedu ...

  6. Fabric区块链网络

    翻译自fabric官方文档: https://hyperledger-fabric.readthedocs.io/en/release-1.3/network/network.html Fabric区 ...

  7. 记AELF区块链网络的一次内存持续增长问题排查

    记AELF区块链网络的一次内存持续增长问题排查 背景:测试同学运行AElf单节点过程中,发现节点突然不再出块,经查看日志发现 Worker(交易执行进程) 全部掉线,无法继续执行交易,从而导致节点挂掉 ...

  8. 腾讯公开“区块链网络的信息处理方法”相关专利

    企查查App显示,1月8日,腾讯科技(深圳)有限公司公开专利"区块链网络的信息处理方法.装置及节点设备",申请日为2020年12月,公开号为CN112202933A.该专利摘要显示 ...

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

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

最新文章

  1. z-index 用法
  2. 别名的应用(New-Alias)
  3. ArcGIS Pro发布三维场景服务
  4. mysql+keepalived必须要lvs吗_MySQL 双主热备 + LVS + Keepalived 高可用操作记录
  5. 聊聊JvmGcMetrics的managementExtensionsPresent
  6. 有点小激动-Index Condition Pushdown Optimization
  7. 周志华眼中的贝叶斯方法(转)
  8. QT实现共享内存进行进程间通信
  9. Sql Server日期格式的转换收集
  10. 人工智能实战小程序之语音_前端开发
  11. linux vi行尾总是显示颜色,【转载】Linux 下使用 vi 没有颜色的解决办法
  12. js面试题:fn.call.call.call.call(fn2) 解析
  13. Linpack 安装和使用步骤
  14. tda7415c参数_TDA7541TDA7415调试小结
  15. 无线打印服务器怎么安装,【DDwifi打印服务器】Windows 7系统添加打印机步骤(离线安装打印机驱动)...
  16. 校招总结—FPGA从入门到放弃
  17. 参考资料来自 懒兔子 的公众号
  18. CodeForces - 1325C Ehab and Path-etic MEXs
  19. iannotate pdf android,把PDF文件加入到iAnnotate应用的方式
  20. python基础教程:python+gdal+遥感图像拼接(mosaic)的实

热门文章

  1. 关于欧拉工程的一道递推题
  2. 中国剩余定理(CRT)扩展中国剩余定理(exCRT)
  3. Delphi TIniFile 用法
  4. delphi7下安装TMS component
  5. Kafka设计解析(三) : Kafka High Availability (下)
  6. MFC六大核心机制之四:永久保存(串行化)
  7. 数据结构与算法 | 快速排序:Hoare法, 挖坑法,双指针法,非递归, 优化
  8. 抖音xgorgon04参数
  9. 高薪Java工程师必看的书籍
  10. 阿里开源的Arthas竟然还不会用?最佳实践来了!