Skip to content

PumpkinSeed/libdisevm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libdisevm

EVM bytecode disassembler

Installation

go get github.com/PumpkinSeed/libdisevm

Usage

package main

import (
	"fmt"

	"github.com/PumpkinSeed/libdisevm"
)

func main() {
	bytecode := "..."
	opcodes, err := libdisevm.Disassemble(bytecode)
	if err != nil {
		panic(err)
	}

	formatter := libdisevm.NewFormatter(opcodes)

	fmt.Println(formatter.SingleLine())
	// Output: PUSH1 0x42 PUSH1 0x00 MSTORE PUSH1 0x20 PUSH1 0x00 RETURN

	fmt.Println(formatter.MultiLine())
	// Output:
    // PUSH1 0x42
    // PUSH1 0x00
    // MSTORE
    // PUSH1 0x20
    // PUSH1 0x00
    // RETURN
}

About

EVM bytecode disassembler

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages