以太坊gas是什么?gasprice怎么计算?
在Ethereum以太坊中,什么是gas,它是如何使用的,gasprice
和startgas
的区别是什么?
另外gas是如何计算的,它到底是有什么样的价值?
在比特币中,每一笔交易都为网络创造了同样数量的work
。在Ethereumy以太坊中,不同的交易在存储、处理器和内存根据使用情况对网络形成了不同的成本,因此这些交易需要相应地费用
。最好的官方(ish)解释在这里:gas
vsgasprice
就是你的弹药
一个交易花费最大gas是3141592个单位。单位最低价格为50000000000 wei。(0.00000005以太币)。因此,在下面的示例中TX
作为gas的以太币的量可能是这样的:
3141592个单位×50000000000wei/单位=157079600000000000wei(0.1570796以太币)。
示例使用(https://github.com/fivedogit/solidity-baby-steps/blob/master/contracts/58_indexOf.sol):
indexof.indexOf.sendTransaction(“I am cool”, “cool”, {from:eth.coinbase,gas:3141592, gasprice:50000000000});
你可以这么认为:
gas/startgas=gas单位
gasprice=我愿意支付多少gas单位
任何执行交易的gas都被支付给挖矿的矿工。
注:gas和Ether以太币最终是一样的东西。gas也是作为交易的一种支付单位来使用的。未使用gas会自动并立即退还。
原文《以太坊常见问题和错误》中的:
http://cw.hubwiz.com/card/c/ethereum-FAQ/1/1/9/
另外推荐一些之前的教程:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
以太坊中如何获取另外一个智能合约部署的合约地址?
如何获取另外一个智能合约部署的合约地址? 我正试图从另一个工厂合约中签智能合约,然后重新部署新智能合约的地址。然而,它返回的地址是交易哈希值而不是合约地址。我相信这是因为当地址被返回时合约尚未开采。当我使用Web3部署智能合约时,它似乎一直等到智能合约被部署完成后才输出合约地址。 工厂合约如下: contract Factory { mapping(uint256 => Contract) deployedContracts; uint256 numContracts; function Factory(){ numContracts = 0; } function createContract (uint32 name) returns (address){ deployedContracts[numContracts] = new Contract(name); numContracts++; return deployedContracts[numContracts]; }} 下面是调用createContract函数的方法: factory.createContract(...
- 下一篇
安装完zsh之后终端显示mvn命令不存在的问题
现象 安装完zsh之后终端显示mvn等命令不存在,现象是新开一个终端,运行mvn命令会显示命令不存在,如报错: zsh: command not found: mvn 但是,在当前终端,运行 source ~/.bash_profile 之后就可以了,我的机器java和mvn的环境变量配置均在~/.bash_profile文件中。 解决 这个问题的原因是zsh的配置文件没有加载~/.bash_profile的配置项,做法如下: vim ~/.zshrc 在文件末尾添加上之前的source ~/.bash_profile保存即可。以后重新打开终端的时候就不会出现mvn命令找不到的问题了。 参考资料 http://ruby-china.org/topics/23158
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7