超級賬本Fabric區塊鏈用彈珠遊戲Marbles 部署

來源:互聯網
上載者:User
Marbles 示範 Marbles GitHub地址 關於 Marbles 這個應用程式的基礎網路是 Hyperledger Fabric,後者是一個 Linux Foundation 項目。您可能想查閱以下操作說明來稍微瞭解一下 Hyperledger Fabric。 本示範旨在協助開發人員瞭解鏈代碼的基礎知識以及如何使用 Fabric 網路開發應用程式。

這是一個非常簡單的資產轉移示範。多個使用者可以建立並相互轉移彈珠。

Marbles - 分支 v4.0 (Latest)(您將看到這個分支。) 相容 Hyperledger Fabric v1.0.1、v1.0.0 和 v1.0.0-rc1 相容 IBM Blockchain Bluemix 服務 - IBM Blockchain Platform - Enterprise 計劃
應用程式背景

請大家集中注意力,這個應用程式將示範如何利用 Hyperledger Fabric 在許多彈珠所有者之間轉移彈珠。
我們將在 Node.js 中使用一些 GoLang 程式碼完成此任務。
該應用程式的後端將是在我們的區塊鏈網路中啟動並執行 GoLang 代碼。
從現在開始,這些 GoLang 代碼將稱為 ‘鏈代碼’ 或 ‘cc’。
該鏈代碼本身會建立一顆彈珠,將它儲存到鏈代碼狀態中。
該鏈代碼本身可以將資料作為字串儲存在鍵/值對設定中。
因此,我們將字串化 JSON 對象,以便儲存更複雜的結構。

彈珠的屬性包括: ID(唯一字串,將用作鍵) 顏色(字串,CSS 顏色名稱) 尺寸(int,以毫米為單位) 所有者(字串)

我們將建立一個基於 Web 的使用者介面,它可以設定這些值並將它們儲存在區塊鏈中。
這顆彈珠是在區塊鏈儲存(也稱為賬本)中以索引值對的形式建立的。
鍵為彈珠 ID,值為一個包含(上面列出的)彈珠屬性的 JSON 字串。
與 cc 的互動是通過對網路上的一個節點使用 gRPC 協議來完成的。
gRPC 協議的細節由一個名為 Hyperledger Fabric Client SDK 的 SDK 處理。
請查看下圖瞭解拓撲結構細節。 應用程式通訊流

管理員將在他們的瀏覽器中與我們的 Node.js 應用程式 Marbles 進行互動。 此用戶端 JS 代碼將開啟一個與後端 Node.js 應用程式的 Websocket 串連。管理員與該網站互動時,用戶端 JS 將訊息發送到後端。 讀取或寫入賬本稱為提案。這個提案由 Marbles(通過 SDK)構建,然後發送到一個區塊鏈節點。 該節點將與它的 Marbles 鏈代碼容器進行通訊。鏈代碼將運行/類比該交易。如果沒有問題,它會對該交易進行背書,並將其發回我們的 Marbles 程式。 然後,Marbles(通過 SDK)將背書後的提案發送到訂購服務。訂購方將來自整個網路的許多提案打包到一個區塊中。然後,它將新的區塊廣播到網路中的節點。 最後,節點會驗證該區塊並將它寫入自己的賬本中。該交易現在已經生效,所有後續讀取都會反映此更改。

1.鏈代碼部分 - 這是在區塊鏈網路上啟動並執行/包含節點的 GoLang 代碼。也稱為 cc。所有彈珠/區塊鏈互動最終都會在這裡進行。這些檔案位於 /chaincode 中。
1.用戶端 JS 部分 - 這是在使用者瀏覽器中啟動並執行 JavaScript 代碼。使用者介面互動在這裡執行。這些檔案位於 /public/js 中。
1.伺服器端 JS 部分 - 這是運行應用程式的後端的 JavaScript 代碼,即為 Marbles 的核心的 Node.js 代碼。有時該代碼也稱為我們的節點或伺服器代碼。它充當 Marbles 管理員與我們的區塊鏈之間的連接器。這些檔案位於 /utils 和 /routes 中。 Marbles 設定(大前提npm install執行沒問題V*P*N) 0.設定本地環境

安裝Fabric環境要求配置 1.下載 Marbles

    git clone https://github.com/IBM-Blockchain/marbles.git     cd marbles    git checkout v4.0
2.啟動Fabric網路

版本: Hyperledger Fabric v1.0.0
fabric-samples

cd fabric-samples/fabcar./startFabric.shnode invoke.jsnode query.js

3.安裝並執行個體化Marbles的鏈代碼

npm installcd ./scripts./build_marbles_image.shnode install_chaincode.jsnode instantiate_chaincode.js

在執行個體化鏈碼時可能會遇到以下問題

Error: Cannot find module 'fabric-client/lib/Peer.js'

export NODE_PATH=/root/node_modulesgit clone https://github.com/hyperledger/fabric-sdk-node.gitcp -R ~/fabric-sdk-node/fabric-client /root/node_modules/
4.啟動 Marbles
npm install gulp -gnpm installgulp marbles_local

使用 Marbles

啟動後訪問http://ip:3001

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.