本文將描述如何在 BaaS 中運行該樣本程式。
Fabric Nodejs SDK 的樣本程式是來自社區的 marbles,其中包含了一個鏈碼和一個 Web 小遊戲。
安裝 Nodejs 和 NPM
marbles 依賴 Nodejsv8 版本和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。