以太坊虚拟机(EVM) 以太坊虚拟机(Ethereum Virtual Machine,简称EVM)是一个基于栈的虚拟机,基于特定的环境数据,执行一系列的字节代码形式的指令,以修改系统状态。EVM目前提供了11类,140个指令。 EVM是一个准图灵机,这个“准”的限定来源于其中的运算 ...
一 什么是EVM EVM是以太坊协议的一部分,它用来处理智能合约的部署和执行。除了在EOA 由用户私钥控制的所谓 外部账户 之间的简单转账交易以外,其他所有涉及状态更新的操作都是通过EVM来计算的。从高层抽象的角度,运行在以太坊区块链上的EVM可以想象成一个包含了数百万可执行对象的全球化去中心化计算机,这些可执行对象都拥有它们各自的永久数据存储。 EVM是一个 准 图灵完备的状态机,因为在其中进行 ...
2020-04-22 10:44 2 613 推荐指数:
以太坊虚拟机(EVM) 以太坊虚拟机(Ethereum Virtual Machine,简称EVM)是一个基于栈的虚拟机,基于特定的环境数据,执行一系列的字节代码形式的指令,以修改系统状态。EVM目前提供了11类,140个指令。 EVM是一个准图灵机,这个“准”的限定来源于其中的运算 ...
以太坊 EVM原理与实现 以太坊底层通过EVM模块支持合约的执行与调用,调用时根据合约地址获取到代码,生成环境后载入到EVM中运行。通常智能合约的开发流程是用solidlity编写逻辑代码,再通过编译器编译元数据,最后再发布到以太坊上。 指令 OpCode 文件opcodes.go中 ...
evm指令集手册 Opcodes 结果列为"-"表示没有运算结果(不会在栈上产生值),为"*"是特殊情况,其他都表示运算产生唯一值,并放在栈顶. mem[a...b] 表示内存中a到b(不包含b)个字节 storage[p] 表示从p开始的32个字节 谨记evm虚拟机的word(字)是256 ...
死磕以太坊源码分析之EVM固定长度数据类型表示 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习。 翻译自 https://medium.com/@hayeah ...
死磕以太坊源码分析之EVM如何调用ABI编码的外部方法 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习。 前言 abi是什么? 前面我们认识到的是智能合约直接在EVM ...
什么是以太坊预言机?智能合约就其性质而言,能够运行各种算法并存储查询数据。预言机可以监控以太坊区块链事件并能将监控结果发回智能合约。因为每个节点每次都需要大量计算,所以从Ethereum智能合约开发中进行频繁的网络请求是切不实际的。这样,智能合约就可以与链外的世界进行互动了。 但是这样有一个明显 ...
总览 以太坊虚拟机(EVM)是以太坊中智能合约的运行环境。它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在EVM内部的代码不能接触到网络、文件系统或者其它进程。甚至智能合约与其它智能合约只有有限的接触。 账户 以太坊中有两类账户,它们共用同一个地址空间。外部账户,该类账户被公钥-私钥 ...
理解什么是以太坊? 简单的说:比特币背后的核心技术是区块链技术,在区块链里加进“智能合约”便是以太坊(Ethereum)。 Ethereum(以太坊)自称“世界计算机”,可以用代码编程的方式制造一个“信任的机器”,代码即法律,你可以在上面做交易而不用担心你的钱被某个公司卷走,因为它本身不受 ...