## [[ZKP/ZKP Testnet/Developer Resources/Smart Contract Example - Hello World on ZKP|Deploy EVM-compatible smart contracts ]]on our substrate-based blockchain: **Prerequisites:** - MetaMask or compatible wallet connected to [[ZKP/ZKP Testnet/Getting Started/Network|ZKP testnet]] - [[ZKP/ZKP Testnet/Getting Started/Claim Test Coins|Testnet coins]] from our faucet - Solidity knowledge for smart contract development ## Deployment Methods: **Option 1: Using Remix IDE** 1. Open [Remix IDE](https://remix.ethereum.org/) 2. Connect to "Injected Web3" provider 3. Ensure your wallet is connected to ZKP testnet 4. Compile your Solidity contract 5. Deploy using the "Deploy & Run Transactions" tab 6. Gas fees will be paid in (testnet) ZKP coins **Option 2: Using Hardhat** javascript // hardhat.config.js module.exports = { networks: { zkpTestnet: { url: "https://rpc.testnet.zkp.com", chainId: [500000], accounts: ["YOUR_PRIVATE_KEY"] } } }; **Option 3: Using Truffle** javascript // truffle-config.js module.exports = { networks: { zkpTestnet: { host: "[https://rpc.testnet.zkp.com](http://rpc.testnet.zkp.com)", port: 443, network_id: [500000], gas: 5000000, gasPrice: 20000000000 } } }; **Important Notes:** - Our substrate blockchain includes an EVM pallet for Ethereum compatibility - Gas calculations may differ slightly from standard Ethereum - [[ZKP/ZKP Base Layer/ZKP Blockchain/Technical Build Application Layer/Privacy-Preserving Computations with ZK Wrappers/Architecture and Workflow of ZK Wrappers|ZK Wrapper]] integration will soon be available for privacy-preserving contracts - Test your contracts thoroughly before mainnet deployment See also: [[ZKP/ZKP Testnet/Bug Bounty Programme|Bug Bounty Programme]]