iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Web 3

以 Python 進入以太坊虛擬機 (EVM) 的幻想境界 系列

參考 py-evm 實現的一個簡單的 Python EVM,這能讓我們更深入理解以太坊的運作方式。
以太坊虛擬機是智能合約運行的關鍵,和一般分佈式帳本最大的差異就在 EVM 上,會從 Opcode 開始實現,並在實現的過程教學一些運作知識,這可讓你更了解你在區塊鏈上做了什麼,主要會以 code 來教學!

鐵人鍊成 | 共 30 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 1

虛擬境界 1:介紹以太坊虛擬機 (EVM)

這三十天會相當充實,這篇會那麼晚發其實是因為後面的文章貨屯不夠😂,這挑戰難度和字數應該都挺高的。主要會介紹以太坊並實作核心 EVM 的部分,在最後幾天會教基礎...

2023-09-16 ‧ 由 kidneyweakx 分享
DAY 2

虛擬境界 2:OPCODES 運作

在介紹 Opcodes 前,先介紹一支 solidity 程式是如何執行的 我們先寫一組簡單的 solidity code // SPDX-License-Id...

2023-09-17 ‧ 由 kidneyweakx 分享
DAY 3

虛擬境界 3:Stack (PUSH & POP)

在以太坊虛擬機(Ethereum Virtual Machine,簡稱 EVM)中,堆疊(stack)是一個重要的資料結構,遵循後入先出(LIFO)的原則。程式...

2023-09-18 ‧ 由 kidneyweakx 分享
DAY 4

虛擬境界 4:Stack (DUP & SWAP)

今天來介紹 Dup 和 swap opcode,這兩個也是操作 stack 很重要的兩個功能 DUP 指令概述 DUP 指令是 EVM 中常用的指令之一,它用於...

2023-09-19 ‧ 由 kidneyweakx 分享
DAY 5

虛擬境界 5:控制流 Flow

在這一章中,我們將介紹 EVM 中的控制流指令,包括 JUMP、JUMPI、PC、MSIZE 和 JUMPDEST。 # # Memory, Storage a...

2023-09-20 ‧ 由 kidneyweakx 分享
DAY 6

虛擬境界 6:停止和算術指令

第六章:介紹 EVM 停止和算術指令 在這一章中,我們將介紹 EVM 中的停止和算術指令,包括 STOP、ADD、MUL、SUB、DIV、SDIV、MOD、SM...

2023-09-21 ‧ 由 kidneyweakx 分享
DAY 7

虛擬境界 7:比較和位元 (Comparison) 指令

第七章:介紹 EVM 比較和位元邏輯指令 在這一章中,我們將介紹 EVM 中的比較和位元邏輯指令,包括 LT、GT、SLT、SGT、EQ、ISZERO、AND、...

2023-09-22 ‧ 由 kidneyweakx 分享
DAY 8

虛空境界 8 :SHA3 (Keccak-256) 和環境指令

第八章:介紹 SHA3 (Keccak-256) 和環境指令 # # Sha3 # SHA3 = 0x20 # # Environment Informati...

2023-09-23 ‧ 由 kidneyweakx 分享
DAY 9

虛擬境界 9:環境和區塊資訊指令

第9章:環境和區塊資訊指令 在這一章中,我們將介紹 EVM 中的環境和區塊資訊指令。 # These opcodes seem to belong in the...

2023-09-24 ‧ 由 kidneyweakx 分享
DAY 10

虛擬境界 10:記憶體指令

第十章:存取記憶體相關指令 在這一章中,我們將介紹 EVM 中與存取記憶體相關的指令,包括 MLOAD、MSTORE 和 MSTORE8。 MLOAD = 0x...

2023-09-25 ‧ 由 kidneyweakx 分享