A blockchain transaction is a unit of data that is recorded on a blockchain. It can be used to transfer ownership of tokens or to update the state of a smart contract.
The terms “transaction” and “transfer” are often used interchangeably, but they are technically different.
Transfers are part of a transaction.
For example this transaction Transaction 0xb8c656ff428d37fa02f48577191a9703937673dffe1f7ff631d6f38fb75d069c | Ethereum Mainnet has multiple transfers in it.
A transfer is a specific type of action that involves the movement of digital assets from one address to another.
So 1 transaction can have 0 or more than 1 transfers.
Transfers can be internal or external. Internal transfers are the value transfers that happen “within” a certain transaction, as a result of possibly many smart contract interactions.
The following Ethereum transaction has multiple internal transfers
For internal transfers the field
- External= false
The transfer of 1.01 ETH from
0xdf1f6587aa741ff62cabb9bed8dad062713cf3ec is internal.
Internal transfers are those that are executed within the context of a contract, and they do not require any external calls. This means that they do not need to pay for gas to interact with other contracts or the blockchain, so the gas limit is set to 0.