Ganache

“ganache”是否實現了黃皮書中的規範?

  • December 8, 2021

我想知道在我的機器上生成區塊鏈並用於開發的 ganache 是否實現了乙太坊黃皮書協議。

請按照我的邏輯:

那就是編譯 Solidity 程式碼並生成字節碼的時候。在我的 CPU 上執行的 EVM 將字節碼解釋為機器碼,並讓我的 CPU 執行它,並勾選本地區塊鏈 ganache。

所以我假設 EVM(軟體)在本地和主測試網之間是相同的,但是這個機器程式碼的執行位置不同,一個在本地 CPU 上,另一個在執行完整節點的所有 CPU 上。我的解釋正確嗎?

是的,Ganache 通過使用 Ethereumjs 來模擬完整的客戶端行為來實現黃皮書中的規範,請參閱doc

Ethereumjs是 Ethereum 虛擬機 (EVM) 的 Javascript/typescript 實現,因此您希望在 Geth、Parity 等客戶端上看到的任何行為都在 Ethereumjs 中得到支持。

所以是的,當部署在測試網/主網上時,你的 Solidity 程式碼應該以與在 Ganache 區塊鏈上執行的方式相同的方式執行。

引用自:https://ethereum.stackexchange.com/questions/113209