Documentation
Docs28. Building on Kortana (Solidity)

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.