什麼是 EVM 兼容鏈?
程序員在為一個軟件編寫程序時,會使用到編程語言,例如 C++。但 C++ 是計算機的 CPU 無法理解的語言。程序員通過 C++ 編寫好的程序需要通過編譯器翻譯成 CPU 可以理解的語言,即字節代碼,從而對 CPU 發號施令讓軟件可以在計算機上順利運行。
如果你覺得這段話難以理解,那來看個例子👇。
假設布嚕是一個英語盲,但作為一名區塊鏈從業者,它需要經常查看一些英語文章來及時掌握行業信息。為了解決語言障礙,它會把文章通過翻譯軟件轉譯成中文再閱讀。
一篇用英語寫成的文章被翻譯為中文,變成布嚕能看懂的語言,布嚕能夠掌握區塊鏈行業信息。
一個用 C++ 編成的程序被編譯為字節代碼,變成 CPU 能看懂的語言,CPU 可以運行軟件程序。
可這跟以太坊的 EVM 有什麼關係?答案是,EVM 之於以太坊,就像 CPU 之於計算機。
以太坊是一台世界級計算機,但它畢竟不是實體電腦,也沒有 CPU,那麼智能合約要如何在以太坊上運行呢?
EVM 就是以太坊的 CPU,以太坊開發者們通過編程語言 Solidity 寫好的程序,被編譯為 EVM 可以理解的 EVM 字節代碼,EVM 就可以運行智能合約的程序。
EVM 兼容鏈創造了一個類似 EVM 的代碼執行環境,讓以太坊上的開發者可以方便快捷地將智能合約部署到這條鏈上,而不必為了這條鏈再從頭開始編寫智能合約的代碼。
與以太坊相比,EVM 兼容鏈的特點是礦工費更低,交易結算速度更快,且地址格式與以太坊相同,都是 0x 開頭。
EVM 兼容鍊和公有鏈的關係
區塊鏈可以分為三大類:公有鏈、私有鍊和聯盟鏈。
- 公有鏈指所有人均可發送交易、讀取鏈上信息的區塊鏈,比特幣、以太坊、BSC、HECO 都是公有鏈。
- 聯盟鏈指有若干個機構共同參與管理的區塊鏈,其數據只允許系統內的機構進行讀寫和發送。
- 私有鏈指僅單個機構擁有鏈上信息記錄和讀取權限的區塊鏈。
BSC、HECO、OKEx Chain 分別是幣安、火幣和 OKEx 推出的公鏈,但同時也是 EVM 兼容鏈,EVM 兼容鍊是公鏈的子集。
由於交易所紛紛推出了自家的公鏈,用戶在提幣時有了更多選擇,但同時也產生了一個問題:交易所公鏈的地址格式與以太坊相同,都是 0x 開頭,因此提幣時容易混淆,導致提幣到 imToken 錢包後不到賬。
不到賬的原因其實是你沒有將錢包資產界面從以太坊主網切換到對應的 EVM 兼容鏈,具體的解釋和解決辦法,大家可以查看這篇文章《為什麼從交易所提幣到錢包,一直沒有到賬? 》,這裡不再贅述。