本文將描述如何在 BaaS 中運行該示例程序。
Fabric Nodejs SDK 的示例程序是來自社區的 marbles,其中包含了一個鏈碼和一個 Web 小游戲。
安裝 Nodejs 和 NPM
marbles 依賴 Nodejs
v8 版本和npm
,通過以下命令確認 Nodejs 和 npm 已經安裝成功。
$ node --version
v8.11.2
$ npm --version
5.6.0
下載示例程序
下載 node-sdk-demo-1.4.5 到任意目錄并解壓縮,得到目錄node-sdk-demo。復制SDK配置文件 connection-profile-standard.json
配置文件到目錄 node-sdk-demo/config
下,最終目錄結構如下:
打開并修改配置文件 config/connection-profile-standard.json
:將用戶名和密碼構造成如下JSON內容,并新增到對應的 certificateAuthorities
段落中。
"registrar": [
{
"enrollId": "user",
"enrollSecret": "user-secret"
}
],
例如:區塊鏈組織頁面中創建的用戶名和密碼為:user/user-secret,且該用戶來自 test10
組織,那么就將用戶信息增加到CA: ca1.test10.aliyunbaas.top
下,修改完成后的配置文件如下圖所示:
將JSON文件內容格式化后更便于編輯,可以使用在線服務:https://jsonlint.com/ 進行格式化。編輯完成后建議使用格式化工具監測JSON格式是否合法。
上傳鏈碼
將文件 node-sdk-demo/chaincode/marbles_v4.cc
上傳至BaaS并實例化,上傳方法可以參考部署鏈碼章節。
運行示例程序
執行如下命令安裝 marbles 依賴和啟動 marbles 應用:
npm install --registry http://registry.npmmirror.com
gulp marbles_baas
看到有如下輸出時,即表明 marbles 應用已經啟動:
debug: Open your browser to http://localhost:3001 and login to tweak settings for startup
在瀏覽器中打開地址:http://localhost:3001/ 訪問 marbles 示例程序。如果需要密碼,輸入 admin
即可。
由于BaaS生成的connection-profile-standard.json
是標準的fabric配置文件,未包含chaincode的配置信息(此配置為 marbles 的個性化配置),所以您可能會看到一些找不到鏈碼的日志輸出,如’Missing “chaincodeId” parameter’,這些錯誤日志是預期中的,不影響marbles的運行。
接下來將在 marbles 引導頁中配置鏈碼的相關信息,所以選擇“Guided”模式:
自動跳轉到第三步驟,開始配置Chaincode的信息:
channel: 填寫上傳 marbles_v4 的通道名,如first-channel。
chaincode_id: 填寫marbles。
chaincode_version: 填寫v4。
輸入完成后,單擊Try Again,如果成功監測到鏈碼將會看到如下頁面。如果檢查失敗,請再次確認是否已經上傳鏈碼并且鏈碼已經實例化。
此時已經配置完成,關閉彈窗即可開始試用。這是一個在不同用戶之間轉移彩色大理石資產的示例程序,可以將大理石在不同用戶之間拖動以表示轉移資產。單擊用戶右側的“+”可以在該用戶下新增一個大理石資產。拖動大理石到右上角的垃圾桶即可刪除該資產。
更多marbles的資料可以參考社區文檔,更多 Nodejs SDK 的使用說明可以參考社區fabric-sdk-node。