国产乱人伦在线播放,99无码精品二区在线视频,最近在线更新8中文字幕免费,精品成人一区二区三区四区

您的位置:首頁 > 互聯(lián)網(wǎng) >

哪種編程開發(fā)區(qū)塊鏈更高效 去中心化促進區(qū)塊鏈成主流

2019-03-20 15:35:11 來源: 區(qū)塊鏈前哨

區(qū)塊鏈最初是一種公共、非許可型的技術(shù),隨著后來其它類型區(qū)塊鏈的引入,每種區(qū)塊鏈都有了自己特定的適用場景。公共 非許可型的區(qū)塊鏈是開

區(qū)塊鏈最初是一種公共、非許可型的技術(shù),隨著后來其它類型區(qū)塊鏈的引入,每種區(qū)塊鏈都有了自己特定的適用場景。公共\非許可型的區(qū)塊鏈是開放的、去中心化的,但速度很慢,而私有\(zhòng)許可型的區(qū)塊鏈則是部分或完全封閉和集中的。

在本文中,將討論構(gòu)建基于區(qū)塊鏈技術(shù)的應用程序需要學習什么內(nèi)容?例如,不同類型的區(qū)塊鏈之間有什么異同?采用哪種編程語言才能進行高效的區(qū)塊鏈開發(fā)?采用哪個平臺進行區(qū)塊鏈開發(fā)?

區(qū)塊鏈編程的類型

基于區(qū)塊鏈架構(gòu)的編程

在一個區(qū)塊鏈應用發(fā)布之前,其體系結(jié)構(gòu)和所采用的協(xié)議等重大功能都必須穩(wěn)定下來,而這些功能都是需要使用代碼來實現(xiàn)的。例如,在 2009 年比特幣發(fā)布之前,就先用 C++ 實現(xiàn)了比特幣的規(guī)則和條款。

通常,像這樣的區(qū)塊鏈應用都會采用 C 和 Java 等語言來完成,因為這類語言更接近機器語言。

構(gòu)建智能合約或去中心化應用程序(DApp)

在普通的中心化應用程序中,服務端代碼通常在中心服務器上運行,而去中心化應用的服務端代碼則在去中心的對等網(wǎng)絡中運行。像其他應用程序一樣,去中心化應用也可以使用任何語言來編寫其前端代碼,并通過用戶界面來調(diào)用其服務端程序。

當前流行的區(qū)塊鏈編程平臺

Hyperledger(超級賬本)

Hyperledger 是一款開源的區(qū)塊鏈項目,旨在推進區(qū)塊鏈技術(shù)的發(fā)展,它提供了相關(guān)的工具、培訓和活動,用以支持基于區(qū)塊鏈的分布式賬本的協(xié)同開發(fā)。其目標是提供模塊化的區(qū)塊鏈技術(shù),其中包含豐富的、易用的應用程序編程接口(API)。

Hyperledger 在一定程度上降低了交易的安全風險,確保了只有其想要參與交易,那么他才會是該交易的一部分。Hyperledger 提供了區(qū)塊鏈架構(gòu)、數(shù)據(jù)隱私、信息共享和數(shù)據(jù)不變性的所有功能。

Ethereum(以太坊)

Ethereum 是一個開源的區(qū)塊鏈平臺,用于開發(fā)基于區(qū)塊鏈技術(shù)的去中心化應用程序。Ethereum 區(qū)塊鏈平臺有助于區(qū)塊鏈腳本和智能合約的編寫,通過網(wǎng)絡中的節(jié)點運行,不僅可以用來追蹤每一次交易,還可以對它們進行編程。

Ethereum 可選擇多種編程語言來進行編程,例如 C++、Go、Python、Java 等,該平臺下智能合約是使用 Solidity 構(gòu)建的,Solidity 是一種面向合約的高級編程語言。

區(qū)塊鏈編程語言 Top 5

C++

讓我們從最具歷史、最受推崇的語言——C++ 開始,幾乎所有人都知道 C++ 是 C 語言的擴展。在 C++ 中,若創(chuàng)建了一個變量、函數(shù)或?qū)ο?,就可以在其他程序中輕松的調(diào)用并復用,可以大大減少編程時間。

但是現(xiàn)在已經(jīng)有很多高級語言了,為什么還要用 C++ 呢?

因為 C++ 具有的某些特性仍然很吸引人,考慮到區(qū)塊鏈開發(fā)要面臨的諸多挑戰(zhàn),其應用更應該像是一個堡壘,同時還要兼?zhèn)涓咝У馁Y源管理特性,區(qū)塊鏈應用不僅要與許多不被信任的節(jié)點進行交互,同時還要為每個節(jié)點甚至是所有節(jié)點提供快速服務。尤其是對加密貨幣來說,這種快速服務更是至關(guān)重要。要滿足所有這些需求并能在最高優(yōu)先級執(zhí)行,你需要能完全控制 CPU 和內(nèi)存的使用,而 C++ 剛好就能夠滿足用戶這方面的需求。

