站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

區(qū)塊鏈只能用go語言嗎

不是。區(qū)塊鏈?zhǔn)且环N編程思想,原則上使用任何一種編程語言都可以實(shí)現(xiàn),比如Solidity、C++、C#、Java、javascript、Go都可以實(shí)現(xiàn)區(qū)塊鏈的開發(fā);區(qū)塊鏈技術(shù)涉及的面很廣,而編程語言只是一種手段,把設(shè)計(jì)理念用代碼呈現(xiàn)出來,做成產(chǎn)品服務(wù)用戶。

區(qū)塊鏈只能用go語言嗎

本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。

區(qū)塊鏈?zhǔn)且环N編程思想,原則上使用任何一種編程語言都可以實(shí)現(xiàn)。比如:C++、Java、javascript、python、Go都可以實(shí)現(xiàn)開發(fā)區(qū)塊鏈。

區(qū)塊鏈技術(shù)涉及的面很廣,包括:計(jì)算機(jī)技術(shù)、密碼學(xué)、經(jīng)濟(jì)學(xué)等等很多學(xué)科。編程語言只是一種手段,把設(shè)計(jì)理念用代碼呈現(xiàn)出來,做成產(chǎn)品服務(wù)用戶。

區(qū)塊鏈開發(fā)的三大方向

理論上,可以使用任何一門編程語言學(xué)習(xí)和編寫區(qū)塊鏈項(xiàng)目。包括:C++、C#、Java、Python、Go、Javascript,等等,都可以開發(fā)區(qū)塊鏈項(xiàng)目。

比如,比特幣系統(tǒng)雖然使用 C++ 開發(fā),但是我們?cè)趯W(xué)習(xí)比特幣原理時(shí),可以使用 Java、Python、Go 任何一種語言的比特幣源碼。不過,不同的開發(fā)方向,有不同的首選編程語言。

區(qū)塊鏈開發(fā)目前有三大方向:

  • 區(qū)塊鏈底層技術(shù)
    對(duì)于底層技術(shù),安全、性能要求高。首選:C++、Go 。 常見公鏈的開發(fā)語言如下:

區(qū)塊鏈只能用go語言嗎

  • 區(qū)塊鏈上層應(yīng)用:DAPP

    對(duì)于上層應(yīng)用,涉及智能合約開發(fā)、前后端開發(fā)等相關(guān)知識(shí)。迅速開發(fā)、快速迭代才能搶占市場(chǎng)先機(jī),首選:Javascript,基于以太坊 首選 Solidty。

  • 通證相關(guān)應(yīng)用

    對(duì)于通證相關(guān)應(yīng)用:重在設(shè)計(jì)邏輯,語言上沒有什么特別的推薦。

七大編程語言

目前,大部分區(qū)塊鏈項(xiàng)目,主要使用如下七大編程語言:

區(qū)塊鏈只能用go語言嗎1、Solidity

Solidity,一種在以太坊開發(fā)人員中流行的新的簡單編程語言,因?yàn)樗怯糜陂_發(fā)以太坊智能合約的語言。Solidity是一種面向合同的圖靈完整編程語言,估計(jì)開發(fā)人員數(shù)量超過200,000。

區(qū)塊鏈只能用go語言嗎

由于以太坊在智能合約方面處于領(lǐng)先地位,許多替代區(qū)塊鏈平臺(tái)確保它們與Solidity(或ERC-20)兼容,從而允許智能合約從以太坊輕松移植到新的區(qū)塊鏈網(wǎng)絡(luò)中。

以太坊,技術(shù)上以太坊作為“世界計(jì)算機(jī)”用作以太坊虛擬機(jī)(EVM),由多種語言組成,包括C++,Python,Ruby,Go和Java。JavaScript充當(dāng)以太坊的主干,因?yàn)樗洚?dāng)腳本執(zhí)行的運(yùn)行時(shí)環(huán)境。

2、Java

Java,一種并發(fā),面向?qū)ο蠛突陬惖耐ㄓ镁幊陶Z言,其設(shè)計(jì)方式使Java幾乎沒有實(shí)現(xiàn)依賴性。自1995年推出以來,Java已經(jīng)成為前三種編程語言之一,并且擁有超過900萬開發(fā)人員。NEM的核心區(qū)塊鏈網(wǎng)絡(luò)僅用Java編寫(很快將成為C++)。

