├── ethereum_evm_illustrated.pdf ├── src └── ethereum_evm_illustrated.pptx ├── changelog.md ├── README.md └── LICENSE /ethereum_evm_illustrated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takenobu-hs/ethereum-evm-illustrated/HEAD/ethereum_evm_illustrated.pdf -------------------------------------------------------------------------------- /src/ethereum_evm_illustrated.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takenobu-hs/ethereum-evm-illustrated/HEAD/src/ethereum_evm_illustrated.pptx -------------------------------------------------------------------------------- /changelog.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 0.1.1 *Mar 2018* 4 | 5 | * Modify exception page temporarily on page 59 6 | - thanks to ubuntaire and smarx at Reddit 7 | 8 | * Add reference "[E9] ethereum/wiki Subtleties" on page 113 9 | 10 | 11 | ## 0.1.0 *Mar 2018* 12 | 13 | * First release 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Ethereum EVM illustrated 2 | ======================== 3 | 4 | This is an illustrated document about the EVM(Ethereum Virtual Machine). 5 | 6 | Here is: [Ethereum EVM illustrated](http://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf) (PDF). 7 | 8 | Contents 9 | -------- 10 | 11 | 1 Introduction 12 | - Blockchain 13 | - World state 14 | - Account 15 | - Transaction 16 | - Message 17 | - Decentralised database 18 | - Atomicity and order 19 | 20 | 2 Virtual machine 21 | - Ethereum virtual machine (EVM) 22 | - Message call 23 | - Exception 24 | - Gas and fee 25 | - Input and output 26 | - Byte order 27 | - Instruction set 28 | - Miscellaneous 29 | 30 | Appendix A : Implementation 31 | - Source code in Geth 32 | - EVM developer utility 33 | - Solidity ABI 34 | 35 | Appendix B : User interface 36 | - Web3 API 37 | - Geth, Mist, Solc, Remix, Truffle, ... 38 | 39 | References 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2018, Takenobu Tani 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | --------------------------------------------------------------------------------