Deploying smart contracts
You need to deploy your smart contract in order for it to be available to users of an Ethereum network.
To deploy a smart contract, you merely send an Ethereum transaction containing the code of the compiled smart contract without specifying any recipients.
Deploying a contract also costs ETH, so you should be familiar with gas and fees on Ethereum.
Finally, you'll need to compile your contract before deploying it, so make sure you've read about compiling smart contracts.
This means you'll need to pay a transaction fee so make sure you have some ETH.
- your contract's bytecode – this is generated through compilation.
- Ether for gas – you'll set your gas limit like other transactions so be aware that contract deployment needs a lot more gas than a simple ETH transfer.
- a deployment script or plugin.
- access to an Ethereum node, either by running your own, connecting to a public node, or via an API key using a service like Infura or Alchemy
Once deployed, your contract will have an Ethereum address like other accounts.
Remix - Remix IDE allows developing, deploying and administering smart contracts for Ethereum like blockchains.
Tenderly - A platform to easily monitor your smart contracts with error tracking, alerting, performance metrics, and detailed contract analytics.
- Deploying your first smart contract – An introduction to deploying your first smart contract on an Ethereum test network.
- Interact with other contracts from Solidity – How to deploy a smart contract from an existing contract and interact with it.
- How to downsize your contract size - How to reduce your contract's size to keep it under the limit and save on gas
Know of a community resource that helped you? Edit this page and add it!
Help us with this page
If you're an expert on the topic and want to contribute, edit this page and sprinkle it with your wisdom.
You'll be credited and you'll be helping the Ethereum community!
Use this flexible documentation template
Questions? Ask us in the #content channel on our Discord serverEdit page