乙太坊智能合約是否也適用於 Tendermint?
我最近讀到Tendermint 即將發布它自己的公共區塊鏈。
在交叉閱讀他們的部落格後,我看到多次提到 EVM。
Tendermint 是否實現了乙太坊虛擬機?乙太坊智能合約是否也適用於 Tendermint?
不,Tendermint 沒有實現乙太坊虛擬機。使用 Tenderment,您可以使用您選擇的任何語言實施“智能合約”。
智能合約通過消息傳遞協議與 Tendermint 區塊鏈對話,而不是像在乙太坊中那樣在區塊鏈上實際執行。但是,如果需要,您可以使用 Tendermint 與乙太坊集成。
是的,但你必須使用的不僅僅是 Tendermint。Tendermint 本身是一個共識引擎,它對應用程序狀態或虛擬機一無所知。它所知道的是它需要對交易進行排序,這只是任意字節。為了使 Tendermint 有用,它可以使用TMSP將事務中繼到在另一個程序中執行的應用程序,並且該應用程序可以用任何語言編寫並支持任意應用程序狀態。因此,您可以使用現有的乙太坊程式碼庫,將它們調整為 TMSP,然後使用 Tendermint 而不是乙太坊的工作證明來執行它們。您可以為每種語言的實現執行此操作!
事實上,我們在 go 中已經這樣做了:
geth-tmsp
是一個go-ethereum
滿足 TMSP 介面的分支,因此它可以由 Tendermint 區塊鏈驅動。也就是說,您可以像使用現有的 go-ethereum 工具和 web3 一樣使用,但使用 Tendermint 後端而不是乙太坊網路和工作證明。eris-db
是一個智能合約區塊鏈,它託管一個完全兼容的 EVM(即你可以執行solidity 合約),以及一個功能係統和一個全域鍵值儲存。它還滿足 TMSP 介面,並由 Tendermint 原生驅動。我們正在努力推出一個名為Atom的公共區塊鏈,它實際上只是使用 Tendermint 對側鏈的概括。其中一個側鏈將託管 EVM,因此將有一個由 Tendermint 驅動的公共區塊鏈託管 EVM。