區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序

火幣網(huobi.com)最新可用網址(點擊下圖直達註冊!)


火必交易所,曾经的火币交易所!

欧易OKX三大交易所,稳定好用!

币安全球第一大交易所!安全!


我們將使用Hyperledger Composer構建數字銀行。

在開始之前,您需要確保所使用的機器配備瞭必需的配置。您可能需要下載某些先決條件並設置基本的開發環境。以下是執行此操作的鏈接。在開始開發應用程序之前,請執行以下步驟,否則,您肯定會遇到愚蠢的錯誤。

首先安裝Hyperledger Composer,然後安裝開發環境。

安裝環境時,無需啟動Playground。

確保docker正在運行,並且在運行./startFabric.sh時將花費幾分鐘。所以要耐心點。

現在您的機器已經準備就緒,我們可以開始編碼瞭!

1.概述您的業務網絡

業務網絡定義(BND)由數據模型,事務邏輯和訪問控制規則組成。數據模型和訪問控制規則以特定域的語言編碼(非常容易掌握)。交易邏輯將使用JavaScript進行編碼。

要創建BND,我們需要在磁盤上創建合適的項目結構。我們將使用Yeoman創建一個基本的業務網絡。要創建項目結構,請打開您的終端並運行以下命令:

$ yo hyperledger-composer

這將引發一系列問題,如下所示。您將需要使用箭頭鍵瀏覽答案。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序在您喜歡的文本編輯器中打開該項目。我正在使用Visual Code。文件結構如下所示:

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序刪除test / logic.js的內容。我們暫時不會使用它。

2.編制我們的業務網絡(models / test.cto)

首先,我們將定義models / test.cto。它包含業務網絡中所有資產,參與者和交易的類定義。該文件是用Hyperledger Composer建模語言編寫的。

namespace test
asset Account identified by accountId {o String accountId--> Customer ownero Double balance}
participantCustomeridentifiedbycustomerId{oStringcustomerIdoStringfirstNameoStringlastName}
transactionAccountTransfer{-->Accountfrom-->AccounttooDoubleamount}

帳戶是一種由accountId唯一標識的資產。每個帳戶相鏈接的客戶誰是所有者的帳戶。帳戶具有餘額屬性,該屬性指示帳戶隨時擁有多少資金。

客戶是一個由customerId唯一標識的參與者。每個客戶都有firstName和lastName。

AccountTransfer是可能發生的交易,以從一個帳戶多少錢要轉賬存儲。

3.編制業務網絡(lib / logic.js)

在此文件中,我們將在JavaScript中添加事務邏輯。

/***Sampletransaction*@param{test.AccountTransfer}accountTransfer*@transaction*/
functionaccountTransfer(accountTransfer){if(accountTransfer.from.balance<accountTransfer.to.balance){thrownewError("Insufficientfunds");}
accountTransfer.from.balance-=accountTransfer.amount;accountTransfer.to.balance+=accountTransfer.amount;
returngetAssetRegistry('test.Account').then(function(assetRegistry){returnassetRegistry.update(accountTransfer.from);}).then(function(){returngetAssetRegistry('test.Account');}).then(function(assetRegistry){returnassetRegistry.update(accountTransfer.to);});
}

@param {test.AccountTransfer} accountTransfer是我們放在文件頂部的裝飾器,用於將交易與我們的JavaScript函數鏈接在一起。然後,我們驗證資金所在的帳戶中是否有足夠的資金。否則,將引發錯誤。然後,我們對帳戶餘額執行基本的加法和減法。

此時,最重要的步驟是在區塊鏈上進行更新。為此,我們調用資產的getAssetRegistry API,即Account。然後,我們為分配資金的帳戶和接收資金的帳戶更新檢索到的assetRegistry。

4.生成業務網絡存檔(BNA)

現在已經定義瞭業務網絡,必須將其打包到可部署的業務網絡存檔(

.bna

)文件中。

4.1 在您的終端中導航到測試銀行應用程序。

4.2 運行以下命令:

$ composer archive create -t dir -n .

這將在測試銀行文件夾中創建一個.bna文件。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序

5.在結構上部署業務網絡存檔文件

5.1 安裝Composer運行時

$composerruntimeinstall--cardPeerAdmin@hlfv1--businessNetworkNametest-bank

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序5.2 部署業務網絡

$composernetworkstart--cardPeerAdmin@hlfv1--networkAdminadmin--networkAdminEnrollSecretadminpw--archiveFiletest-bank@0.0.1.bna--filenetworkadmin.card

(確保您位於測試銀行文件夾中)。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序5.3 將網絡管理員身份導入為可用的商務網卡

$ composer card import --file networkadmin.card

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序5.4 要檢查業務網絡是否已成功部署,請運行以下命令ping網絡:

$composernetworkping--cardadmin@test-bank

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序6.公開RESTful API

要從命令行創建RESTful API,請運行以下命令:

$ composer-rest-server

這將引發很多問題。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序現在,將瀏覽器指向http:// localhost:3000 / explorer。

您將看到區塊鏈API。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序現在讓我們添加兩個客戶。

讓我們添加一個名為Niharika Singh的客戶:

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序我們得到一個200的響應碼。

現在,我們將以類似的方式添加名為Tvesha Singh的客戶。

要檢查是否正確添加瞭它們,請獲取它們。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序您將在響應正文中看到兩個客戶。

現在,我們添加鏈接到這兩個客戶的2個帳戶。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序通過這種方式添加賬戶。現在,獲取它們以檢查是否正確添加瞭它們。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序現在讓我們將75從Niharika轉移到Tvesha。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序

讓我們通過獲取帳戶信息來檢查餘額是否已更新。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序Niharika現在有25,而Tvesha有125。

7.有角前端

要自動創建Angular腳手架,請在test-bank文件夾中運行以下命令:

$ yo

這將問多個問題。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序這將需要幾分鐘。

導航到銀行應用程序。

$ npm start

這將啟動Angular服務器。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序Angular文件結構的創建如下:

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序將瀏覽器指向http:// localhost:4200。那就是魔術發生的地方!您會看到以下屏幕:

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序現在,轉到右上角的“資產”,然後點擊“賬戶”。

區塊鏈研究實驗室 | 如何使用Hyperledger在區塊鏈上創建應用程序這些是我們創建的確切賬戶。

因此,現在您可以嘗試一下。

您已經準備好前端和後端!

在localhost:3000上發生的所有事務都反映在localhost:4200上,反之亦然。而這一切都在區塊鏈上。

作者:鏈三豐,來源:區塊鏈研究實驗室



返回列表页>>> 比特幣最新新聞