iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 8
0
Blockchain

區塊鏈開發(Blockchain/DLT Application Development)系列 第 8

以太坊(Ethereum):交易與區塊

Blocks & Transactions

以太坊中的兩個重要物件,交易(Transations)與區塊(Block),確認的交易形成了區塊。

  • Transactions
    • Message
      • from
      • To
      • Value:以太幣
      • binary data:合約的 bytecode,其他資料,預設最大值 89kb
  • Blocks
    • 資料庫(Blockchain)的狀態
      • 帳戶餘額:數位貨幣
      • 智能合約中的狀態變數
    • 交易的對象
      • 個人帳號(External Account)
      • 合約帳號Contract Account
    • 公鑰私鑰
      • 私鑰:創立帳號時輸入的密碼
      • 公鑰:Account address

交易執行

交易執行會經過幾個階段(Phase),交易提供並通過共識機制驗後,資料寫入區塊。

  1. Contract:合約部署
  2. Execution:合約執行
  3. State Transition:狀態改變
  4. Commit:提交共識

交易(TX) & 訊息(MSG)

一個交易可能跨越多個合約,而交易攜帶的訊息就在合約間傳遞,此時可以藉著一些物件屬性追蹤交易來源。

  • 交易(TX)
    • tx.origin:交易的發送者
      指向最初發動的交易,外部帳戶(Account)或內部交易(Internal Transaction)
  • 訊息(MSG)
    • msg.sender:訊息的發送者
      指向上一個訊息傳遞者,外部帳戶(Account)或內部合約(Internal Contract)

Transactions & Calls

智能合約的函式,以其資料操作方式,分成了兩類:

  • Transactions
    • 動作:異動資料 - 帳戶餘額、合約變數
    • 類別:一般函式
  • Calls
    • 動作:查詢資料
    • 類別:常數函式(Constant Function)

上一篇
以太坊(Ethereum):環境建置 - Geth
下一篇
以太坊(Ethereum):Solidity
系列文
區塊鏈開發(Blockchain/DLT Application Development)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言