使用MVC模式實現區塊鏈開發
當我們在設計Convector,我們想達到的基本目標之一是使開發人員與blockchain互動儘可能順利。
目前大多數用於區塊鏈開發的語言和庫都使用了很多複雜的術語,區塊鏈開發人員的心智經常被底層區塊鏈技術打擾,區塊鏈開發人員應該關注應用程式邏輯而不是其背後的技術。
今天,區塊鏈開發已經不需要資料庫專家了。明天,區塊鏈開發也不需要專門的區塊鏈專家。
- 沃爾特蒙特斯
原因是:區塊鏈是一種資料儲存,大多數時間都受到一組預定義規則的保護,這些規則通常稱為智慧合約或鏈程式碼。
這就是為什麼在Convector中我們為框架的核心原則選擇一個熟悉的術語,這個術語就是應用開發領域中最成功的模式之一:MVC(模式 - 檢視 - 控制器),它基本上包含一個描述資料的模型和一個控制器。
因此,假設你想建立自己的加密貨幣。其模型的屬性將是:名稱,符號,總供應,餘額,建立者等。它的控制器符合以下方法:轉移,批准,從哪裡移出,mint等。如果你是一個技術嫻熟的人,你已經意識到這些都是以太坊標準ERC-20的概念。
我們已經有了一個非常可靠的模型來說明如何輕鬆地塑造智慧合約。但是,當我們遷移內部應用程式的合同時,我們意識到,如果我們想要使區塊鏈開發變得非常簡單,我們不僅要使得建立變得直接方便,還要使其使用變得方便。
我們發現自己編寫了後端和UI服務,重複了呼叫智慧合約的方法。這不好 :(
我們提出了一個想法,即採用我們已經為智慧合約層建立的相同控制器和模型,並將它們轉移到所有其他層,如伺服器或瀏覽器,這樣我們就可以自信地執行一行程式碼,Token.transfer(100, '0x165DE7FA3E5')
無論我們是否在瀏覽器、伺服器或區塊鏈等不同上下文中,這一條語句會足夠聰明,它會採取必要的步驟來執行區塊鏈交易事務。
因此,我們需要一種方法用於與區塊鏈通訊的邏輯,可根據環境上下文的不同而改變。在瀏覽器中不用安裝區塊鏈資料庫,你所做的只是直接呼叫區塊鏈API的HTTP方法。
控制器需要一個介面卡來解析它們對模型執行的操作。在瀏覽器中,這可能會觸發對後端的HTTP呼叫。在後端,這可能會觸發對區塊鏈的HTTP呼叫。在區塊鏈本身,它實際上執行驗證交易的步驟,即:交易作者可以轉移這些代幣嗎?
模型需要一個可以執行CRUD操作的儲存層。同樣,在瀏覽器中,這可能是向區塊鏈傳送查詢事務或向後端傳送HTTP請求。在後端,可以從生成的資料庫中讀取或查詢區塊鏈。在區塊鏈中,這可能是搜尋區塊的資訊。
好處:
1. 互操作性。在不久的將來,你將定期在同一個應用程式上連線多個區塊鏈,就像現在使用不同的API一樣。能夠在同一框架內與多個區塊鏈交談是我們的目標。現在,Convector正式支援Hyperledger Fabric,但這只是我們想要支援的多個區塊鏈平臺中的第一個。
2. 超越智慧合約。區塊鏈應用程式最常見的方案之一是與現有資料來源(如API和資料庫)整合。由於介面卡/儲存機制允許我們指定與Controller / Model實現分離的通訊協議,因此可以很容易地區分您想要路由到區塊鏈的邏輯操作以及在其他系統上處理的操作。
相關文章
- 使用Javascript實現小型區塊鏈JavaScript區塊鏈
- 使用API進行區塊鏈開發API區塊鏈
- JavaScript實現區塊鏈JavaScript區塊鏈
- 區塊鏈搭建開發公司談銀行使用區塊鏈的好處區塊鏈
- 區塊鏈開發_建立區塊鏈公鏈,聯盟鏈,私有鏈區塊鏈
- 區塊鏈積分聯盟模式系統如何開發?(區塊鏈積分聯盟模式系統開發原始碼demo)區塊鏈模式原始碼
- 區塊鏈DAPP技術開發擴充模式方案區塊鏈APP模式
- 區塊鏈眾籌商城系統開發實現技術方案丨區塊鏈眾籌商城開發原始碼部署區塊鏈原始碼
- 區塊鏈技術開發 區塊鏈錢包交易所開發區塊鏈
- 區塊鏈多鏈錢包開發詳情版丨區塊鏈多鏈錢包系統開發實現技術方案及邏輯區塊鏈
- 區塊鏈技術開發怎麼做?區塊鏈如何實施才可靠?區塊鏈
- 區塊鏈交易所開發的組成部分 | 區塊鏈交易所開發模式系統搭建講解區塊鏈模式
- 上海區塊鏈系統開發/區塊鏈交易所繫統開發區塊鏈
- 區塊鏈開發平臺_區塊鏈技術服務區塊鏈
- 區塊鏈開發公司區塊鏈與產業變革區塊鏈產業
- 區塊鏈技術開發公司談區塊鏈如何良性發展區塊鏈
- 區塊鏈技術開發 區塊鏈如何做到“脫虛向實”轉變區塊鏈
- 區塊鏈系統開發,區塊鏈實體行業應用落地方案區塊鏈行業
- 區塊鏈技術開發公司 聊區塊鏈“主鏈”價值區塊鏈
- 區塊鏈技術開發主鏈區塊鏈的應用分析區塊鏈
- 區塊鏈錢包開發區塊鏈
- 區塊鏈技術開發區塊鏈
- 區塊鏈開發:公鏈開發那些事兒區塊鏈
- 區塊鏈落地應用開發,區塊鏈幣幣撮合交易系統開發區塊鏈
- 區塊鏈錢包系統開發:區塊鏈支付平臺系統開發區塊鏈
- 區塊鏈投票系統開發方案,區塊鏈投票系統開發原始碼區塊鏈原始碼
- 區塊鏈實體運用落地服務方案,區塊鏈底層鏈和應用開發區塊鏈
- 區塊鏈技術發展_區塊鏈技術開發新方向區塊鏈
- .Net Core實現區塊鏈初探區塊鏈
- NodeJS實現簡易區塊鏈NodeJS區塊鏈
- 區塊鏈-NFT 的實現原理區塊鏈
- 從Java到區塊鏈:如何成為區塊鏈開發者?Java區塊鏈
- 區塊鏈開發公司談區塊鏈的應用場景區塊鏈
- 區塊鏈技術實體應用落地開發方案,區塊鏈資料上鍊區塊鏈
- 雲+區塊鏈 實現區塊鏈技術的普惠應用區塊鏈
- 比特幣和區塊鏈(2):比特幣中區塊鏈的實現比特幣區塊鏈
- 區塊鏈遊戲NFT遊戲開發DAPP模式定製區塊鏈遊戲開發APP模式
- 去中心化區塊鏈錢包支付系統開發模式中心化區塊鏈模式