交易的过程一般需要支付一定量的手续费。矿工会优先打包交易手续费高的交易,如果没有支付交易手续费,你的交易可能要等很久才会被打包。创建一笔交易的时候不需要显式的指明支付多少交易手续费,它是根据你的 UTXO 额 - 交易额 - 找零 来计算的。
举例,A 有一个 10 BTC 的 UTXO (未花费的交易输出)的支配权,给 B 账户转 1 BTC,那么在创建交易的时候,需要指明交易额 1 BTC,和找零 8.995,那么(10-8.995-1 = 0.005)就是这笔交易的手续费,会奖励给打包包含这笔交易的区块的矿工,如果没有设置找零那么多余的 9 BTC 都会被当作交易手续费奖励给矿工,虽然你的交易会很快的被打包,但是这可能不是你想要的……另外,比特币没有智能合约的功能。
什么是 gas ,什么是 gas price 以及 data?
在以太坊上,发送代币或调用智能合约,在区块链上执行写入操作,需要支付矿工计算费用,计费是按照 gas 计算的,gas 使用 ETH 来支付。无论你的调用的方法是成功还是失败,都需要支付计算费用。即使失败,矿工也验证并执行你的交易(计算),因此必须和成功交易一样支付矿工费。
一笔转账需要花费矿工费 cost = gas Price × gas Limit,一笔标准的转账需要花费 21000 gas 和 0.00000002 ETH gas price,所以总的矿工费是 0.00042 Ether。通常情况下,如果有人只说 gas,指的就是 gas limit,gas limit 相当于汽车需要加多少汽油,gas price 相当于每升汽油的价格。
gas limit 之所以称为限额,因为它是你愿意在一笔交易中花费 gas 的最大数量。交易所需的 gas 是通过调用智能合约执行多少代码来定义。 如果你不想花太多的 gas,通过降低 gas limit 将不会有太大的帮助。 因为你必须包括足够的 gas 来支付的计算资源,否则由于 gas 不够报错 out of gas。所有未使用的 gas 将在转账结束时退还。
所以使用钱包打款,发送 1 ETH,并设置 gas limit 为 40 万,转账结束后你会收到 400000 - 21000 gas 退还。 但是,如果你发送 1 个 ETH 到智能合约中,智能合约调用失败,整个 40 万 gas 全部使用,不会退还。21000 是标准转账的 gas limit。
通过降低 gas price 可以节省矿工费用,但是也会减慢矿工打包的速度。矿工会优先打包 gas price。设置高的交易,如果你想加快转账,你可以把 gas price 设置得更高,这样你就可以排队靠前。如果不急,你只需要设置一个安全的 gas price,矿工也会打包你的交易查看矿工可以接受的最低 gas price : http://ethgasstation.info/
Data 是可选项,用来调用合约。你需要把对应字符串转换成 16 进制,工具:http://string-functions.com/string-hex.aspx,填入十六进制数据(0x 开头)比如 makoshan 转换成 16 进制是 0x6d616b6f7368616e
gas price 通常是 20 Gwei,填写 gas 200000,多余的会退回。
gas Limit 是由交易(或者是执行合约代码)的计算量来决定的,戳这里可以查看每一种操作所需要消耗的 gas 量,或者看下面这个简表
step 1 Default amount of gas to pay for an execution cycle.stop 0 Nothing paid for the SUICIDE operation.sha3 20 Paid for a SHA3 operation.sload 20 Paid for a SLOAD operation.sstore 100 Paid for a normal SSTORE operation (doubled or waived sometimes).balance 20 Paid for a BALANCE operationcreate 100 Paid for a CREATE operationcall 20 Paid for a CALL operation.memory 1 Paid for every additional word when expanding memorytxdata 5 Paid for every byte of data or code for a transactiontransaction 500 Paid for every transaction
这样可以鼓励更加高效的合约代码,减少不必要的计算,避免系统遭受攻击,毕竟攻击者要为他们消耗的资源付出一定的代价,包括带宽、CPU、存储。
gas Price 是由交易的发起者来设置的,但是矿工可以选择先打包那些 gas 价格高的交易,gas 价格低的可能要等很久或者不会被打包。
例如一笔交易:{ from:web3.eth.accounts[0], data:tokenCompiled.token.code, gas: 1000000 },gas 参数设置这个交易最多能使用多少 gas。交易里面还可以再加一个参数 gasPrice,gasPrice 可以自己设置,具体设置戳这里,Geth 会默认设置一个大多数矿工可以接受的 gasPrice, 0.05e12 wei (当然这个值不是一直不变的,价格的演化可以戳这里),可以调 eth.gasPrice 来查看当前的 gasPrice。
矿工在启动 Geth 的时候可以设置两个参数 --ask 和 --bid,--ask 是设置一个最低的 gas 价格,低于这个价格的交易会被忽略,默认值是 500000000000,--bid 设置 gas 价格竞价,默认值是 500000000000。
所以 gasPrice 还是受整个市场的供求关系,即矿工和交易(合约也是一种交易)发起者的博弈去调控。
gas 和 Ether 有什么关系?
gas 和 Ether 是以太坊中两种不同的计量单位,把它分开的目的是为了避免以太币的价格波动进而影响 gas 价格的变化。
21Shares携手法国兴业银行,强化德国及东欧市场加密ETP流动性
CME集团6月30日推出现货报价期货:比特币、以太坊及标普500等长达5年持有
eToro推出加密资产转账与兑现功能:比特币、以太坊可无缝投资多资产
nxtAssets GmbH携手SIX推出比特币与以太坊ETP:加密资产交易总数达398
Clearstream携手Crypto Finance推出加密资产托管服务,德意志交易所集团引领机构投资者新风潮
西班牙BBVA获批推出比特币和以太坊交易服务,零售客户可通过手机银行直接管理加密资产
Bybit遭遇重大黑客攻击,15亿美元数字货币被盗
Bybit遭遇安全漏洞,1.4亿美元以太坊代币被盗,市场反应激烈
Bybit交易所遭黑客攻击,14亿美元ETH被盗,资金安全隐患引发行业关注
以太坊 ETF 在美国上市首日交易量达 10 亿美元,占比特币交易量的 23%
现货以太 ETF 将于今日在 SEC 最终批准后开始交易
休市提醒:五一勞動節港股下周三休市,美股照常交易
大行評級|花旗:予舜宇光學“買入”評級 第一大股東與瑞銀簽訂領口期權交易
商湯集團回應港交所暫停交易:日日新大模型5.0 發布受市場極大關注 將刊發相關公告
暴漲超30%后,商湯集團回應港交所暫停交易:日日新大模型5.0發布受市場極大關注,將刊發相關公告
汽車街通過港交所聆訊 全國最大的二手車交易服務提供商
海南海藥隱瞞7.48億關聯交易遭證監會處罰 原實控人被罰270萬
利歐股份董事涉短線交易遭證監會立案:與公司經營無直接關聯
持續優化互聯互通 滬深港通交易信披機制調整
海譜潤斯與京東方前高管神秘的“交易”,產能利用率偏低仍擴產?