C++ 另一個有趣的地方是移動語義(move semantic)。移動語義提供了一種在對象之間移動內(nèi)容而不是復制內(nèi)容的方法。移動語義的優(yōu)點是:只有在需要時才會獲得某些數(shù)據(jù)的副本,通過減少代碼冗余來提高性能。而高效的內(nèi)存管理和高性能都是區(qū)塊鏈開發(fā)所必須的特性。

除此之外,區(qū)塊鏈編程的挑戰(zhàn)還包括并行任務和非并行任務的集成。

可以想到的另一個關(guān)于區(qū)塊鏈編程的挑戰(zhàn)是并行任務和非并行的任務的集成。大多數(shù)編程語言只擅長其中一種,但是,C++ 語言的線程能力使其可以同時處理并行和非并行任務。C++ 語言允許多線程任務進行有效的線程間通信,并優(yōu)化了單線程處理的性能。

C++ 的優(yōu)點和缺點

1

基于 C++ 語言的區(qū)塊鏈開發(fā)案例

C++ 主要用于加密貨幣和重要的區(qū)塊鏈項目,如比特幣,Ripple,Litecoin,Stellar 和 Monero 等。

JavaScript

JavaScript 是目前最流行的軟件開發(fā)語言之一。JavaScript 語言及其相關(guān)的庫和框架,例如:jQuery、React、Angular 和 Node.js,是推動現(xiàn)代 Web 開發(fā)技術(shù)快速發(fā)展的引擎。JavaScript 通常與 HTML 和 CSS 一起,用以增強 Web 在行為交互方面的功能,當前 JavaScript 主要用于創(chuàng)建交互性強的網(wǎng)頁。

JavaScript 非常擅長處理異步操作,這一主要特性使得它非常適用于區(qū)塊鏈開發(fā)。隨著區(qū)塊鏈上的用戶數(shù)量的增加,所有的操作都需要同時執(zhí)行,JavaScript 可以更輕松地處理不同區(qū)塊鏈節(jié)點之間的通信。但同時我們也不能否認,在最大化的密集計算處理能力方面 JavaScript 不如 C++ 高效。

JavaScript 的優(yōu)點和缺點

2

基于 JavaScript 語言的區(qū)塊鏈開發(fā)案例

區(qū)塊鏈開發(fā)人員可以在 web3.js 和 ethereum.js 中使用 JavaScript,用來構(gòu)建應用程序的前端,用以連接以太坊網(wǎng)絡和智能合約。 另外在區(qū)塊鏈中經(jīng)常采用 JavaScript 語言的是基于 node.js 平臺的 Hyperledger Fabric SDK,這是一個在 IT 行業(yè)和企業(yè)中經(jīng)常使用的大型框架。

Python

Python 是一種相對現(xiàn)代的編程語言,通常是新程序員的最愛,因為它語法簡單,可以在服務器上創(chuàng)建基于 Web 的應用程序,還可以用來連接數(shù)據(jù)庫系統(tǒng),也可以處理大數(shù)據(jù)并執(zhí)行復雜的數(shù)學運算。

Python 最吸引人的地方是它通過“另起一行”來作為命令的結(jié)束標識,而不像其他編程語言使用分號或括號。

無論你采用哪一種區(qū)塊鏈平臺進行開發(fā),都不能忽略 Python 的存在,因為幾乎每個區(qū)塊鏈的生態(tài)系統(tǒng)中都有一個或多個用 Python 編寫的公共工具。Python 已經(jīng)成為區(qū)塊鏈領(lǐng)域中的流行編程語言。

Python 的優(yōu)點和缺點

3

基于 Python 語言的區(qū)塊鏈開發(fā)案例

在區(qū)塊鏈領(lǐng)域,Python 用于為 Hyperledger 編寫智能合約,除此之外還有許多其他的項目也采用了 Python,如 Ethereum(pyethereum)也有自己的 Python 實現(xiàn)。同時 Python 也被用來為 NEO 創(chuàng)建智能合約,這是一個基于社區(qū)的非營利性區(qū)塊鏈項目。

Go

GoLang,俗稱 Go,是谷歌公司于 2007 年開發(fā)的一種相對現(xiàn)代的領(lǐng)域通用語言,并于 2012 年面向公眾開放。它是一種靜態(tài)類型的語言,語法有點類似于 C 語言。作為一種健壯的、多用途的語言,Go 試圖將現(xiàn)代高級語言 (如 Python 和 JavaScript) 的語法和用戶友好性與 C 語言的性能和安全優(yōu)勢結(jié)合起來。Go 是一種編譯語言,提供了豐富的標準庫。當你在區(qū)塊鏈項目的多個組件中使用 Go 語言時,該特性將為你帶來最大的靈活性。

在 Go 中,名為 Goroutines 的方法提供了異步或并行運行多個程序的能力,這也是區(qū)塊鏈項目所需要的一個重要的特性。而在 Java 和其他語言中往往會使用線程來實現(xiàn)該特性。

Go 的優(yōu)點和缺點

640

基于 Go 語言的區(qū)塊鏈開發(fā)案例

