# Hedera Smart Contract Evm

> Deploy and interact with Solidity on Hedera Smart Contract Service using Hardhat, Hashio JSON-RPC relay, ethers.js v6, contract verification on Sourcify-compatible flows, gas comparisons, HIP-1086 jumbo transaction awareness for large bytecode. Use when user mentions Hardhat Hedera, Hashio, deploy contract testnet, ethers Hedera, Solidity Hedera, JSON-RPC relay, contract verify Sourcify, gas estimation Hedera vs Ethereum.

- Skill: `evaluris-solutions/hedera-smart-contract-evm` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add evaluris-solutions/hedera-smart-contract-evm`
- Raw SKILL.md: https://api.skillmd.com/api/skills/evaluris-solutions/hedera-smart-contract-evm/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: Evaluris-Solutions (https://skillmd.com/u/evaluris-solutions)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/evaluris-solutions/hedera-smart-contract-evm

---


## Overview

Hedera exposes an **EVM-compatible execution layer** reachable via the **JSON-RPC Relay** (public Hashio endpoints per environment). Developers reuse standard Ethereum tooling ([Hardhat](https://hardhat.org/), [ethers.js](https://docs.ethers.org/)) with caveats documented under [Understanding Hedera's EVM Differences](https://docs.hedera.com/hedera/core-concepts/smart-contracts/understanding-hederas-evm-differences-and-compatibility.md).

## When to use this skill

- Wiring **MetaMask / Hardware wallets** using ECDSA accounts mapped to Hedera aliases.
- Estimating **gas** differences vs Ethereum baseline deployments.

## Prerequisites

- **EVM private key** funded with HBAR on target network (converted to ECDSA account — follow portal docs).
- Node.js + repo `npm install` for Hardhat toolchain.

## Workflow

1. **Configure relay endpoint** — set `JSON_RPC_URL` (testnet defaults in [references/hardhat-config.md](references/hardhat-config.md)).

2. **Compile** — from repo root:

   ```bash
   npx hardhat compile --config plugins/hedera-skills/skills/hedera-smart-contract-evm/hardhat.config.cjs
   ```

3. **Deploy** — run `scripts/deploy.cjs` per header comment in file.

4. **Interact** — use ethers `Contract` facade against deployed address.

5. **Verify** — follow [Verifying Smart Contracts](https://docs.hedera.com/hedera/core-concepts/smart-contracts/verifying-smart-contracts-beta.md) — typically Sourcify-style flows via Hashscan integrations (verify UI specifics periodically).

6. **Large bytecode** — review HIP-1086 **Jumbo Transaction** guidance for deploying contracts whose bytecode exceeds legacy limits ([references/hip-1086-jumbo-tx.md](references/hip-1086-jumbo-tx.md)).

## Examples

**Example 1**

> “Deploy an ERC-20 clone to Hedera testnet.”

Reuse OpenZeppelin contracts; confirm decimals expectations (HTS vs ERC-20 bridging nuances).

**Example 2**

> “Gas seems higher than Ethereum L2.”

Compare fixed relay conversion & intrinsic Hedera fees — profile with `eth_estimateGas`.

**Example 3**

> “Deployment fails size limit.”

Evaluate HIP-1086 patterns or split contracts via libraries.

## Troubleshooting

| Symptom | Tip |
| --- | --- |
| Wrong chain id | Align `chainId` with docs for chosen network |
| `INSUFFICIENT_GAS` | Increase gas limit / payer balance |

## References

- Local: [references/hardhat-config.md](references/hardhat-config.md), [references/gas-comparison.md](references/gas-comparison.md), [references/hip-1086-jumbo-tx.md](references/hip-1086-jumbo-tx.md)
- Docs: [Deploy with Hardhat](https://docs.hedera.com/hedera/getting-started-evm-developers/deploy-a-smart-contract-with-hardhat.md), [JSON-RPC Relay](https://docs.hedera.com/hedera/core-concepts/smart-contracts/json-rpc-relay.md)

