evm-opcodes - Ethereum opcodes and instruction reference

  •        1

This reference consolidates EVM opcode information from the yellow paper, stack exchange, solidity source, parity source, evm-opcode-gas-costs and Manticore. New issues and contributions are welcome, and are covered by bounties from Trail of Bits. Join us in #ethereum on the Empire Hacking Slack to discuss Ethereum security tool development.

https://github.com/trailofbits/evm-opcodes

Tags
Implementation
License
Platform

   




Related Projects

burrow - Hyperledger Burrow

  •    Go

Hyperledger Burrow is a permissioned Ethereum smart-contract blockchain node. It executes Ethereum EVM smart contract code (usually written in Solidity) on a permissioned virtual machine. Burrow provides transaction finality and high transaction throughput on a proof-of-stake Tendermint consensus engine. Project information generally updated on a quarterly basis can be found on the Hyperledger Burrow Wiki.

porosity - *UNMAINTAINED* Decompiler and Security Analysis tool for Blockchain-based Ethereum Smart-Contracts

  •    C++

Ethereum is gaining a significant popularity in the blockchain community, mainly due to fact that it is design in a way that enables developers to write decentralized applications (Dapps) and smart-contract using blockchain technology. Ethereum blockchain is a consensus-based globally executed virtual machine, also referred as Ethereum Virtual Machine (EVM) by implemented its own micro-kernel supporting a handful number of instructions, its own stack, memory and storage. This enables the radical new concept of distributed applications.

dapple - EVM contract system developer multitool

  •    Javascript

Dapple is a Solidity developer multitool designed to manage the growing complexity of interconnected smart contract systems. These concepts are related in a way unique to the smart contract ecosystem, due to each blockchain's universal singleton nature.

aleth - Aleth – Ethereum C++ client, tools and libraries

  •    C++

The collection of C++ libraries and tools for Ethereum, formerly known as cpp-ethereum project. This includes the full Ethereum client aleth. The Ethereum Documentation site hosts the cpp-ethereum homepage, which has a Quick Start section.

ethereumbook - Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood

  •    Javascript

Mastering Ethereum is a book for developers, offering a guide to the operation and use of the Ethereum, Ethereum Classic, RootStock (RSK) and other compatible EVM-based open blockchains. This repository contains the draft of the book, currently in progress, scheduled for publication in Q4'2018 by O'Reilly Media. The publication date has been delayed, unfortunately, due to some personal issues. Expect to see content developed and pushed here in Q1 and Q2 2018.


awesome-ethereum-virtual-machine - Ethereum Virtual Machine Awesome List

  •    

A curated list of resources on the Ethereum Virtual Machine (EVM), which is the virtual machine executed on the Ethereum network. Here is how to contribute.

ruby-ethereum - A Ruby implementation of Ethereum.

  •    Ruby

A Ruby implementation of Ethereum. Or some tests will fail because the default stack size cannot hold a maximum (1024) levels deep VM stack.

OpenZeppelin - A Framework to build secure smart contracts on Ethereum

  •    Javascript

OpenZeppelin is a library for writing secure Smart Contracts on Ethereum. With OpenZeppelin, you can build distributed applications, protocols and organizations. It is meant to provide secure, tested and audited code to enable the new generation of distributed applications, protocols and organizations. OpenZeppelin is a community effort to reduce the hurdle to develop and use them.

Embark - Framework for serverless Decentralized Applications using Ethereum, IPFS and other platforms

  •    Javascript

Embark is a framework that allows you to easily develop and deploy Decentralized Applications (DApps). A Decentralized Application is a serverless html5 application that uses one or more decentralized technologies. Embark currently integrates with EVM blockchains (Ethereum), Decentralized Storages (IPFS), and Decentralized communication platforms (Whisper and Orbit). Swarm is supported for deployment.

capstone - Capstone disassembly/disassembler framework: Core (Arm, Arm64, EVM, M68K, M680X, Mips, PPC, Sparc, SystemZ, TMS320C64x, X86, X86_64, XCore) + bindings (Python, Java, Ocaml, PowerShell, Visual Basic)

  •    C

Capstone is a disassembly framework with the target of becoming the ultimate disasm engine for binary analysis and reversing in the security community. Support multiple hardware architectures: ARM, ARM64 (ARMv8), Ethereum VM, M68K, Mips, PPC, Sparc, SystemZ, TMS320C64X, M680X, XCore and X86 (including X86_64).

Solidity - The Solidity Contract-Oriented Programming Language

  •    C++

Solidity is a contract-oriented, high-level language for implementing smart contracts. It was influenced by C++, Python and JavaScript and is designed to target the Ethereum Virtual Machine (EVM). It is statically typed, supports inheritance, libraries and complex user-defined types among other features. With Solidity you can create contracts for uses such as voting, crowdfunding, blind auctions, and multi-signature wallets.

shellcodeexec - Script to execute in memory a sequence of opcodes

  •    C

Most of the shellcode launchers out there, including proof of concepts part of many "security" books, detail how to allocate a memory page as readable/writable/executable on POSIX systems, copy over your shellcode and execute it. This works just fine. However, it is limited to POSIX, does not necessarily consider 64-bit architecture and Windows systems. shellcodeexec is an open source script to execute in memory a sequence of opcodes.

monax - The Ecosystem Application Platform

  •    Go

monax is a tool which makes it easy for developers to build, test, manage, and operate smart contract applications. No matter the blockchain.For the motivation behind this tool see this post.

openzeppelin-solidity - OpenZeppelin is a library for secure smart contract development

  •    Javascript

OpenZeppelin is a library for secure smart contract development. It provides implementations of standards like ERC20 and ERC721 which you can deploy as-is or extend to suit your needs, as well as Solidity components to build custom contracts and more complex decentralized systems. To write your custom contracts, import ours and extend them through inheritance.

EVM Virtual Machine

  •    C

EVM is a 32-bit virtual machine designed for easy implementation. It supports bounds checking, real-time linking and JIT compilation on x86 architecture. No platform-specific calls or byte order dependencies. Comes with an optimizing C compiler.

EVidenceModeler (EVM)

  •    Perl

EVidenceModeler (aka EVM) combines ab initio gene predictions and spliced protein and transcript alignments into weighted consensus gene structure predictions.

SwiftMVVM

  •    

An extremely fast, easily refactorable implementation of INotifyPropertyChanged/ing, using dynamic proxy generation, as well as a robust change tracking engine.

PHPPHP - A PHP VM implementation in PHP

  •    PHP

A PHP VM implementation written in PHP. To see what's supported so far, check out the opcodes.

Software x86 CPU emulator library

  •    C

Softx86 is a library that provides software emulation of an Intel 80x86 CPU. The library takes care of executing opcodes and handling exceptions while the host application is responsible for providing simulated RAM, I/O devices, external signals.