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