主页 > 苹果手机imtoken怎么下载 > 究竟什么是以太坊 Gas?

究竟什么是以太坊 Gas?

苹果手机imtoken怎么下载 2024-01-17 05:12:42

在过去的几年里,很多人(包括我自己)进入了加密领域,任何接触过以太坊的人可能都会问自己,地球是什么气体?简单地说,Gas 是为 Ethereum 提供的 Square 网络提供的电力就像汽油为汽车提供动力一样。本文将向您揭示这一说法,以便您在本文结束时对 Gas 的真正含义有一个深刻的理解。

以太坊网络

天然气为以太坊网络提供动力,就像汽油为汽车提供动力一样。这意味着什么?为了解释这一点,我需要给你一些关于以太坊网络主要目的的背景知识。以太坊网络是一个计算机网络,它将在区块链上执行代码并更新其全局状态。嗯,这听起来有点复杂。

这最终意味着网络上的计算机正在执行代码并存储数据。执行此代码会消耗资源(CPU、RAM 等)以太坊gas查询,因为网络上的每台计算机都必须执行它。这提供了一种简单的方法来破坏网络,创建一个无限循环的智能合约,因为网络上的每个节点都试图执行他们发现自己卡住并且无法为任何其他交易提供服务的代码。

以太坊的开发人员和设计人员都意识到了这一点,并理解必须有与代码执行和存储相关的成本才能防止这种情况发生。这种成本称为 Gas。

智能合约

当我提到代码的执行时,我指的是以太坊网络上的所有交易,但在本文中,我想重点关注智能合约。智能合约通常是用像 Solid 这样的高级编程语言编写的。这是一个简单的智能合约示例,它将两个数字相加并返回结果。

坚强

pragma solidity ^0.4.24;contract abc {

function add(uint256 a, uint256 b) 内部纯返回 (uint256) {

uint256 c = a + b;

返回 c;

}

}

这个可靠的代码被编译成 EVM(以太坊虚拟机)字节码,就像 java 被编译成 JVM 字节码一样。 EVM 是一种面向安全的虚拟机,旨在允许全球计算机网络执行不受信任的代码。

EVM 实质上会占用您的一部分 CPU、RAM 等并设置虚拟计算机。下面是上面编译成十六进制和字符串字节码的可靠度代码,

十六进制字节码

6080604052348015600F57600080FDD5B5060358060601D6000396000396000F30060806080526000526000500A16500A1657A7A7A7A7A236CCCCCCCCCCCCCCCCCCCCACACAN255C38255CREN24F.4FCREMNFEN81824F.4FCREMNED4F.4NEF4FCREMNED4FCRENF4FCRENFEN81.EAPRENFEN7FCRENF4FCRENF4FCRENF4FCRENF4FCRENEN.24FCRENFER

字符串字节码

PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x35 DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 LOG2 TIMESTAMP 0x5c CALLDATASIZE 0xcc 0xea SIGNEXTEND 0x4e DUP2 DUP7 难度 0x48 ADDMOD PUSH32 0x7F7A36FB11875DFB63711A27FCB427AD1CD000290000 00000000000000000000

请注意,十六进制和字符串字节码在内容上是相同的,只是以两种不同的格式表示。从字符串字节码可以看出,有一些简单的指令,如 PUSH1 等。EVM 的每个 opt 代码都有一个关联的 Gas 值。例如 PUSH1,将字节项放入堆栈的命令的开销为 3,而计算更昂贵的计算,例如 KECCAK256(计算 Keccak-256 散列的开销为 30 +(被散列的单词的 6 倍)号)。

Gas 价格、Gas 限制和耗尽

您可能参与了 ICO,或者您可能只是将一些 ETH 转移到另一个账户,在这两种情况下以太坊gas查询,您可能会被要求提供 gas 限制和 gas 价格。一般都是预填了推荐值,但是这两个值到底是什么意思呢? “Gas limit”是指您将在一笔交易中使用的 Gas 数量,而“Gas price”是指您愿意为一笔 Gas 支付的 Ether 数量。您支付的方程式很简单,

Gas PAID = Gas PRICE * Gas​​USED

约束

使用的气体