什麼是交易(Transaction)
在昨天的區塊鏈名詞解釋中,我們粗略地提到了「交易」,那麼今天,就來好好聊聊交易裡有什麼資訊吧!
交易的定義
交易(Transaction)指的是由一個帳號(Account)發起的一種「改變狀態」的行為。
比如說,Alice 轉帳一顆 Ether 給 Bob。這筆交易就會把 Alice 的帳戶扣掉一顆 Ether,且幫 Bob 的帳戶加上一顆 Ether。
交易的欄位
一個合法的交易會包含以下幾個欄位:
- 接收者(recipient)
- 接收的位址(Address),如果接收的位址是一個 EOA ,則這筆交易將會轉移 Value(請參考 Value 欄位);若接收的位址是個合約,則這筆交易將會使用
data
欄位作為輸入資料,來執行合約裡的程式碼。
- 簽名(signature)
- 發送者的識別碼。這個簽名是由發送者的私鑰(Private Key)所簽署,用來確保這筆交易是通過發送者的授權。
- nonce(不確定中文翻譯,根據國家教育研究院應使用「臨時用法」這個專有名詞)
- 一個有序且遞增的計數器,用來記錄該帳戶(Account)的交易數量。
- 以太的數量(value)
- 從發送者轉移至接收者的 ETH 數量。
- 單位為 WEI,為 Ethereum 的最小面值單位。
- 資料(data)
- 燃料單位上限(gasLimit)
- 能被此交易消耗的燃料單位上限。
- 實際付出的手續費為(每單位燃料的費用上限)*(燃料單位上限)
- 燃料的概念我們之後的章節會提到。
- 每單位燃料的優先價格上限(maxPriorityFeePerGas)
- 給礦工或驗證者的小費。
- 小費數量的上限。
- 想要讓自己的交易更優先被處理,這邊可以多塞點錢。
- 每單位燃料的價格上限(maxFeePerGas)
- 允許此交易的最大燃料價格上限,包含基礎燃料單位費用(baseFeePerGas)與優先燃料單位費用(maxPriorityFeePerGas)
結語
今天就先解釋到這邊,明天再讓我們來聊聊燃料(Gas)的概念。