Ethereum以太坊 – Gas Price vs Gas Limit 小知識 基本知識
當我們想利用(以太坊)Ethereum區塊鏈做交易(包括:轉帳,Smart Contract智能合約互動時),我們就需要支付費用給區塊鏈網絡上的Miner礦工幫助確認交易紀錄。
這就像我們生活之中(你需要轉錢給你在日本的朋友,你需要支付手續費給銀行幫你做轉帳。)
在區塊鏈上,每一個礦工都利用Ethereum Virtual Machine(以太虛擬機)執行相同的程式碼和維護區塊鏈網絡。
(以太坊)Ethereum低層EVM(Ethereum Virtual Machine 以太虛擬機)是用Wei來作單位,而不是用Ether!
1 Ether = 1,000,000,000,000,000,000 Wei 就是 1^18
1 Gwei = 1,000,000,000 Wei
附上 Ether <> Wei 轉換表 –
https://www.myetherwallet.com/helpers.html當我們利用(以太坊)Ethereum區塊鏈幫我們做簡單轉帳(轉帳這一個交易動作會叫所有Miner礦工在EVM執行一系列程式碼)
每一行程式碼在EVM(Ethereum Virtual Machine 虛擬機器)執行運算都會有Cost費用。Cost是利用Gas單位去計算。
例如:
ADD 這一個運算(將二個數值加上),EVM要求3 Gas費用
轉帳是要求21,000 GAS費用 或 以上
附上Ethereum Yellow PaperExcel表說明了每一個運算需要多少Gas.
Gas Costs from Yellow Paper — EIP-150 Revision (1e18248 – 2017-04-12)
大家常常利用
https://myetherwallet.com應該也會留意到 Gas Limit & Gas Price
Gas Limit – 就是說你願意最多給多少Gas去完成這一個交易(包括:執行智能合約Execute Smart Contract,轉帳)。
Gas Price – 就是你願意支付多少Ether給(以太坊)Ethereum區塊鏈Miner礦工幫你執行這一筆交易。
怎樣估計每一個交易所有Gas費用呢?
Transaction Fees交易費用 = 實際用到Gas Limit * Gas Price
Etherscan - Tx Example
Etherscan – Tx Example
從上圖例子看到 ,這一個交易使用90,000 Gas Limit & 20Gwei Gas Price,而整個交易手續費只需要 0.00042 Ether 。但是90,000 Gas Limit 只用了 21,000 Gas,餘下的Gas就會退回。
下列有可能發生情況
如果你那個交易不需要那麼多Gas,Ethereum是會將餘下的Gas退回給你)
例子: 如上圖
相反,如果你給了Gas 是不足夠去完成這一個交易
那整個交易費用全也會用掉的,而且如果你是跟Smart Contract智能合約互動(你在區塊鏈上更改的數值也會變回原來!)
實用小提示Tips
去
https://ethgasstation.info 看到現在Ethereum區塊鏈網絡狀態,參考Gas Price SafeLow (Gwei)。
最便宜做法
Gas Limit – 用myetherwallet自動幫你調節(例如: 參與ICO的話200,000 Gas Limit經己好足夠) / 專家可人手調
Gas Price – 參考
https://ethgasstation.info Gas Price SafeLow (Gwei)
那就保証你的交易將會被Ethereum區塊鏈確認。Gas Price調高會令你交易更快被區塊鏈確認,因為你願意支付更多給礦工。
*Gas Limit 不是愈大就愈好 ,Gas Limit 是有上限的 。以太坊Ethereum Miner礦工有一個機制能夠改變Block Limit 加大/減少 。