科普贴 | 以太坊网络中的Gas Limit 和 Gas Price 是什么概念?
接触以太坊的同学都听过 Gas/ Gas Price/ Gas Limit,那么这些词汇究竟是什么意思?
还有,为什么有时候你的ETH转账会很慢?如何提高ETH转账速度?
Ethereum平台
Vitalik Buterin于2015年7月推出了全球市值第二大加密货币的平台叫做Ethereum。 该平台目标是为开发人员提供一个开放、分布式网络,允许启动自己的分散式应用程序(DApps)和智能合约。 若比特币网络是对等支付系统,则以太坊被设计为通过分散式虚拟机(EVM)执行程序代码。
Ethereum网络与Bitcoin不同,前者里不仅运行一种加密货币,除了ETH之外,还有Gas和Gas Limit。 它们不仅允许用户支付交易费用,还可以启动智能合约和DApps,并将数据存储在区块链中。
Gas 是什么?
Gas 翻译成中文就是“燃气”,是以太坊世界的燃料,它决定了以太坊网络生态系统的正常运行。
Gas 用来衡量执行某些动作需要多少“工作量”,这些“工作量”就是为了执行该动作支付给网络的费用额。通俗理解,Gas 是给矿工的佣金,并以 ETH 支付,无论是交易、执行智能合约并启动 DApps,还是支付数据存储费用,都需要用到 Gas。
▲gas 的工作原理
Gas Limit 和 Gas Price 是什么?
ETH 与其他加密货币不同,其作用不仅限于支付还用维护网络,一枚 ETH 分为:Finney,Szabo,Gwei,Mwei,Kwei 和 Wei,其中Wei是最小的 ETH 单位,一个ETH 等于一千 Finney,一百万 Szabo,十亿Gwei和百万万亿 Wei 。
Gas由两个部分组成: 限制(Gas limit)和价格(Gas Price)。Gas Limit 是用户愿意为执行某个操作或确认交易支付的最大Gas量(最少21,000)。Gas Price 是 Gwei 的数量,用户愿意花费于每个 Gas 单位的价钱。
当进行每笔交易时,发送人设定Gas Limit 和Gas Price,将 Gas Limit*Gas Price ,就得到了ETH交易佣金的成本。
发送者支付的Gas Price越高,则其交易的优先级越重要,因为矿工的报酬会更高。 此选项适用于那些参与热门ICO预售的人,并他们希望增加自己交易列入到下一个区块的机会。 但是,通过设置较低燃料价格(GasPrice),发送者可以节省资金,例如,将资金转到另一个钱包。
交易完成后,所有未使用的Gas都会退到发送者账户。 但是,如果用户设置的限制值太低,那么ta的交易被认为是无效的,并且会因为“Gas不足”错误而被取消,并且用于计算的Gas不会退到账户。 值得注意的是,无论交易是否通过,发送者总是向矿工支付计算费用。
因此设置 Gas 需要考虑的问题:
- 不同的操作会产生不同的 Gas 成本。
- Gas Price越高,交易优先级越高,打包交易速度越快。
- Gas 用完时,矿工将停止执行。也即当设置的最大Gas Limit用完时,交易还未完成,那么交易失败,并且已消耗的费用不再退回。
- 如果设置的最大Gas Limit未用完时,还有剩余的 Gas,将立即退还给发起交易的人员。
提高Gas Price是否会加快开采速度?
交易费用会交给挖矿的矿工。当矿工挖矿时,他们必须决定确认哪些交易。为了鼓励矿工在区块中确认你的交易,你可以设置一个足够高的 Gas Price,这样你就跳到了别人的前面,被优先确认交易。如果你的 Gas price 设置得过低,低于矿工的预期值,就会被忽视不予确认。
如果你想少花一些交易费,就降低 Gas price,但是价格太低会影响交易的确认速度,适用于不紧急的交易。目前为止,确认交易使用 1 Gwei 需要大约30分钟,而用 40 Gwei 大约1-2分钟。
想知道更多区块链的资讯和干货,请持续关注 wx公众号:『猫说区块链』。
科普贴 | 以太坊网络中的Gas Limit 和 Gas Price 是什么概念?的更多相关文章
- 以太坊ETH中智能合约消耗的Gas、Gas Limit是什么?
以太坊ETH中智能合约消耗的Gas.Gas Limit是什么? 数字货币交易一般是有交易费的,比特币(BTC)的交易费很容易理解,就是直接支付一定额度的BTC作为手续费.而以太坊(ETH)的交易费表面 ...
- 通过Geth搭建私有以太坊网络
前言 为了进一步了解以太坊区块链网络的工作方式和运行原理,笔者通过官方软件Geth搭建了私有以太坊网络fantasynetwork,最终实现了单机和多机节点间的相互连通:首先通过VMware Work ...
- 科普贴 | 以太坊代币钱包MyEtherWallet使用教程,一步步教你玩转MEW
MyEtherWallet 是一个以太坊的网页钱包,使用非常简单,打开网页就可以使用,源代码开源,不会在服务器上存储用户的钱包信息如私钥和密码.支持 Ledger Wallet.TREZOR 等硬件钱 ...
- 使用Mist部署Contract到Rinkeby以太坊网络
本文使用MyEthWallet新建一个账号,并导入到Mist中,然后部署Contract到Rinkeby网络使用MyEthWallet新建账号的好处是除了JSON文件之外,还能得到一张它生成的pdf( ...
- [中文] 以太坊(Ethereum )白皮书
以太坊(Ethereum ):下一代智能合约和去中心化应用平台 翻译|巨蟹 .少平 译者注|中文读者可以到以太坊爱好者社区(www.ethfans.org)获取最新的以太坊信息. 当中本聪在2009年 ...
- 区块链入门到实战(25)之以太坊(Ethereum) – 以太币单位
以太币的主要单位是以太/Ether,即一个以太币,以太币的最小单位是wei. 以太币最小单位 wei 是以虚拟币先驱人物:戴伟 Wei Dai 命名,戴伟 W Dai 是一位兴趣广泛的密码学专家,他在 ...
- 以太坊开发DApp入门教程——区块链投票系统(一)
概述 对初学者,首先要了解以太坊开发相关的基本概念. 学习以太坊开发的一般前序知识要求,最好对以下技术已经有一些基本了解: 一种面向对象的开发语言,例如:Python,Ruby,Java... 前 ...
- 通俗讲解:PoW共识机制与以太坊的关系、Ghost协议 及 PoS共识机制的变种---Casper
作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...
- 以太坊(ethereum)开发DApp应用的入门区块链技术教程
概述 对初学者,首先要了解以太坊开发相关的基本概念. 学习以太坊开发的一般前序知识要求,最好对以下技术已经有一些基本了解: 一种面向对象的开发语言,例如:Python,Ruby,Java... 前 ...
随机推荐
- 【MYSQL】语法复习
一.数据类型 截图来源: http://www.runoob.com/mysql/mysql-data-types.html 二.基本语句 1.创建数据表 -- 主键自增,T_User CREATE ...
- git bash安装和基本设置
Part1:安装步骤 1.下载地址: https://git-for-windows.github.io/ 2.下载完成后安装,安装路径自己选择,其他的选项参照下图: 其他的一步一步往下即可,最后Fi ...
- HTML5中的Canvas详解
什么是Canvas HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.<canvas> 标签只是图形容器,您必须使用脚本来绘制图 ...
- MySQL安装及初步配置.md
MySQL 安装脚本 #!/bin/bash MYSQL_BASEDIR=/usr/local/mysql MySQL_DATADIR=/data/mysql SERVER_ID=`hostname ...
- 支付宝即时到账接口开发 - DEMO讲解
支付宝即时到帐接口 环境要求 PHP5.0以上,且需要开启curl.openssl. 文档地址: https://doc.open.alipay.com/doc2/detail?treeId=62&a ...
- 构造方法、 This关键字 、static、封装
1.1 构造方法 构造方法是一种特殊的方法,专门用于构造/实例化对象,形式: [修饰符] 类名(){ } 构造方法根据是否有参数分为无参构造和有参构. 1.1.1 无参构造 无参构造方法就是构造方法没 ...
- vue实例的属性和方法
vue实例的属性和方法 1. 属性 vm.$el #指定要绑定的元素 vm.$data #Vue 实例的数据对象 vm.$options #获取自定义属性的值 new Vue({ customOpti ...
- 配置使用;yum安装slatstack的master,minion<at>centos6_x86_64
使用: ####################################### 配置: ####################################### 安装: 服务端安装: [ ...
- Ubuntu16.04 kaldi的简单配置
1.什么是kaldi kaldi是使用c++写的语音识别的工具,apache 授予了v2.0的证书(果真应验,apache旗下无弱将).kaldi旨在供语音识别研究员使用.kaldi在目标和范围上和H ...
- JAVA框架 Spring 约束配置本地资源
一:粘贴约束url:http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.or ...