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

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

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

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

若是客户端须要链接到Fabric网络,须要经过gateway来链接。若是是实际的应用程序,须要经过使用Hyperledger Fabric SDKs做为gateway来链接Fabric网络。区块链

本质上VSCode也是一个客户端,因此VSCode也能够经过gateway来链接远程Fabric网络。VSCode的IBM blockchain extention已经在插件面板上提供了FABRIC GATEWAYS选项,咱们直接在这里使用便可。下面看下如何配置一个FABRIC GATEWAY。lua

经过该GATEWAY,咱们能够在VSCode中,远程submit/evaluate网络中的tranaction.spa

  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。code

注意这里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,下载出来。orm

在VSCode中建立gateway和wallet

  1. 建立gateway

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

点击该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网络了。

更多教程请参考 flydean的博客

相关文章
相关标签/搜索