參考 py-evm 實現的一個簡單的 Python EVM,這能讓我們更深入理解以太坊的運作方式。
以太坊虛擬機是智能合約運行的關鍵,和一般分佈式帳本最大的差異就在 EVM 上,會從 Opcode 開始實現,並在實現的過程教學一些運作知識,這可讓你更了解你在區塊鏈上做了什麼,主要會以 code 來教學!
這三十天會相當充實,這篇會那麼晚發其實是因為後面的文章貨屯不夠😂,這挑戰難度和字數應該都挺高的。主要會介紹以太坊並實作核心 EVM 的部分,在最後幾天會教基礎...
在介紹 Opcodes 前,先介紹一支 solidity 程式是如何執行的 我們先寫一組簡單的 solidity code // SPDX-License-Id...
在以太坊虛擬機(Ethereum Virtual Machine,簡稱 EVM)中,堆疊(stack)是一個重要的資料結構,遵循後入先出(LIFO)的原則。程式...
今天來介紹 Dup 和 swap opcode,這兩個也是操作 stack 很重要的兩個功能 DUP 指令概述 DUP 指令是 EVM 中常用的指令之一,它用於...
在這一章中,我們將介紹 EVM 中的控制流指令,包括 JUMP、JUMPI、PC、MSIZE 和 JUMPDEST。 # # Memory, Storage a...
第六章:介紹 EVM 停止和算術指令 在這一章中,我們將介紹 EVM 中的停止和算術指令,包括 STOP、ADD、MUL、SUB、DIV、SDIV、MOD、SM...
第七章:介紹 EVM 比較和位元邏輯指令 在這一章中,我們將介紹 EVM 中的比較和位元邏輯指令,包括 LT、GT、SLT、SGT、EQ、ISZERO、AND、...
第八章:介紹 SHA3 (Keccak-256) 和環境指令 # # Sha3 # SHA3 = 0x20 # # Environment Informati...
第9章:環境和區塊資訊指令 在這一章中,我們將介紹 EVM 中的環境和區塊資訊指令。 # These opcodes seem to belong in the...
第十章:存取記憶體相關指令 在這一章中,我們將介紹 EVM 中與存取記憶體相關的指令,包括 MLOAD、MSTORE 和 MSTORE8。 MLOAD = 0x...