- To learn more about the Solidity programming language, check out the documentation maintained by the Solidity team here.
- To learn more about Vyper, check out the documentation maintained by the Vyper team here.
owner and message state variables, along with functions like set_message (which modifies state details by writing) and get_message(which reads state details).
Things you should consider when creating a contract
Automatic Token Associations
An auto association slot is one or more slots you approve that allow tokens to be sent to your contract without explicit authorization for each token type. If this property is not set, you must associate each token before it is transferred to the contract for the transfer to be successful via theTokenAssociateTransaction in the SDKs. Learn more about auto-token associations here.
This functionality is exclusively accessible when configuring a ContractCreateTransaction API through the Hedera SDKs. If you are deploying a contract on Hedera using EVM tools such as Hardhat and the Hedera JSON RPC Relay, please note that this property cannot be configured, as EVM tools lack compatibility with Hedera’s unique features.
Admin Key
Contracts have the option to have an admin key. This concept is native to Hedera contracts and allows the contract account properties to be updated. Note that this does not impact the contract bytecode and does not relate to upgradability. If the admin key is not set, you will not be able to update the following Hedera native properties (noted in ContractUpdateTransactionBody protobuf) for your contract once it is deployed:autoRenewPeriodmemoFieldmax_automatic_token_associationsauto_renew_account_idstaked_iddecline_reward
Note
Need to deploy a contract with large bytecode? Hedera supports jumbo ethereum transactions (HIP-1086) to handle big payloads directly, no file uploads required for most cases.📣 Learn more about jumbo transactions on the Understanding Hedera’s EVM Differences and Compatibility and on theEthereumTransaction SDK page.Max Contract Storage Size
Each contract on Hedera has a storage size limit of 16,384,000 key value pairs (~500MB).Rent
While rent is not enabled for contracts deployed on Hedera today, you will want to be familiar with the concept of rent, as it may potentially impact the costs of maintaining your contract state on the network. Please refer to the Smart Contract Rent documentation here.Transaction and Gas Fees
There are Hedera transaction fees and EVM fees associated with deploying a contract. To view the list of base fees, check out the fees page here and the fee estimator calculator here.Smart Contract FAQs
What is a smart contract?
What is a smart contract?
A smart contract is a program that is written in a language that can be interpreted by the EVM. Please refer to the glossary for more keywords and definitions.
What programming language does Hedera support for smart contracts?
What programming language does Hedera support for smart contracts?
Hedera supports the official Ethereum Virtual Machine and therefore any smart contract language that conforms to standard EVM code, such as Solidity or Vyper.
Can I write and compile my smart contracts using Remix IDE or other Ethereum ecosystem tools?
Can I write and compile my smart contracts using Remix IDE or other Ethereum ecosystem tools?
You can use Remix IDE or other Ethereum ecosystem tools to write, compile, and deploy your smart contract on Hedera. Check out our EVM-compatible tools here.
Where can I find the smart contracts that are deployed to each Hedera network (previewnet, testnet, mainnet)?
Where can I find the smart contracts that are deployed to each Hedera network (previewnet, testnet, mainnet)?
On your favorite trusted Block Explorer (also called Mirror Node Explorer on Hedera). To view community-hosted explorers check out the network explorer tools page here.
Which ERC token standards are supported on Hedera?
Which ERC token standards are supported on Hedera?
Hedera supports ERC-20 and ERC-721 token standards and can find the full list of supported standards here.