在區塊鏈Web3世界中使用的幾種傳統程式語言 - mcgee
您無需學習像Solidity這樣一門全新的語言也可開始在 web3 上編碼。
Web3 不僅僅是以太坊。在 web3 上編碼不僅僅是 Solidity。您無需學習全新的語言即可在區塊鏈上編碼。
以下是在沒有 Solidity 的情況下開始您的 web3 開發者之旅的主要語言:
Rust
Rust 最近席捲了 web3 開發者場景。並且有充分的理由 - 它是一種可靠的程式語言,在區塊鏈內外都擁有強大的 DX 和龐大的社群。Rust 編譯為 WebAssembly (WASM),使其成為區塊鏈支援的一種非常有吸引力的語言。
Rust 智慧合約的最大參與者是Solana。就市值而言,SOL 是第五大加密貨幣,使用可擴充套件且環保的權益證明演算法能夠在 NFT 場景中真正與以太坊一戰。
NEAR和Polkadot還支援基於 WASM 的智慧合約,允許使用 Rust 等語言。NEAR 是一個多功能區塊鏈,在多鏈社群取得了巨大進步,尤其是像Aurora這樣的專案,它允許在更環保、更便宜的協議上無縫部署 EVM。Polkadot 的核心是多鏈,利用一種叫做平行鏈的東西來讓不同型別區塊鏈的優勢協同工作。
NEAR 因其Rust文件和入門體驗而受到稱讚,使其成為一種初學者友好的方式,可以在沒有 Solidity 的情況下開始使用區塊鏈。在 Solana 上構建智慧合約的資源也越來越多,我建議您檢視Buildspace以瞭解更多資訊。
Python
作為最大的智慧合約區塊鏈之一,Algorand 允許開發人員使用這十年來最流行的程式語言(根據 Stack Overflow 的說法)——Python。
在Algorand上編寫 Python 智慧合約有兩種方法,使用Python Algorand SDK或PyTeal,它是圍繞 TEAL(交易執行批准語言)的 Python 包裝器,本質上是一種組合語言。
ALGO 最近創下了歷史新高,他們專注於成為一個碳負環境優先的區塊鏈,他們解決了傳統區塊鏈協議產生的許多問題。他們是智慧合約領域最穩固的參與者之一,並且擁有一些最好的文件。
但是 Algorand 並不是 Python 開發人員的唯一選擇——Tezos允許開發人員使用SmartPy編寫智慧合約,SmartPy編譯成他們的合約語言Michelson。XTZ 一直在緩慢攀升並緊跟其他區塊鏈的趨勢,但最近沒有像其他區塊鏈那樣大肆宣傳該協議。當它們推出時,它們取得了巨大的成功,它們的智慧合約語言和 SDK 的多樣性具有巨大的潛力,但我們只需要看看 Tezos 會發生什麼。
JavaScript
我不能不提到 JavaScript,Tech Twitter 最喜歡的語言。JavaScript 似乎可以做任何事情——包括編寫智慧合約。
區塊鏈NEO,通常被稱為中國以太坊,是目前存在的最通用的智慧合約平臺。它允許開發人員使用 Python、Java、C++、C#、Go,當然還有 JavaScript 和帶有NEO-ONE 的Typescript 編寫合約。與 Tezos 一樣,NEO 在推出時取得了巨大的成功,只是在其他智慧合約關注市場份額時慢慢淡出。沒有人知道 NEO 會發生什麼,但他們的社群是我在加密領域見過的受過最技術教育的社群之一。我對它寄予厚望,因為 web3 對 web2 開發人員來說變得更容易訪問了。
AssemblyScript是一種類似於 TypeScript 的語言,可以編譯為 WebAssembly。這個用例對於想要開始使用 Solana 或 NEAR 的 JavaScript 開發人員來說很有吸引力,但它的社群和 DX 並不像 Rust 和 C/C++ 等其他 WASM 語言那麼強大。該語言本身有很多已知的錯誤,這使得它不是很可靠,特別是對於金融應用程式或一旦部署就無法更新的應用程式(即智慧合約)。然而,它有利於學習和理解更多關於 WASM 的知識,因此值得研究。
其他語言
從技術上講,任何編譯為 WebAssembly 的語言都可以用於編寫智慧合約,例如 C/C++。甚至Swift和Go也有對 WASM 的實驗性支援。隨著越來越多的語言開放支援,區塊鏈領域很可能會繼續朝著這個方向發展。
儘管 C++ 擁有更大的社群,但我寫的是 Rust 而不是 C++ 的主要原因是因為 Rust 更新並且以更快的速度增長。許多區塊鏈都特別提到了他們對 Rust 的支援,併為此開發了 SDK 和文件。圍繞智慧合約平臺的社群似乎比任何其他語言都更多地學習 Rust,並且它在 web3 領域的增長呈指數級增長。
本部落格只討論了開發智慧合約,但區塊鏈遠不止這些。與智慧合約互動同樣重要,許多區塊鏈,甚至是以太坊,都提供了多種不同語言的 SDK 和 API。
Web3 正在增長,10 年後 Solidity 甚至可能成為過去。我們真的不知道區塊鏈領域會發生什麼,但我們可以確定的一件事是,它會繼續變得越來越通用且易於上手。
未來是多鏈的。
相關文章
- 幾種常用程式語言的區別
- 為何Rust語言在區塊鏈中應用廣泛? - RedditRust區塊鏈
- ASP程式中常使用的幾種指令碼語言指令碼
- 在區塊鏈專案中掙錢的五種方法區塊鏈
- 區塊鏈開發入門如何選擇程式語言?區塊鏈
- 使用Go語言從零編寫PoS區塊鏈(譯)Go區塊鏈
- 區塊鏈的幾個小故事.小白學區塊鏈01區塊鏈
- 區塊鏈溯源落地應用,區塊鏈在商品溯源中的應用區塊鏈
- Red 語言建立基金會,發力區塊鏈區塊鏈
- go 語言與區塊鏈基礎講解Go區塊鏈
- 區塊鏈開發之Go語言—IO操作區塊鏈Go
- 區塊鏈特輯——solidity語言基礎(三)區塊鏈Solid
- 區塊鏈特輯——solidity語言基礎(六)區塊鏈Solid
- 區塊鏈特輯——solidity語言基礎(七)區塊鏈Solid
- 用於加密貨幣和區塊鏈的語言Simplicity加密區塊鏈
- 比原鏈CTO James | Go語言成為區塊鏈主流開發語言的四點理由Go區塊鏈
- 區塊鏈預言機(4)內在機制區塊鏈
- Axie Infinity使用區塊鏈顛覆了傳統遊戲 - Platformer區塊鏈遊戲Platform
- 區塊鏈中的“跨鏈”區塊鏈
- 區塊鏈,中心去,何曾著眼看君王?用Go語言實現區塊鏈技術,透過Golang秒懂區塊鏈區塊鏈Golang
- 區塊鏈鼻祖比特幣之7:區塊鏈在比特幣中的真正用意區塊鏈比特幣
- 為什麼 Web3 與區塊鏈有關Web區塊鏈
- 區塊鏈Web3註定無法做大? - dshr區塊鏈Web
- Golang語言排序的幾種方式Golang排序
- 傳統溯源與區塊鏈溯源有何不同,區塊鏈溯源技術發展區塊鏈
- nlp中的傳統語言模型與神經語言模型模型
- 區塊鏈100講:區塊鏈中的隨機數區塊鏈隨機
- DAPP區塊鏈商城開發(多語言)丨DAPP區塊鏈商城系統開發(海外版)及案例原始碼APP區塊鏈原始碼
- 近幾天對區塊鏈中幾種常見的共識機制(PBFT,Raft,PoW,PoS,DPoS,Ripple)區塊鏈Raft
- 區塊鏈去中心化和傳統去中心化的區別區塊鏈中心化
- 深知區塊鏈,可你知道區塊鏈的專業術語嗎?區塊鏈
- 實戰區塊鏈技術培訓之Go語言區塊鏈Go
- 基於Java語言構建區塊鏈(四)—— 交易(UTXO)Java區塊鏈
- 我理解的元宇宙、數字人、區塊鏈、Web3、NFT元宇宙區塊鏈Web
- 區塊鏈技術開發公司淺析區塊鏈在電子商務中的作用區塊鏈
- 區塊鏈在網路身份證中的應用區塊鏈
- 和數傳媒:區塊鏈技術將改變商業世界區塊鏈
- 區塊鏈|預言機|ADAMoracle預言機區塊鏈Oracle