主页 > imtoken官网网址 > 智能合约文档 - 以太坊虚拟机第 1 部分

智能合约文档 - 以太坊虚拟机第 1 部分

imtoken官网网址 2023-11-06 05:07:45

本文已参加“新人创建盛典”活动,我们将一起开启金块创建之路。

概述

以太坊虚拟机或 EVM 是以太坊中智能合约的运行时环境。 它不仅是沙盒化的,而且实际上是完全隔离的,这意味着在 EVM 内运行的代码无法访问网络、文件系统或其他进程。 智能合约甚至对其他智能合约的访问也受到限制。

Remix环境安装

1. 下载node.js

1652373951(1).png

2.cmd输入命令下载remix

cmd npm install remix-ide -g 3. 启动remix-ide

cmd remix-ide 4,可以打开127.0.0.1:8080/index或者直接打开

帐户帐户

1. 以太坊中有两种共享同一地址空间的账户:由公私钥对(即人类)控制的外部账户和由与账户存储的代码控制的合约账户。

外部账户的地址由公钥确定,而合约的地址是在创建合约时确定的(由创建者地址和从该地址发送的交易数得出,即所谓的“随机数” ).

无论帐户是否存储代码,EVM 都对这两种类型一视同仁。

每个账户都有一个持久的键值存储,将 256 位字映射到 256 位字,称为存储。

此外,每个账户都有一个以太币余额(准确地说是“Wei”),可以通过发送包含以太币的交易来修改。 1ether``10**18wei

交易

交易是从一个帐户发送到另一个帐户的消息(可能相同或为空,见下文)。 它可以包括二进制数据(称为“有效载荷”)和以太币。

如果目标帐户包含代码,则执行该代码并提供有效负载作为输入数据。

如果没有设置目标账户(交易没有收款人或收款人设置为空),交易创建一个新的合约。 如前所述以太坊智能合约执行时的手续费以太坊智能合约执行时的手续费,该合约的地址不是零地址,而是从发送者及其发送的交易数量(“随机数”)派生的地址。 这种合约创建交易的有效负载被视为 EVM 字节码并被执行。 此执行的输出数据作为合约代码永久存储。 这意味着,为了创建合约,您不会发送合约的实际代码,而是发送实际执行时返回该代码的代码。 创建合约时,其代码仍然是空的。 因此,在构造函数完成执行之前,您不应该回调正在构建的合约。