文件名称:ebso:EVM 字节码超级优化器
文件大小:113KB
文件格式:ZIP
更新时间:2024-06-19 08:59:27
OCaml
EVM字节码超级优化器 该工具 ebso 会自动查找无循环以太坊字节码的优化。 因此,ebso 采用了一种称为,该方法依赖于约束求解器来保证转换的正确性。 通过超级优化,ebso 会自动找到需要较少气体但在观察上等效的程序。 搜索这些更便宜的程序被编码为 SMT 问题,ebso 依靠解决了这个问题。 安装运行 安装 ebso 的最简单方法是使用 。 只需运行opam install . 克隆存储库后。 之后可以运行ebso -help以获取有关如何调用 ebso 的信息。 例子 $ ./ebso -translation-validation 256 -direct "600003600301" Optimized PUSH 0 SUB PUSH 3 ADD to PUSH 3 SUB Saved 6 gas, translation validation successful, thi
【文件预览】:
ebso-master
----ebso.opam(680B)
----dune(167B)
----lib()
--------gas_cost.mli(903B)
--------superoptimization.ml(4KB)
--------evm_state.mli(2KB)
--------dune(166B)
--------instruction.mli(4KB)
--------uninterpreted_instruction.ml(2KB)
--------used_gas.mli(995B)
--------stack_index.ml(1004B)
--------enc_consts.ml(5KB)
--------evm_storage.mli(1KB)
--------word.ml(4KB)
--------exc_halt.mli(920B)
--------enc_consts.mli(1KB)
--------used_gas.ml(2KB)
--------evm_stack.ml(5KB)
--------parser.ml(11KB)
--------evm_storage.ml(2KB)
--------gas_cost.ml(943B)
--------superoptimization.mli(1KB)
--------opcode.mli(957B)
--------word.mli(2KB)
--------uninterpreted_instruction.mli(751B)
--------printer.ml(4KB)
--------program_counter.mli(927B)
--------z3util.ml(7KB)
--------program.ml(6KB)
--------evm_stack.mli(2KB)
--------pusharg.ml(1KB)
--------evm_state.ml(5KB)
--------program_counter.ml(952B)
--------instruction.ml(10KB)
--------program.mli(2KB)
--------exc_halt.ml(2KB)
--------opcode.ml(1KB)
--------stack_index.mli(751B)
--------pusharg.mli(945B)
----dune-project(27B)
----doc()
--------logo()
----LICENSE(11KB)
----test()
--------test_transval.ml(5KB)
--------test_program.ml(14KB)
--------dune(1KB)
--------test_opcode.ml(1011B)
--------test_nonconstunint.ml(5KB)
--------test_superoptimize.ml(16KB)
--------test_classic_superoptimize.ml(5KB)
--------test_instruction.ml(2KB)
--------test_storage.ml(24KB)
--------test_evmenc.ml(63KB)
--------test_printer.ml(5KB)
--------test_parser.ml(12KB)
----README.md(1KB)
----Makefile(319B)
----.gitignore(40B)
----main.ml(7KB)
----ebso.sh(159B)