如何估算太坊交易的gas消耗量
在以太坊中,使用estimateGas()
方法来估算一个交易要消耗的gas消耗量。我们区分普通转账交易和合约方法交易进行说明。
普通转账交易
对于普通转账交易而言,使用web3.eth.estimateGas()方法进行估计。例如:
var from = web3.eth.accounts[1]
var to = web3.eth.accounts[2]
var quantity = web3.eth.estimateGas({from:from,to:to,value:50000000000000})
console.log('大约要消耗gas:',quantity)
var amount = quantity * web3.eth.gasPrice
console.log('转出方的账户余额大约要减少:',amount,'(wei)')
复制代码
合约方法交易
对于合约方法交易而言,使用合约对象上该方法的estimateGas()
调用进行估计。例如,对于下面的合约:
pragma solidity ^0.4.8;
contract EzTest {uint public num;function setNum(uint newNum) {num = newNum;}
}
复制代码
可以在js中估算setNum()
方法的gas消耗量。例如,下面的代码对setNum(4)
调用要消耗的gas量进行估算:
//inst 是EzTest合约的实例对象
inst.setNum.estimateGas(4, {from: web3.eth.accounts[1]})
复制代码
在线教程
如果你正在尝试学习以太坊DApp开发,可以尝试一下汇智网的在线互动教程:
- 以太坊DApp实战入门教程
- 以太坊去中心化电商应用开发实战
如何估算太坊交易的gas消耗量相关推荐
- 以太坊中的账户、交易、Gas和区块Gas Limit等基本概念
本篇文章作为科普文章,汇总整理了以太坊中的账户.交易.Gas和区块Gas Limit等相关概念,以便大家在实践中更好的与具体业务相结合. 什么是账户 以太坊账户与我们所知的账户概念有一定相似之处,却又 ...
- 观点:以太坊交易费市场泡沫预警,交易费日渐成为用户难以承受之重
在经历了一次大熊市之后,以太坊已经再次流行起来.受包括 ETH 价格反弹以及所谓"去中心化金融"(DeFi)的采用等因素的综合影响,以太坊区块链的活跃用户和日交易量都出现了强力增长 ...
- 区块链 以太坊 交易结构、执行、存储 解析 交易中为什么没有包含发送者地址这条数据
一. 交易的结构 1. Transaction结构 交易结构定义在 core/types/transaction.go 中: type Transaction struct {//交易数据data t ...
- 以太坊交易Nonce设置
1 什么是nonce? 以太坊中的nonce有两个意义: 1.工作量证明:为了证明工作量的无意义的值,这是采矿的本质,这个值将决定采矿的难度, 2.账户的随机数:在一个账户中的防止多重交易的用途.例如 ...
- 以太坊交易信息及event、input、logs、topics等概念机制
文章目录 一.交易信息获取 1.1 合约事件例子定义 1.2 以太坊交易获取 二.input解析 2.1 input内容解析 2.2 input处理逻辑 三.logs解析 3.1 logs解析代码 四 ...
- 以太坊交易中的nonce和confirmation
1. 以太坊交易中的nonce及其价值 1.1 以太坊交易中的nonce值 在以太坊中,每笔交易都有一个nonce值,该nonce值代表的是从该交易发起地址发出的交易数.(当存在使用同一地址从多个客户 ...
- java如何监听以太坊交易
2019独角兽企业重金招聘Python工程师标准>>> 你可以在web3j库的帮助下使用java轻松监听以太坊交易,但此库无法监听Erc20 Token交易. 要监听Erc20Tok ...
- Infura Http 客户端 以太坊 交易
web3j Infura 模块提供了一个Infura Http 客户端(InfuraHttpService),它为Infura特定的Infura-Ethereum-Preferred-Client提供 ...
- 以太坊地址和公钥_以太坊交易签名解析源码解读
上篇文章<以太坊交易签名过程源码解析[1]>从源码角度分析了一个合约调用的的签名过程,签名后的交易发送到以太坊节点后,节点需要从签名交易中还原出公钥(从公钥中单向计算出账号地址),进而将交 ...
最新文章
- 新内容转入github
- java ssl证书生成_java – 使用jdk中提供的keytool生成SSL证书
- HTTP 调试工具httpdebug 使用示例
- STM32F103单片机系统时钟部分归纳
- Java finally
- C++自定义高斯滤波器
- Linux内核态抢占机制分析
- python的UML类图自动生成工具--pyreverse安装和使用
- JSJQuery必备技能
- android编译make错误——javalib.jar invalid header field”、classes-full-debug.jar 错误 41 ...
- 电气器件系列三十三:步进电机驱动器
- mac系统下配置java 和maven环境变量
- 睡眠是锁定计算机怎么设置密码,电脑休眠锁屏怎么设置
- 原始数据哪里找?这些网站要用好!200个国内外数据网站大全
- 有电脑病毒就会有杀毒软件!李开复和MIT彭特兰这样看AI挑战
- 英雄联盟手游有EDG那么牛吗?——基于评论的文本分析证据
- 中国石油大学《机械电气安全技术(含课程设计)》
- 详细讲解分类模型评价指标(混淆矩阵)python示例
- 教师资格证是计算机考试地点,教师资格证考试必须有计算机模块证吗?
- Ubuntu系统_安装NVIDIA显卡驱动与CUDA Toolkit