1 个不稳定版本
0.0.1 | 2020年10月22日 |
---|
#4 在 #eye
每月46次下载
325KB
1.5K SLoC
苏特罗之眼:以太坊状态监视器
想法
以太坊交易触发执行 EVM 合同代码。执行是确定性的,仅依赖于交易(发送者,calldata 等)和链状态(区块信息,存储)。交易可以对链状态进行有限的更改并返回一个字节数组。
我们对准确计算交易的气体消耗或涉及创建和销毁合约的交易不感兴趣。这极大地简化了 EVM 语义。我们还可以安全地忽略日志,因为现在它是冗余的。
范围
订单路由
网状订单监视器 2.0
Periscope 链数据收集器
快速测试运行器
Ganache 非常慢,这阻止了我们运行我们想要的那么多测试。一个可以分叉现有链的快速 EVM 引擎。
里程碑
- 将 RPC 请求转发到 Ganache 并通过测试。
- 回放最近的一批交易。
- 替换 https://github.com/0xProject/go-ethereum
- 通过 https://github.com/ethereum/tests 中的所有测试
- 运行 https://g.solidity.cc/ 中的所有解决方案
调试
- Bytes4 解码任何调用/返回值。
- 解析 Solidity 源映射。
clear; RUST_LOG="trace,tokio=info,hyper=info,mio=info" cargo run
依赖项
~28–39MB
~574K SLoC