Transactions and messages
A transaction in Ethereum is a digitally signed (using a private key) data packet that contains the instructions that, when completed, either result in a message call or contract creation. Transactions are constructed by an actor external to the Ethereum blockchain or some external software tool. Smart contracts cannot send a transaction.
Initially, in Ethereum, there were simple transactions, message call transactions, and contract creation transactions. Later, as the system evolved, a need was felt to introduce more types and also to make it easier to introduce new features and future transaction types and be able to distinguish different types of transactions. New features such as access lists and EIP-1559 have been introduced while remaining compatible with legacy transactions. Further innovation resulted in the introduction of typed transactions, which were introduced in EIP-2718. They define a new transaction type, which is an envelope for future...