區(qū)塊鏈領(lǐng)域有很多與 Go 語言相關(guān)的項目,其中包含一些很受歡迎的項目,例如 Go-Ethereum 是 Ethereum 的 Go 語言實現(xiàn),也是基于 Go 語言的最重要的項目之一。用 Go 語言實現(xiàn)的另一個重要項目是 Hyperledger Fabric,它是大公司中最受歡迎的區(qū)塊鏈解決方案之一。另一個是去中心化在線游戲項目 Loom Network,它采用 Go 語言實現(xiàn)了其鏈碼。

Solidity

Solidity 是由 Ethereum 團隊(Gavin Wood,Christian Reitwiessner 等)開發(fā)的一款類似于 JavaScript 、針對于特定領(lǐng)域、面向?qū)ο蟮母呒壵Z言。Solidity 受 C++,Python 和 JavaScript 的影響,為了在 Ethereum 平臺的以太坊虛擬機(EVM)上創(chuàng)建去中心化應用程序而設計的。EVM 是在 Ethereum 平臺上編寫智能合約的運行時環(huán)境。

Solidity 是一種靜態(tài)類型語言,支持繼承、庫和復雜的用戶自定義類型。到目前為止,它是 Ethereum 社區(qū)和區(qū)塊鏈行業(yè)中最適合的領(lǐng)域特定語言(DSL)。

若要嘗試運行 Solidity 的代碼示例,可以使用 Remix IDE,這是一款基于 Web 瀏覽器的 IDE 工具,同時集成 Solidity 的編譯器和運行時環(huán)境,且沒有服務器端組件。你可以在該 IDE 中編寫 Solidity 代碼并部署和運行智能合約。

Solidity 的優(yōu)點和缺點

640

基于 Solidity 語言的區(qū)塊鏈開發(fā)案例

Solidity 語言主要用于開發(fā)以太坊智能合約,目前還沒有看到其他項目使用 Solidity,但以太坊生態(tài)系統(tǒng)是巨大的,并且也是目前區(qū)塊鏈開發(fā)中最重要的一部分。

Solidity 是用于智能合約開發(fā)的最流行的語言之一。

總結(jié)

區(qū)塊鏈技術(shù)將對每個領(lǐng)域和行業(yè)產(chǎn)生巨大的影響。在未來的幾個月或者幾年中,隨著世界變得越來越去中心化,區(qū)塊鏈也將被作為主流技術(shù)使用,它有著無限的未來。

關(guān)鍵詞: 編程 區(qū)塊鏈 去中心化

精選 導讀

募資55億港元萬物云啟動招股 預計9月29日登陸港交所主板

萬科9月19日早間公告,萬物云當日啟動招股,預計發(fā)行價介乎每股47 1港元至52 7港元,預計9月29日登陸港交所主板。按發(fā)行1 167億股計算,萬

發(fā)布時間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉股多為高端制造業(yè)

隨著半年報披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數(shù)為9794只,資產(chǎn)凈值為269454 75億元,同比上

發(fā)布時間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產(chǎn) 上市公司粉飾財報動作不斷

再有上市公司宣布變賣房產(chǎn)。四川長虹25日稱,擬以1 66億元的轉(zhuǎn)讓底價掛牌出售31套房產(chǎn)。今年以來,A股公司出售房產(chǎn)不斷。根據(jù)記者不完全統(tǒng)

發(fā)布時間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復深交所關(guān)注函 股份繼續(xù)沖高

回復交易所關(guān)注函后,大港股份繼續(xù)沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時觸及漲停,報20 2元 股。值得一提的是,在7月21日

發(fā)布時間: 2022-08-12 09:56
資訊   2022-08-12

萬家基金再添第二大股東 中泰證券擬受讓11%基金股權(quán)

7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權(quán),交易雙方共同確定本次交易的標的資

發(fā)布時間: 2022-07-14 09:39
管理   2022-07-14

央行連續(xù)7日每天30億元逆回購 對債市影響如何?

央行12日再次開展了30億元逆回購操作,中標利率2 10%。這已是央行連續(xù)7日每天僅進行30億元的逆回購縮量投放,創(chuàng)下去年1月以來的最低操作規(guī)

發(fā)布時間: 2022-07-13 09:38
資訊   2022-07-13

美元指數(shù)創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個月新低

由于對美聯(lián)儲激進加息的擔憂,美元指數(shù)11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個月新低。美

發(fā)布時間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達克跌幅創(chuàng)下記錄以來最大跌幅

今年上半年,美股持續(xù)回落。數(shù)據(jù)顯示,道瓊斯指數(shù)上半年下跌15 3%,納斯達克綜合指數(shù)下跌29 5%,標普500指數(shù)下跌20 6%。其中,納斯達克連續(xù)

發(fā)布時間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內(nèi)增加超344億元

近期A股走強,滬指6月以來上漲4%,融資客熱情明顯回升。數(shù)據(jù)顯示,截至6月16日,兩市融資余額1 479萬億元,月內(nèi)增加344 67億元,最近一個半

發(fā)布時間: 2022-06-20 09:41
資訊   2022-06-20

4個交易日凈買入超百億元 北向資金持續(xù)流入A股市場

北向資金凈流入態(tài)勢延續(xù)。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計凈

發(fā)布時間: 2022-06-17 09:37
推薦   2022-06-17