區(qū)塊鏈只能用go語言嗎

3、C#

C#,一種面向?qū)ο蟮恼Z言,使開發(fā)人員能夠在全球至少有2M開發(fā)人員的.NET Framework上構(gòu)建健壯的應(yīng)用程序。C#是在2000年開發(fā)的。自成立以來,它已成為一種流行的編程語言,用于構(gòu)建功能強(qiáng)大的跨平臺(tái)代碼,可在Windows,Mac,Linux和Android等多種操作系統(tǒng)上運(yùn)行。用C#編寫的區(qū)塊鏈項(xiàng)目包括:

  • Stratis是一個(gè)由Microsoft支持的區(qū)塊鏈即服務(wù)提供商,允許企業(yè)構(gòu)建自己的私有區(qū)塊鏈系統(tǒng)。

  • NEO是用C#編寫的,但它也支持各種編程語言,如Javascript,Java,Python和Go。

區(qū)塊鏈只能用go語言嗎

4、Javascript

Javascript,通常縮寫為JS,這是一種多范式語言,支持事件驅(qū)動(dòng),功能和命令(包括面向?qū)ο蠛突谠停┑木幊田L(fēng)格。它是全球至少970萬開發(fā)人員使用的世界上最流行的編程語言之一。

區(qū)塊鏈只能用go語言嗎

Lisk的SideChain開發(fā)工具包(SDK)是用JavaScript編寫的,允許開發(fā)人員在Lisk的區(qū)塊鏈平臺(tái)上構(gòu)建應(yīng)用程序。

5、SQL

SQL,結(jié)構(gòu)化查詢語言或“續(xù)集”是IBM開發(fā)的一種編程語言,用于與存儲(chǔ),查詢和操作數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行通信。目前估計(jì)有700萬用戶使用SQL。流行的數(shù)據(jù)庫,如MySQL,PostgreSQL,SQL Server,DB2,Oracle等都使用SQL來開發(fā)應(yīng)用程序。包含SQL的區(qū)塊鏈項(xiàng)目是:

區(qū)塊鏈只能用go語言嗎

Aergo,由Blocko根據(jù)其專有的Coinstack技術(shù)開發(fā)的企業(yè)級(jí)嵌入式解決方案利用SQL智能合約。Aergo鏈具有基于SQL的智能合約平臺(tái),允許企業(yè)實(shí)體在商業(yè)業(yè)務(wù)環(huán)境中創(chuàng)建和執(zhí)行高級(jí)智能合約。

6、C++

