本文收集整理并羅列了常見(jiàn)區(qū)塊鏈的虛擬機(jī)和合約開(kāi)發(fā)語(yǔ)言猜扮,不斷收集更新中兔甘。不足之處請(qǐng)大家留言反饋绵估。
項(xiàng)目平臺(tái) | 虛擬機(jī) | 合約語(yǔ)言 | 描述 |
---|---|---|---|
BTC | 簡(jiǎn)易腳本隆敢。(基于堆棧的晴竞。它特意設(shè)計(jì)成非圖靈完整养叛,沒(méi)有LOOP語(yǔ)句种呐。) | 一種逆波蘭表達(dá)式的基于堆棧的執(zhí)行語(yǔ)言 | 與FORTH(一種編譯語(yǔ)言)一樣,腳本是簡(jiǎn)單的弃甥、 |
ETH | EVM (基于棧的圖靈完備虛擬機(jī)) | solidity (一種融合了c/c++/go語(yǔ)言風(fēng)格的智能合約高級(jí)語(yǔ)言) | |
EOS | WASM (內(nèi)置了WebAssembly的一個(gè)基于堆棧的虛擬機(jī)) | c/c++ 爽室。目前僅支持C和C++語(yǔ)言的合約代碼。未來(lái)應(yīng)該也會(huì)支持Go或其他語(yǔ)言淆攻。 | 使用WebAssembly指令集阔墩,通過(guò)允許以近原生速度來(lái)執(zhí)行預(yù)編譯合約可以提供性能優(yōu)勢(shì)。 |
IBM HyperLedger fabric | Hyperledger Burrow (是一個(gè)包含了“built-to-specification”的以太坊虛擬機(jī).Burrow發(fā)布于2014年12月,首次提供了一個(gè)模塊化的瓶珊、帶經(jīng)過(guò)許可的智能合約解釋器的區(qū)塊鏈客戶(hù)端,它采用了部分以太坊虛擬機(jī)(EVM)的技術(shù)規(guī)范啸箫。Burrow是唯一獲得Apache許可的Ethereum虛擬機(jī)實(shí)施。) | java | "Burrow是一種從以太坊衍生出來(lái)的代碼庫(kù)艰毒,靈感來(lái)自于Monax在2014年開(kāi)發(fā)和開(kāi)源的一種叫做eris-db的技術(shù)筐高。該項(xiàng)目由英特爾和Monax提出,為商業(yè)公司和組織提供了一個(gè)智能合約平臺(tái)。其主要由Monax貢獻(xiàn)柑土,并由Monax 和英特爾贊助蜀肘。" |
比原鏈 | BVM | Ivy | bytom基于[Chain]公司的能用[Ivy]高級(jí)語(yǔ)言編程的CVM去做自己的擴(kuò)展,靈活易用稽屏。 |
qtum 量子鏈 | x86虛擬機(jī) | C/C++/Rust | "能夠支持更多種主流的開(kāi)發(fā)語(yǔ)言扮宠。x86 虛擬機(jī)的基本原理是,你可以使用任何現(xiàn)有的編譯器或編程語(yǔ)言狐榔,并進(jìn)行一些簡(jiǎn)單修改坛增,就可以在Qtum量子鏈的操作系統(tǒng)上運(yùn)行。目前幾乎所有的編譯器都支持x86架構(gòu)指令集薄腻,所以實(shí)際的字節(jié)碼和架構(gòu)支持已經(jīng)非常完備收捣。" |
小蟻 | antshares NeoVM(C#實(shí)現(xiàn)的一種基于操作碼和堆棧的輕量級(jí)通用區(qū)塊鏈虛擬機(jī)) | Java/C/C++/GO/Python/Java"首批支持的語(yǔ)言是 C#、VB.Net庵楷、F#等 | 編譯器會(huì)針對(duì) MSIL(微軟中間語(yǔ)言)來(lái)進(jìn)行編譯罢艾,所以理論上任何.Net 中的語(yǔ)言或者可被轉(zhuǎn)譯成 MSIL 的語(yǔ)言都可以直接被直接支持。Github源代碼地址:https://github.com/AntShares/AntShares.VM 白皮書(shū)地址: www.antshares.org/files/4007D7.pdf |
秘猿CKB | CKB-VM | RUST | 采用RISC-V指令集 尽纽,使用真實(shí)的 CPU 指令集來(lái)構(gòu)造自己的虛擬機(jī) CKB-VM咐蚯。 |
博晨L0 | js/lura | Lura /javascript | |
Algoround | 目前沒(méi)有 | - | go實(shí)現(xiàn)的主鏈 |
Definity | webassembly | - | 以太坊網(wǎng)絡(luò)上的現(xiàn)有應(yīng)用將在Dfinity上高度兼容。 https://github/dfinity |
facebook Libra | Move VM(rust實(shí)現(xiàn)的具有靜態(tài)類(lèi)型系統(tǒng)的堆棧虛擬機(jī) ) | move 一種類(lèi)似rust的主打安全性的語(yǔ)言 | |
filecoin | go語(yǔ)言實(shí)現(xiàn)的使用帶gas消耗的VM,類(lèi)似以太坊的簡(jiǎn)單實(shí)現(xiàn)弄贿。 | - | 為最終用戶(hù)提供了兩個(gè)基本命令:Get和Put,允許在Get和Put之上設(shè)計(jì)更復(fù)雜的操作 |
恒星網(wǎng)絡(luò)Stellar | - | C++ | 通過(guò)windowsAPI啟動(dòng)進(jìn)程執(zhí)行cmd命令來(lái)處理交易春锋。C++開(kāi)發(fā)。代碼https://github.com/stellar 網(wǎng)址https://www.stellar.org/ |
zcash | 參考btc | 參考btc | Zcash是bitcoin的分支差凹,保留了bitcoin原有的模式期奔,基于比特幣0.11.2版代碼修改的。c++實(shí)現(xiàn)的主鏈直奋。代碼:https://github.com/zcash/zcash |
波場(chǎng)TRON | TVM能庆,基于WebAssembly(WASM)進(jìn)一步優(yōu)化TVM虛擬機(jī)。 | Java,后續(xù)支持其他語(yǔ)言 | 最終實(shí)現(xiàn)的虛擬機(jī)中間層脚线,將依次兼容EVM和EOS的虛擬機(jī).TVM 引進(jìn)了帶寬的概念搁胆,不同于以太坊EVM的gas消耗模式,TVM系統(tǒng)中的轉(zhuǎn)賬和智能合約的操作是免費(fèi)的邮绿,不需要消耗任何代幣渠旁,所以原則上在TVM中可執(zhí)行的計(jì)算總量不受代幣總量限制。 |
CyberMiles | CVM (是基于以太坊的虛擬機(jī)改的) | lity,從solidity 語(yǔ)言演化而來(lái)船逮,Lity由動(dòng)態(tài)可擴(kuò)展語(yǔ)言顾腊、編譯器和虛擬機(jī)runtime組成。提供以太坊原生接口(libENI)挖胃,LibENI 是 Lity 的擴(kuò)展杂靶,是用 C++語(yǔ)言梆惯。 | CVM虛擬機(jī)在加法、乘法吗垮、冒泡排序垛吗、scrypt各種算法速度上都大大超過(guò)以太坊 |
fcoin FT公鏈 | EVM | solidity | https://www.fractalproject.com/ |
本體 | neovm和wasmvm,neovm是go語(yǔ)言實(shí)現(xiàn)的翻版以太坊虛擬機(jī)烁登。wasm是用的wagon(a WebAssembly-based interpreter in Go) | Ontology智能合約現(xiàn)包含2種類(lèi)型的合約:Native合約和NeoVm合約怯屉。Native合約是在Ontology底層直接編寫(xiě)的合約,不需要像部署普通合約那樣編寫(xiě)合約代碼饵沧,具有很高的執(zhí)行效率锨络,是對(duì)普通合約的極大優(yōu)化,通用的服務(wù)包括:Oracle狼牺,DID羡儿,權(quán)限管理,數(shù)據(jù)交易所都將采用Native合約實(shí)現(xiàn)是钥。NeoVm合約是采用NeoVm虛擬機(jī)運(yùn)行的合約失受,需要編寫(xiě)相應(yīng)的合約代碼,現(xiàn)支持的語(yǔ)言包含:Java咏瑟,C#,Python痪署,NeoVm本身具有輕量級(jí)码泞、可擴(kuò)展、高性能的特性狼犯,通過(guò)結(jié)合Interop Service層能很好的打通虛擬機(jī)與賬本層間的交互余寥。 | 官網(wǎng)源碼: https://github.com/ontio |
鉑鏈(bottos) | wasm | c++,javascript悯森,goland | 源碼:https://github.com/bottos-project/bottos |