In Ethereum, a contract creation transaction is a special type of transaction that creates a new smart contract on the blockchain. When a contract creation transaction is executed, it includes the bytecode of the smart contract that is to be created. This bytecode is then executed by the Ethereum Virtual Machine (EVM) to create a new smart contract.
Contract creation transactions are identified by having an empty to field in the transaction data. This distinguishes them from normal transactions, which have a recipient address specified in the to field.
Once the smart contract has been created, it is assigned a unique address on the blockchain. This address is derived from the address of the account that created the contract and a nonce value. The nonce is a counter that is incremented each time a contract creation transaction is executed by that account. This ensures that each smart contract created by an account has a unique address.
Once the smart contract has been created, it can be called by other transactions on the blockchain. These transactions can execute functions defined in the smart contract's code, which can modify the contract's state or interact with other contracts on the blockchain.