使用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的博客

相關文章
相關標籤/搜索