28. Building on Kortana (Solidity)
Because Kortana’s KEVM engine is byte-for-byte compatible with Ethereum's Cancun revision, your existing Ethereum development stack works out of the box.
28.1 Using MetaMask
To deploy or interact with contracts using MetaMask, add the Kortana RPC to your wallet. You can use standard window.ethereum.request calls. No custom wallet plugins are required.
28.2 Using Hardhat
In your hardhat.config.js, add the Kortana networks:
module.exports = { solidity: "0.8.24", networks: { kortana_testnet: { url: "https://poseidon-rpc.testnet.kortana.xyz/", chainId: 72511, accounts: [process.env.PRIVATE_KEY] } } };
28.3 Using Foundry
To compile and deploy using forge:
forge create src/MyToken.sol:MyToken --rpc-url https://poseidon-rpc.testnet.kortana.xyz/ --private-key $PRIVATE_KEY
28.4 Using ethers.js / viem
You can instantiate a provider pointing directly to Kortana:
// ethers.js v6 const provider = new ethers.JsonRpcProvider("https://poseidon-rpc.testnet.kortana.xyz/");
28.5 & 28.6 Deploying ERC-20 / ERC-721
Standard OpenZeppelin implementations of ERC-20 and ERC-721 compile and deploy flawlessly. Because Kortana uses EIP-1559, fee calculations and gas estimations are identical to Ethereum.
28.7 Contract Verification
Contract source code can be verified on the Kortana Block Explorer. Since the explorer backend uses an Ethereum-compatible indexer, you can use standard Hardhat/Foundry verification plugins by pointing the API URL to the Kortana Explorer's backend.