章节
- 以太坊(Ethereum) – 是什么
- 以太坊(Ethereum) – 什么是智能合约
- 以太坊(Ethereum) – 以太币
- 以太坊(Ethereum) – 虚拟机(E.V.M.)
- 以太坊(Ethereum) – 分布式应用(DApp)
- 以太坊(Ethereum) – 账号(地址)
- 以太坊(Ethereum) – 虚拟机架构
- 以太坊(Ethereum) – 网络节点
- 以太坊(Ethereum) – 以太币单位
- 以太坊(Ethereum) – 挖矿
- 以太坊(Ethereum) – 智能合约开发
- 以太坊(Ethereum) – 智能合约的优点
- 以太坊(Ethereum) – 智能合约开发概述
- 以太坊(Ethereum) – 智能合约开发环境搭建
- 以太坊(Ethereum) – Ganache本地区块链
- 以太坊(Ethereum) – 开发智能合约
- 以太坊(Ethereum) – 部署智能合约到Ganache
- 以太坊(Ethereum) – 使用 truffle console 访问智能合约
- 以太坊(Ethereum) – 智能合约测试(truffle test)
- 以太坊(Ethereum) – 连接公链
- 以太坊(Ethereum) – 部署智能合约到公链
- 以太坊(Ethereum) – truffle脚本
- 以太坊(Ethereum) – 让浏览器支持区块链(MetaMask)
- 以太坊(Ethereum) – 智能合约前端页面
前面章节介绍了虚拟机的概念,接下来进一步介绍虚拟机的架构。
以太坊(Ethereum)网络中,定义了一组通用协议用于支持智能合约的运行,其核心便是以太坊(Ethereum)虚拟机。
下图解释了该架构:
- 开发人员使用Solidity等开发语言开发智能合约
- 源程序被编译成以太坊虚拟机支持的字节码可执行程序
- 可执行程序被部署到网络中,即写入区块,并被分配一个账号(地址)
- 外部账号或其他合约账号,可以通过该智能合约的账号访问它
需要注意的是,以太坊(Ethereum)虚拟机不仅是完全沙箱化的,而且是完全隔离的。这意味着当前在EVM上运行的代码不能访问网络或文件系统,只能少量访问其他合约账号。