I have few questions on this:
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
I understand that contract is basically a set of instructions. So can a transaction create a contract if there is no code provided? Is it even possible to have a txn with neither any code nor the target account?
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”).
What does 'number of transactions' mean here? When we are creating a new contract, its basically a single txn. isn't? Moreover I understand 'nonce' in context of mining, what does it mean here?
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.
How does it actually work? Or is it that as developer I just use 'deploy' facility and internally system does this magic, like creating 'code that returns that code when executed'?