$ETC Learn a bit of code every day 01✔

1. Contract Writing: The browser-based online editor Remix is used for writing in Solidity language, allowing for contract development, compilation, deployment, testing, and other operations.

2. Contract Compilation: After compilation, the contract generates bytecode and abi. Bytecode is the executable file for EVM, while abi is the Application Binary Interface that exposes the interface specifications for applications to call smart contracts.

3. Contract Deployment: Contract deployment is done by sending it to the EVM via a transaction, where the transaction's To is empty, and the Data is the contract's initialization bytecode. Upon receiving the bytecode, the EVM will execute the contract's constructor method. Contract deployment requires payment of gas fees, and upon successful deployment, the contract's address will be returned.

4. Contract Invocation: Contract invocation is initiated by the application layer, typically by the frontend. The frontend initiates a transaction after the user wallet signs it, with the transaction's To being the contract address and Data being the bytecode for the function call (function and parameters). If modifying requires a gas-paying state, then gas will be consumed.