While reading the transactions sections of EVM documentation many questions raised in my head:
If the target account is not set (the transaction does not have a recipient or the recipient is set to null), the transaction creates a new contract (The payload should be the code of the contract, correct ? ). As already mentioned, the address of that contract is not the zero address but an address derived from the sender and its number of transactions sent (the “nonce”) (But Doesn't the nonce represent a number that combined with block data provides the hash of the next block ? ) . The payload of such a contract creation transaction is taken to be EVM bytecode and executed (Do they mean the compiled bytecode of the contract ? and what do they mean by "and executed" ? ) . The output data of this execution is permanently stored as the code of the contract. This means that in order to create a contract, you do not send the actual code of the contract, but in fact code that returns that code when executed (Which code returns what ? We have contract code and the compiled contract I missed this one entirely ) .
Sorry for embedding the question the quote but I think this is for better understanding what I really when asking the questions.