3 个版本
使用旧的 Rust 2015
0.1.3 | 2017年8月23日 |
---|---|
0.1.2 | 2017年8月4日 |
0.1.1 | 2017年7月31日 |
0.1.0 |
|
#13 在 #disassemble
15KB
319 行
evmasm
evmasm 包旨在提供一种简单的方法,用于在 EVM 字节码和人类可读形式之间进行转换。
extern crate evmasm;
use evmasm::{BYTE_INST, instruction, arguments_size};
fn main() {
for (&bc, _) in BYTE_INST.iter() {
let inst = instruction(bc).ok().unwrap();
println!("0x{:2x} - {} - needs {} bytes of arguments",
bc,
inst,
arguments_size(bc).ok().unwrap());
}
}
lib.rs
:
evmasm 包旨在提供一种简单的方法,用于在 EVM 字节码和人类可读形式之间进行转换。
extern crate evmasm;
use evmasm::{assemble, disassemble};
fn main() {
let bytecode = assemble("PUSH1 2 PUSH1 1 ADD").unwrap();
println!("{:?}", bytecode);
let code = disassemble(&bytecode).unwrap();
for ln in code {
println!("{}", ln);
}
}
extern crate evmasm;
use evmasm::{BYTE_INST, instruction, arguments_size};
fn main() {
for (&bc, _) in BYTE_INST.iter() {
let inst = instruction(bc).ok().unwrap();
println!("0x{:2x} - {} - needs {} bytes of arguments",
bc,
inst,
arguments_size(bc).ok().unwrap());
}
}
依赖项
~280KB