C++,一種通用編程語言,估計(jì)有440萬開發(fā)人員,它最大的優(yōu)勢(shì)在于能夠擴(kuò)展資源密集型應(yīng)用程序并使其能夠順利運(yùn)行,從而使其成為一種非常流行的3D游戲編程語言。使用C ++的區(qū)塊鏈項(xiàng)目包括:

  • EOS,C++是EOS的主要編程語言,因?yàn)樗梢造`活地在區(qū)塊鏈上運(yùn)行大量應(yīng)用程序。EOS還支持任何編譯成WebAssembly(WASM)的語言。

  • bitcoin,比特幣核心的網(wǎng)絡(luò)是用C++編程的。

區(qū)塊鏈只能用go語言嗎

7、Golang

Go,又稱 Golang,是 Google 開發(fā)的一種開源通用編程語言,設(shè)計(jì)初衷是為了解決分布式計(jì)算,是云計(jì)算領(lǐng)域的新興語言。Go 語言語法與 C 語言相近,特點(diǎn)是:編譯速度快,執(zhí)行效率高、網(wǎng)絡(luò)編程友好、高并發(fā)、跨平臺(tái)。Go 易學(xué)易用。能很好的滿足區(qū)塊鏈行開發(fā)需要的 ”執(zhí)行效率高、高并發(fā)、跨平臺(tái),網(wǎng)絡(luò)開發(fā)要求高” 等特點(diǎn),與區(qū)塊鏈開發(fā)堪稱絕配!

區(qū)塊鏈只能用go語言嗎

區(qū)塊鏈底層開發(fā),早期多以 C++ 為主,現(xiàn)在一些項(xiàng)目開始使用 Go 語言開發(fā)。采用 Go 編寫的項(xiàng)目包括:

  • HyperLedger Fabric:使用 HyperLedger Fabrics 構(gòu)建的智能合約,大多都是用Go編寫的。

為什么Go語言能成為區(qū)塊鏈主流開發(fā)語言呢?

因?yàn)閰^(qū)塊鏈系統(tǒng)開發(fā)涉及到算力及應(yīng)用,這些C++語言自然可以解決,但是繁瑣的開發(fā)成本過高,用其他上層語言,如Java、Python等雖然能降低開發(fā)成本,但是性能及區(qū)塊鏈的算力又跟不上,所以很多企業(yè)在開發(fā)區(qū)塊鏈技術(shù)的時(shí)候,就會(huì)選擇開發(fā)成本低并且開發(fā)性能客觀的Go語言作為首選語言。

Go語言在開發(fā)區(qū)塊鏈上效率奇高,優(yōu)勢(shì)明顯,主要體現(xiàn)在如下方面:

1)可直接編譯成機(jī)器碼,不依賴其他庫,glibc的版本有一定要求,部署就是扔一個(gè)文件上去就完成了。

2)靜態(tài)類型語言,但是有動(dòng)態(tài)語言的感覺,靜態(tài)類型的語言就是可以在編譯的時(shí)候檢查出來隱藏的大多數(shù)問題,動(dòng)態(tài)語言的感覺就是有很多的包可以使用,寫起來的效率很高。

3)語言層面支持并發(fā),這個(gè)就是Go的特色,天生的支持并發(fā)。Go就是基因里面支持的并發(fā),可以充分的利用多核,很容易的使用并發(fā)。

4)內(nèi)置runtime,支持垃圾回收,這屬于動(dòng)態(tài)語言的特性之一,雖然目前來說GC不算完美,但是足以應(yīng)付我們所能遇到的大多數(shù)情況,特別是Go1.1之后的GC。

5)簡單易學(xué),Go語言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go關(guān)鍵字是25個(gè),但是表達(dá)能力很強(qiáng)大,幾乎支持大多數(shù)你在其他語言見過的特性:繼承、重載、對(duì)象等。

6)豐富的標(biāo)準(zhǔn)庫,Go目前已經(jīng)內(nèi)置了大量的庫,特別是網(wǎng)絡(luò)庫非常強(qiáng)大。

7)內(nèi)置強(qiáng)大的工具,Go語言里面內(nèi)置了很多工具鏈,gofmt工具,自動(dòng)化格式化代碼,能夠讓團(tuán)隊(duì)review變得如此的簡單,代碼格式一模一樣,想不一樣都很困難。

8)跨平臺(tái)編譯,如果你寫的Go代碼不包含cgo,那么就可以做到window系統(tǒng)編譯linux的應(yīng)用,如何做到的呢?Go引用了plan9的代碼,這就是不依賴系統(tǒng)的信息。

9)內(nèi)嵌C支持,Go里面也可以直接包含C代碼,利用現(xiàn)有的豐富的C庫。

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
中国精品一级毛片免费播放| 精品人成电影在线观看| 亚洲蜜芽在线精品一区| 国产精品无码一区二区三区电影| 国产成人精品久久| 日韩成人在线免费视频| 99热在线日韩精品免费| 国产精品国产三级国产av中文| 天天拍夜夜添久久精品| 99久久精品日本一区二区免费| 亚洲精品国产福利在线观看| 无码国产精品一区二区免费vr| 国产精品视频色拍拍| 亚洲精品无码永久在线观看你懂的| 国内精品久久久久久久亚洲 | 精品人妻伦九区久久AAA片69 | 久久精品岛国av一区二区无码| 成人午夜精品无码区久久| 成人精品一区二区三区中文字幕| 国产精品毛片一区二区| 国产福利精品在线观看| 国产精品嫩草影院久久| 国产精品熟女福利久久AV| 国产精品videossex白浆| 国产99久久久国产精品~~牛| 国产成人99久久亚洲综合精品| 国产精品免费久久久久久久久| 国产A√精品区二区三区四区| 少妇亚洲免费精品| 人妻少妇精品视频专区| 国产精品成人99久久久久91gav| 国产精品美女WWW爽爽爽视频| 9久久这里只有精品国产| 综合在线视频精品专区| 亚洲精品无码AV人在线播放| 国产精品视频第一区二区三区| 久久国产精品久久国产片| 久久亚洲日韩精品一区二区三区| 亚洲精品成人久久| 国产人成精品香港三级在| 亚洲AV成人精品一区二区三区|