Chapter 9

Deployment

Deployment is the moment your Solidity code becomes a live contract on chain. Before that, it is just source code and compiled bytecode on your machine. After that, users and apps can call a permanent address.

The important shift is that deployment itself is a transaction. You pay gas, wait for inclusion, and receive a contract address in the receipt. From then on, the chain treats that address as a program with stored state.

Testnets are useful here because the workflow is almost identical to mainnet, but mistakes are cheaper. You can confirm constructor inputs, deployment cost, and whether the contract behaves as expected before real funds are involved.

Verification matters because an unverified address is hard to trust. Verified code lets users read functions, inspect state, and compare what the project claims to ship with what the chain is actually running.