字體:小 中 大 | |
|
|
2018/10/21 08:11:46瀏覽181|回應0|推薦1 | |
泛用型區塊鏈應用開發步驟與建模範例 作者: 夏肇毅 在區塊鏈發展的過程中,一般稱區塊鏈1.0是加密貨幣應用,區塊鏈2.0是智能合約在金融及產權上的應用。而到了區塊鏈3.0,就是將區塊鏈應用到各行各業上。本文的泛用型區塊鏈網路,指的就是在區塊鏈3.0上的應用。它的設計目標,就是把一般應用的資料庫層轉換成一個DLT區塊鏈網路層。所以開發的方法還是承襲傳統的方式,只是把資料庫建模過程改成區塊鏈智能合約建模。所以針對一個泛用型的區塊鏈網路開發,應該有以下步驟: -必要性與可行性分析: 篩選目標專案群,挑出值得使用DLTs保存重要資料的專案。之後按規模大小,必要性與急迫性排出優先次序。 -架構規劃 了解 HyperLedger Fabric 架構與性能 根據專案規模,容量,速度,需求來規劃適合的架構 利用 HyperLedger Composer 練習區塊鏈建模概念 -系統分析(SA) 篩選能交易所有權且值得轉換到區塊鏈保存的資產項目 挑選可完全轉換到區塊鏈的原有的應用網頁 確認所篩選的資產資料完備,能滿足功能需求 利用智能合約當資產資料載體 -系統設計(SD) 訂定智能合約規格 將原有SQL資料表對應定義到智能合約內 設計滿足應用需求的操作API規格 將此區塊鏈 API 視為資料介面層與 DB2, Oracle, MSSQL, MySQL, NoSQL 對等相對應 上層的Web應用可選擇任何一種資料介面層 開發時再一步步的將原有SQL API 轉到區塊鏈API 上利用原有的應用網頁做功能測試 -開發(Implemantation) 用Hyperledger Composer來產生解決方案的步驟為: 建立業務網路結構: 定義資料模型,業務邏輯以及存取控制規則。 定義業務網路: 一個業務網路包括資產,交易,參與者,存取控制規則,事件與查詢。 產生業務網路檔 部署業務網路 產生業務網路服務器 產生應用程式 -測試(Test) -部署(Deployment)
利用Hyperledger Composer所提供的Playground ,我們可以隨手驗證一下區塊鏈網路的業務模型。 進入Hyperledger Composer 所提供的Playground。修改 Model File,在SampleAsset內新增Address 與Type。 asset SampleAsset identified by assetId { o String assetId --> SampleParticipant owner o String value o String Address o String Type } 在SampleTransaction 內新增buyer 與seller。 transaction SampleTransaction { --> SampleAsset asset o String newValue --> SampleParticipant buyer --> SampleParticipant seller } 其中符號"o"表示資料欄位,而"-->"表示物件連結指標,與資料庫中的外鍵類似。 點選Test tab後,再點Create New Participant。
點選Create New Asset 後輸入資料,可見完成資產輸入後的畫面。 點選Submit Transaction 來做交易。 之後便可見所有交易。 這這過程中,我們可以看到如同資料庫欄位的定義,也能看到像資料庫正規化後的外鍵連結。多練習一下,應該很快就能得到如何將資料庫轉到智能合約的概念了。 |
|
( 知識學習|隨堂筆記 ) |