> ## Documentation Index
> Fetch the complete documentation index at: https://injectivelabs-docs-ai-sdk.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Your First EVM Smart Contract

> Step-by-step guide to creating a EVM smart contracts on Injective using Hardhat or Foundry development frameworks. Including set up, compilation, testing, deploying, verifying, and interacting with Solidity smart contracts.

Smart contracts are code that runs on a blockchain.
You can compile Solidity smart contracts,
and test, deploy, verify, and interact with them on Injective's Ethereum Virtual Machine (EVM).
You can do so using standard EVM developer tools and frameworks too.
These guides show you how to do so using Hardhat and Foundry.

## Hardhat

This guide will walk you through building an EVM Smart Contract on Injective Testnet using [Hardhat](https://hardhat.org/).

* [Set up Hardhat and compile a smart contract](/developers-evm/smart-contracts/compile-hardhat/)
* [Test a smart contract using Hardhat](/developers-evm/smart-contracts/test-hardhat/)
* [Deploy a smart contract using Hardhat](/developers-evm/smart-contracts/deploy-hardhat/)
* [Verify a smart contract using Hardhat](/developers-evm/smart-contracts/verify-hardhat/)
* [Interact with a smart contract using Hardhat](/developers-evm/smart-contracts/interact-hardhat/)

## Foundry

This guide will walk you through building an EVM Smart Contract on Injective Testnet using [Foundry](https://getfoundry.sh/).

* [Set up Foundry and compile a smart contract](/developers-evm/smart-contracts/compile-foundry/)
* [Test a smart contract using Foundry](/developers-evm/smart-contracts/test-foundry/)
* [Deploy a smart contract using Foundry](/developers-evm/smart-contracts/deploy-foundry/)
* [Verify a smart contract using Foundry](/developers-evm/smart-contracts/verify-foundry/)
* [Interact with a smart contract using Foundry](/developers-evm/smart-contracts/interact-foundry/)

## Next steps

Smart contracts do not provide a user experience for non-technical users.
To cater to them, you will need to build a decentralised application.
To do so, check out the [your first dApp](/developers-evm/dapps/) guides!
