Internal Transaction Definition
An internal transaction, in the context of cryptocurrency and blockchain technology, is a term mainly used within the Ethereum ecosystem that refers to an inner operation happening within a smart contract. These transactions are not true transactions in a classic sense as they are not reflected or recorded as a separate transaction in the Ethereum blockchain, but they trigger changes on the state of the blockchain by transferring value, calling other smart contracts, or executing operations within the contract.
Internal Transaction Key Points
- Internal Transactions are not directly initiated by an Externally Owned Account (EOA) but by a smart contract’s function.
- These are the result of the execution of smart contracts within the Ethereum ecosystem.
- Internal transactions don’t go inside blocks, they are part of the Ethereum Virtual Machine (EVM) computations.
- They get recorded as changes made on the state of the blockchain.
- They can transfer Ether, call other contracts, or create other contracts.
What is an Internal Transaction?
An internal transaction can be seen like a behind-the-scenes operation that is not a standard transaction. It is executed as a result of a function in a smart contract. Despite their name, they are not actual transactions but more like function calls. These operations don’t have a transaction hash assigned to them and are not listed in the transaction list on the Ethereum blockchain. Instead, they are recorded on the ledger as a change in state of the blockchain, given that their execution may result in a transfer of value or the modification of data.
Who is involved in an Internal Transaction?
Running internal transactions effectively involves the Ethereum Virtual Machine (EVM), smart contracts, and an initiating transaction from an external actor. While the external user (usually an Externally Owned Account or EOA) triggers the original transaction, the EVM and the smart contract code handle the execution of internal transactions.
When do Internal Transactions occur?
Internal transactions take place whenever a function within a smart contract is executed, resembling subroutines in traditional computing. This event mainly occurs during the execution of the original transaction which calls the smart contract. The code of the contract may then trigger one or multiple internal transactions.
Where are Internal Transactions recorded?
Internal transactions are not directly visible or listed in the transaction list on the Ethereum blockchain. Instead, their results get recorded as changes made on the state of the blockchain. You may need to use specialized blockchain explorers to trace internal transactions in a more explicit manner.
Why are Internal Transactions important?
Internal transactions play a crucial role in the Ethereum ecosystem, enabling smart contracts to interact with each other and with externally-owned accounts, leading to the complexity and functionality we see in decentralized applications today.
How are Internal Transactions executed?
The execution of an internal transaction starts when an externally-owned account (EOA) initiates a transaction that calls a function in a smart contract. During the execution of this function within the smart contract, an internal transaction might be triggered which could include the transfer of value (Ether), call other contracts or even result in the creation of a new smart contract.