[區塊鏈&DAPP介紹 Day18] 智能合約中什麼是 Gas
花了幾天介紹 solidity 的基礎語法,接下來要開始嘗試寫一個智能合約看看,但是智能合約部署之前一定要先了解什麼是 Gas
到底什麼是 Gas ,在區塊鏈中很重要的概念,任何操作中都是使用者付費了,包含你轉帳給任何人,或買賣任何以太幣都是需要支付 Gas 的。
那我們接下來聊聊 Gas 是如何決定的,要先介紹兩個名詞 Gas Price & Gas Limit
Gas Price
Gas Priec 就是使用者願意出的 Gas 單價,以 Gwei 為單位,礦工的邏輯會依據你出的 Gas Price 來排序,價錢越高的會越優先執行。
Gas Limit
就是一個保護機制,你可以設定一個交易 or 部署合約,最多花費多少,避免使用者寫出了一個有 bug 的合約,導致無窮盡的消耗資源在區塊鏈中,只要使用到資料就會一直付費,所以 Gas Limit 就是一個保護機制。
但是也不能因為這樣刻意把 Gas Limit 調整得很低,因為這樣可能導致你的合約執行到一半,就踩到 Gas Limit 的限制,導致合約執行到一半就失敗。 有一點要注意,已經消耗掉的 Gas 是不會退還的。
Gas 手續費計算(Tx Fee)
最大手續費:
Gas Limit * Gas Price
實際手續費:
Gas Used * Gas Price
這邊有一個很特別的數字,就是每個指令最低的消耗 Gas 是 21000 Gas
這邊了解後,明天開始我們就要開始在一開始有跟大家介紹到的工具 Granch,開始實戰一些智能合約看看。