亚洲伦理av人妻 一本道久久综合久久88 ,免费簧片,成·人免费午夜视频在线观看 ,欧美一级视频,2023语文高考作文,a人片高级黄774777在线观看

服務熱線:0755-83100310(7X24h)

對于軟件開發人員,我們要怎樣理解區塊鏈呢?

發布者:admin    發布時間:2020-07-06    人氣:1045

當前位置:首頁 > 動態 > 行業新聞

當提到區塊鏈時,我喜歡用代碼的方式解釋區塊鏈,以及它與你當前已掌握的開發知識之間的聯系。盡管現在很多人都在談論區塊鏈,但由于某些原因,似乎很少有人真正理解這種技術在我們現有的開發工具集中的作用。

2007061.jpg 

撇開政治觀點不談,區塊鏈只不過是我們應用程序的一個數據層。將來它可能是唯一的持久性層,當然也不一定非要這樣做,也可以在應用程序中使用多個這種類型的數據層。這里我向你們推薦一個講座,它主要介紹的是關于我們現在開發創建相互連接的區塊鏈時應該著重關注哪些方面,并解釋了這樣做的必要性。

在我們現有的應用程序中,我們使用API在一個或多個數據庫中存儲信息。區塊鏈項目也是這樣做的,你可以與API(客戶端或服務器端)進行交互,以在區塊鏈中存儲數據。

同樣,我們的數據庫也有相應的模型來構造數據,比如表格、文檔模型,你可以給它命名,他們都是用來描述數據的形態的。區塊鏈通常也不一定要遵守這個約定,它們更像是noSql數據庫,你可以在存儲數據時不去關心數據的格式。但是軟件開發經驗告訴我們,使用非層次數據并不一定是個好主意。這就是為什么我們最終使用Mongoose作為MongoDB的工具,它能夠延遲對數據建模。因此,在區塊鏈項目中使用Convector之類的工具,能夠使編寫模型塑造數據變得非常簡單和直觀。

相對于數據庫的另一個優勢(可能是最重要的優勢)是存儲過程。存儲過程是存在于數據庫本身的邏輯(函數),它接收數據的輸入來執行操作。在區塊鏈開發中,這通常被稱為智能契約或鏈碼。知道如何編寫這些函數以及需要考慮的相關事項是我們所說的區塊鏈開發,當然也不要與區塊鏈核心開發混淆,后者指的是開發區塊鏈技術本身,或者是數據庫引擎。

對軟件開發人員來說還有一個比較好理解的參考是控制版本系統,如GIT。你對數據所做的每一個更改都是版本化的,你可以隨時返回來檢查這些更改。注意:你甚至可以更改區塊鏈的歷史值!就像你在GIT中做了一個rebase來合并提交或更新消息一樣。但是在GIT和區塊鏈這兩個環境中,你最終會得到已更改提交以及所有后續提交的哈希值。你會得到完全不同的歷史記錄,沒有人會接受來自你的任何更改,因為你偏離了主分支(公開的區塊鏈版本)。在區塊鏈中沒有—force強制覆蓋歷史記錄。

區塊鏈是分散的,智能契約的執行必須在不同的計算機上發生多次,這是區塊鏈開發人員在使用區塊鏈作為數據層時必須考慮的分布式計算概念的一部分。

在智能契約執行中,可以將其看作GIT中的一個update hook,由包含區塊鏈副本的節點執行,然后再接收你試圖執行的提交。這個hook包含判斷提交作者是否擁有更新存儲庫的權限的邏輯。你也可以依賴于提交作者的身份驗證,這樣驗證也就只能依靠提交者本人了。

由于你的hook會在所有的對等點執行,所以你的操作必須是確定的,因此這里就需要函數式編程了。你不應該依賴全局狀態(文件系統是全局狀態)或依賴于外部信息源(如與API的連接或任何網絡訪問)生成隨機數。

對于軟件開發人員來說,區塊鏈并不是一種罕見的技術,它的核心功能是建立在我們幾十年前的技術之上的,就像密碼學一樣,GIT本身也遵循著今天大多數區塊鏈所遵循的核心理念。


關于源動

我們源動信息2011年成立于廣東省深圳市,是一家高科技互聯網技術服務企業。公司以高科技為起點、以技術為核心、以強大的技術隊伍為支撐,致力于為政府、企事業單位提供高技術含量的網絡應用解決方案及增值服務,經過多年的技術積累,在安全性和費用上都要優于于第三方公司。團隊核心成員都是技術和產品出身,在同客戶溝通時能快速理解客戶需求。如果您的公司有開發需求,可以與我們聯系。