2019年須要關注的區塊鏈智能合約開發平臺

智能合約開發語言已經被Solidity統治了一段時間,它用於開發能夠在以太坊虛擬機EVM上運行的智能合約。不過Solidity有一些嚴重的問題,包括算術溢出、類型錯誤以及曾經凍結了3億美圓的delegatecall漏洞。全部這些漏洞都是在開發語言層面存在的問題。換句話說,若是有一個好點的開發語言,原本應該能夠創造更安全的智能合約。文本將列出在2019年值得關注的區塊鏈智能合約開發技術趨勢。html

上匯智網,用互動方式學習以太坊、比特幣、EOS、tendermint等更多區塊鏈開發教程git

2019年,Solidity的挑戰者終於來了。github

Waves RIDE

Waves RIDE是一個圖靈不完備(沒有循環或遞歸)的、受Haskell啓發的函數式編程語言,用於Waves區塊鏈。它的特色包括靜態類型、惰性評估、模式匹配和用於決定交易是否容許完成的斷言表達式。目前圖靈完備的版本也在開發中。Wave的智能合約支持目前在主網上已經激活。咱們應當能夠在2019年看到第一批Waves的dApp。web

官方地址:https://docs.wavesplatform.com/en/technical-details/ride-language.html編程

Plutus (Cardano)

Plutus是另外一個類Haskell的函數式編程語言,用於Cardano區塊鏈。Cardano計劃在2019年有兩個大的發佈:Shelley提供徹底去中心化和抵押功能,而Cardano-CL則是支持可編程智能合約的虛擬機。安全

官方地址:https://cardanodocs.com/technical/plutus/introduction/編程語言

Scilla (Zilliqa)

Scilla是一個認證過的智能合約開發語言,它在設計時就考慮了分離計算過程與效果,這意味着計算和狀態遷移的通訊是嚴格隔離的,這使得Scilla智能合約更容易測試,而且能夠靜態驗證以最小化發生錯誤的機會。ide

Zilliqa的主網計劃在2019年1月底上線。函數式編程

官方地址:https://scilla-lang.org/函數

ewasm (Ethereum)

ewasm不是一個智能合約開發語言,而是一個編譯器的生成目標,它容許以太坊開發者使用其餘語言(例如Rust、C++等)開發智能合約並編譯爲以太坊接受的WebAssembly。

ewasm是WebAssembly的一個安全子集,它是web平臺上相對新出現的編譯目標。方便的是,wams(以及ewasm)模塊能夠在任何JavaScript項目中使用。對於大多數區塊鏈代碼來講,一般75%以上的代碼根本都不是智能合約 —— 而是使用JavaScript與智能合約進行通訊的代碼。ewasm和JavaScript使用一樣的綁定和模塊支持機制。

官方地址:https://github.com/ewasm/design

JavaScript (Lisk)

List是一個區塊鏈開發平臺,它支持開發者使用JavaScript爲特定應用開發並建立定製區塊鏈,從而避免了以太坊的擴容問題。List容許開發者建立本身的側鏈來管理全部與特定應用的區塊鏈操做,所以它不須要與其餘應用競爭主鏈上的計算資源。目前List沒有開發本身的智能合約編程語言或者VM,其交易能力相似於比特幣。

官方地址:https://lisk.io/

Rust (via ewasm, Cardano client)

Rust是一個相似C的底層開發語言,包含一些相似Haskel的安全特性,例如獲得保證的常量引用以免意外修改、靜態阻止空指針異常、有狀態類型只容許訪問當前狀態下的有效操做、模式匹配分析以保證函數完整性(一個不匹配的模式將致使編譯時錯誤)...基本上Rust相似於C++和Haskell的純優勢的繼承者。

Rust能夠編譯爲ewasm,或者用於構建區塊鏈的客戶端代碼,例如Cardano。List的模塊也可使用Rust開發,而後編譯爲wasm導入到List項目中。

官方地址:https://www.rust-lang.org/


學習交流QQ羣:


原文連接:智能合約開發新趨勢2019 - 匯智網

相關文章
相關標籤/搜索