V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
freekindom
0.01D
V2EX  ›  分享创造

[大年初一造轮子] 为了搞懂以太坊,我用 JS 手搓了一个 64 位 EVM (附 Web 调试器)

  •  
  •   freekindom · 12 小时 10 分钟前 · 298 次点击

    大家新年好。

    大年初一,走了一天亲戚,客套话说尽了。晚上躲清静,把最近写的这个“玩具”整理了一下,发出来给大家解解闷。

    这是一个 64 位 的以太坊虚拟机 (EVM) 实现。

    这个轮子有什么不同?

    1. 64 位架构:不同于标准的 256 位 EVM ,我把它改造成了 64 位。这样更轻量,也更贴近 CPU 的原生逻辑,跑在 JS 引擎里也更顺滑。
    2. 可视化堆栈:这是我觉得最好玩的部分。写了一个简单的 Web 界面,可以直观地看到 StackMemoryPC 指针。
    3. 图灵完备:目前实现了基础运算、位操作、逻辑控制和跳转。虽然还在 v0.1 阶段,但已经可以跑通循环算法了。

    截图

    EVM Web UI

    碎碎念

    目前项目还在早期 (v0.1),功能还很简陋。 发出来是想找找同好。如果你对虚拟机原理解释器构造感兴趣,或者也是正在 Gap 的程序员,欢迎来 Star 或 提 Issue 聊两句。

    接下来的计划是攻克 CALLDELEGATECALL,希望能坚持下去。

    Repo 地址: https://github.com/picasso250/js-evm

    1 条回复    2026-02-17 21:06:50 +08:00
    lxmfly123
        1
    lxmfly123  
       12 小时 1 分钟前
    一眼 AI
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1803 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:08 · PVG 09:08 · LAX 17:08 · JFK 20:08
    ♥ Do have faith in what you're doing.