Transactions

正常交易VS。etherscan 中的內部事務

  • March 16, 2022

etherscan 上

-->> accounts >> contract accounts >> selecting one contract,

No Of Transactions下提到了兩種類型的交易:

正常交易內部交易

它們之間有什麼區別,為什麼正常交易通常比內部交易少得多?

內部交易,儘管名稱(不是黃皮書的一部分;這是人們已經確定的約定)不是實際交易,也不直接包含在區塊鏈中;它們是通過執行契約啟動的價值轉移。

也檢查這些答案

  1. TheDAO 內部交易
  2. 如何獲取合約內部交易

在乙太坊協議中,只有交易和消息呼叫。事務是一種消息呼叫。

一個事務可能執行其他消息呼叫,但這些不是事務(即使區塊鏈瀏覽器可能不准確地將它們標記為“內部事務”)。這些(內部)消息呼叫未在區塊鏈上發布。

為了嘗試說明,Javascript 中的事務如下所示:

{
 from: ...,
 to: "C1",
 value: ...,
 gas: ...,
 data: ...,
 gasPrice: ...,
 nonce: ...
}

這就是你將在區塊鏈上看到的:“正常交易”。“內部交易”是data參與、提供to合約 C1 並執行乙太坊虛擬機的效果。這data就是告訴 C1 它應該呼叫另一個合約 C2:{from:C1, to:C2,...}區塊鏈上不需要單獨的對象。


合約相互呼叫,以及收款,是“正常交易通常比內部交易少得多”的原因。例如,TheDAO 代幣最初是通過呼叫 TheDAO 上的一個函式並用它發送 ETH 來購買的。

引用自:https://ethereum.stackexchange.com/questions/6429