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

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

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

        區(qū)塊鏈最初是一種公共、非許可型的技術(shù),隨著后來(lái)其它類型區(qū)塊鏈的引入,每種區(qū)塊鏈都有了自己特定的適用場(chǎng)景。公共 非許可型的區(qū)塊鏈?zhǔn)情_(kāi)

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

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

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

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

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

        通常,像這樣的區(qū)塊鏈應(yīng)用都會(huì)采用 C 和 Java 等語(yǔ)言來(lái)完成,因?yàn)檫@類語(yǔ)言更接近機(jī)器語(yǔ)言。

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

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

        當(dāng)前流行的區(qū)塊鏈編程平臺(tái)

        Hyperledger(超級(jí)賬本)

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

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

        Ethereum(以太坊)

        Ethereum 是一個(gè)開(kāi)源的區(qū)塊鏈平臺(tái),用于開(kāi)發(fā)基于區(qū)塊鏈技術(shù)的去中心化應(yīng)用程序。Ethereum 區(qū)塊鏈平臺(tái)有助于區(qū)塊鏈腳本和智能合約的編寫(xiě),通過(guò)網(wǎng)絡(luò)中的節(jié)點(diǎn)運(yùn)行,不僅可以用來(lái)追蹤每一次交易,還可以對(duì)它們進(jìn)行編程。

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

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

        C++

        讓我們從最具歷史、最受推崇的語(yǔ)言——C++ 開(kāi)始,幾乎所有人都知道 C++ 是 C 語(yǔ)言的擴(kuò)展。在 C++ 中,若創(chuàng)建了一個(gè)變量、函數(shù)或?qū)ο螅涂梢栽谄渌绦蛑休p松的調(diào)用并復(fù)用,可以大大減少編程時(shí)間。

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

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

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

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

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

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

        1

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

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

        JavaScript

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

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

        JavaScript 的優(yōu)點(diǎn)和缺點(diǎn)

        2

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

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

        Python

        Python 是一種相對(duì)現(xiàn)代的編程語(yǔ)言,通常是新程序員的最愛(ài),因?yàn)樗Z(yǔ)法簡(jiǎn)單,可以在服務(wù)器上創(chuàng)建基于 Web 的應(yīng)用程序,還可以用來(lái)連接數(shù)據(jù)庫(kù)系統(tǒng),也可以處理大數(shù)據(jù)并執(zhí)行復(fù)雜的數(shù)學(xué)運(yùn)算。

        Python 最吸引人的地方是它通過(guò)“另起一行”來(lái)作為命令的結(jié)束標(biāo)識(shí),而不像其他編程語(yǔ)言使用分號(hào)或括號(hào)。

        無(wú)論你采用哪一種區(qū)塊鏈平臺(tái)進(jìn)行開(kāi)發(fā),都不能忽略 Python 的存在,因?yàn)閹缀趺總€(gè)區(qū)塊鏈的生態(tài)系統(tǒng)中都有一個(gè)或多個(gè)用 Python 編寫(xiě)的公共工具。Python 已經(jīng)成為區(qū)塊鏈領(lǐng)域中的流行編程語(yǔ)言。

        Python 的優(yōu)點(diǎn)和缺點(diǎn)

        3

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

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

        Go

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

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

        Go 的優(yōu)點(diǎn)和缺點(diǎn)

        640

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

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

        Solidity

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

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

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

        Solidity 的優(yōu)點(diǎn)和缺點(diǎn)

        640

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

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

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

        總結(jié)

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

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

        精選 導(dǎo)讀

        募資55億港元萬(wàn)物云啟動(dòng)招股 預(yù)計(jì)9月29日登陸港交所主板

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

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

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

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

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

        又有上市公司宣布變賣(mài)房產(chǎn) 上市公司粉飾財(cái)報(bào)動(dòng)作不斷

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        4個(gè)交易日凈買(mǎi)入超百億元 北向資金持續(xù)流入A股市場(chǎng)

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

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

        熱門(mén)TAG

        more
        美聯(lián)儲(chǔ)今年已將基準(zhǔn)利率從接近零大幅上調(diào)至略高于3% EIA報(bào)告:美國(guó)原油庫(kù)存及戰(zhàn)略儲(chǔ)備減少,汽油及精煉油庫(kù)存輕微波動(dòng) 美國(guó)政府更廣泛推動(dòng)從汽油動(dòng)力汽車轉(zhuǎn)向電動(dòng)汽車的一部分 數(shù)據(jù)顯示:今年9月日本船企接單量延續(xù)8月下跌下跌趨勢(shì) 公告顯示:2022年前三季度TCL中環(huán)研發(fā)投入為27億元 占比營(yíng)業(yè)收入5.42% 新的111.75億英鎊注資列在“對(duì)金融機(jī)構(gòu)的援助—支付給英格蘭銀行”標(biāo)題下 本次政府儲(chǔ)備肉投放面向北京18家主要連鎖超市門(mén)店及相關(guān)零售終端投放 有交易員預(yù)計(jì):如果LME不采取措施 接下來(lái)可能將有數(shù)十萬(wàn)噸鋁流入LME 據(jù)報(bào)道:繼德國(guó)最大釀酒商拉德貝格啤酒公司9月宣布漲價(jià) 據(jù)報(bào)道:澳大利亞礦商Pilbara的鋰礦拍賣(mài)價(jià)再創(chuàng)新高 折算后的碳酸鋰成本 中集天達(dá)首次公開(kāi)發(fā)行A股股票 招股書(shū)顯示此次擬公開(kāi)發(fā)行股數(shù)不超過(guò)103, 多家銀行加強(qiáng)綠色金融頂層設(shè)計(jì) 致力于為經(jīng)濟(jì)社會(huì)綠色低碳轉(zhuǎn)型貢獻(xiàn)力量 萊特幣 比特幣 數(shù)字資產(chǎn) 火幣 以太經(jīng)典 比特股 EOS 比特幣現(xiàn)金 量子鏈 Hcash 泰達(dá)幣 瑞波幣 Qcash 比特幣鉆石 超級(jí)比特幣 優(yōu)幣 硬分叉 加密貨幣