Transactions
正常交易VS。etherscan 中的內部事務
-->> accounts >> contract accounts >> selecting one contract
,No Of Transactions下提到了兩種類型的交易:
正常交易和內部交易。
它們之間有什麼區別,為什麼正常交易通常比內部交易少得多?
內部交易,儘管名稱(不是黃皮書的一部分;這是人們已經確定的約定)不是實際交易,也不直接包含在區塊鏈中;它們是通過執行契約啟動的價值轉移。
也檢查這些答案
在乙太坊協議中,只有交易和消息呼叫。事務是一種消息呼叫。
一個事務可能執行其他消息呼叫,但這些不是事務(即使區塊鏈瀏覽器可能不准確地將它們標記為“內部事務”)。這些(內部)消息呼叫未在區塊鏈上發布。
為了嘗試說明,Javascript 中的事務如下所示:
{ from: ..., to: "C1", value: ..., gas: ..., data: ..., gasPrice: ..., nonce: ... }
這就是你將在區塊鏈上看到的:“正常交易”。“內部交易”是
data
參與、提供to
合約 C1 並執行乙太坊虛擬機的效果。這data
就是告訴 C1 它應該呼叫另一個合約 C2:{from:C1, to:C2,...}
區塊鏈上不需要單獨的對象。合約相互呼叫,以及收款,是“正常交易通常比內部交易少得多”的原因。例如,TheDAO 代幣最初是通過呼叫 TheDAO 上的一個函式並用它發送 ETH 來購買的。