大家新年好。
大年初一,走了一天亲戚,客套话说尽了。晚上躲清静,把最近写的这个“玩具”整理了一下,发出来给大家解解闷。
这是一个 64 位 的以太坊虚拟机 (EVM) 实现。
这个轮子有什么不同?
- 64 位架构:不同于标准的 256 位 EVM ,我把它改造成了 64 位。这样更轻量,也更贴近 CPU 的原生逻辑,跑在 JS 引擎里也更顺滑。
- 可视化堆栈:这是我觉得最好玩的部分。写了一个简单的 Web 界面,可以直观地看到
Stack、Memory和PC指针。 - 图灵完备:目前实现了基础运算、位操作、逻辑控制和跳转。虽然还在 v0.1 阶段,但已经可以跑通循环算法了。
截图

碎碎念
目前项目还在早期 (v0.1),功能还很简陋。 发出来是想找找同好。如果你对虚拟机原理、解释器构造感兴趣,或者也是正在 Gap 的程序员,欢迎来 Star 或 提 Issue 聊两句。
接下来的计划是攻克 CALL 和 DELEGATECALL,希望能坚持下去。
Repo 地址: https://github.com/picasso250/js-evm