Leveraging Ethereum Developer Tools On Hedera | Hedera Hedera Network Services Token Service Mint and configure tokens and accounts. Consensus Service Verifiable timestamps and ordering of events. Smart Contracts Run Solidity smart contracts. HBAR The Hedera network's native cryptocurrency. Insights How It Works Learn about Hedera from end to end. Explorers View live and historical data on Hedera. Dashboards Analyze network activity and metrics. Network Nodes Understand networks and node types. Devs Start Building Get Started Learn core concepts and build the future. Documentation Review the API and build using your favorite language. Developer Resources Integrations Plugins and microservices for Hedera. Fee Estimator Understand and estimate transaction costs. Open Source Hedera is committed to open, transparent code. Learning Center Learn about web3 and blockchain technologies. Grants Grants & accelerators for your project. Bounties Find bugs. Submit a report. Earn rewards. Ecosystem ECOSYSTEM Hedera Ecosystem Applications, developer tools, network explorers, and more. NFT Ecosystem Metrics Analyze on-chain and market NFT ecosystem metrics. CATEGORIES Web3 Applications Connect into the innovative startups decentralizing the web on Hedera. Enterprise Applications Learn about the Fortune 500 companies decentralizing the web on Hedera. Wallets & Custodians Create a Hedera account to manage HBAR, fungible tokens, and NFTs. Network Explorers Hedera mainnet and testnet graphical network explorers. Developer Tooling Third-party APIs, integrations, and plugins to build apps on Hedera. Grants & Accelerators Boost your project with support from the Hedera ecosystem. Partner Program Explore our partners to bring your vision into reality. Hedera Council Over 30 highly diversified organizations govern Hedera. Use Cases Hedera Solutions Asset Tokenization Studio Open source toolkit for tokenizing assets securely. Stablecoin Studio All-in-one toolkit for stablecoin solutions. Hedera Guardian Auditable carbon markets and traceability. Functional Use Cases Data Integrity & AI Reliable, secure, and ethically governed insights. Sustainability Enabling fair carbon markets with trust. Real-World Asset Tokenization Seamless tokenization of real-world assets and digital at scale. Consumer Engagement & Loyalty Mint, distribute, and redeem loyalty rewards. Decentralized Identity Maintain the lifecycle of credentials. Decentralized Logs Scalable, real-time timestamped events. DeFi Dapps built for the next-generation of finance. NFTs Low, fixed fees. Immutable royalties. Payments Scalable, real-time, and affordable crypto-payments. HBAR Overview Learn about Hedera's token, HBAR. Treasury Management Hedera’s report of the HBAR supply. Governance Decentralized Governance Hedera Council See the world's leading organizations that own Hedera. About Meet Hedera's Board of Directors and team. Journey Watch Hedera's journey to build an empowered digital future for all. Transparent Governance Public Policy Hedera's mission is to inform policy and regulation that impact the industry. Meeting Minutes Immutably recorded on Hedera. Roadmap Follow Hedera's roadmap in its journey to build the future. Resources Company What's New Partners Papers Careers Media Blog Technical Press Podcast Community Events Meetups Store Brand Navigation QUICKSTART Leveraging Ethereum Developer Tools On Hedera technical Aug 25, 2022 by Abi Castro Learning how to properly use new sets of developer tools requires time and effort. Many seasoned engineers already have their ol’ reliable set of frameworks and libraries they frequently use. With the release of the Hedera JSON-RPC relay, Ethereum developer tools combined with ECDSA-based Hedera accounts are available for developers only. You can continue to utilize familiar Ethereum tooling to build on Hedera. This blog speaks to the support of 4 Ethereum tools and the enablement of Metamask. Supported Ethereum Developer Tools The most common EVM-based tools and workflows across Web3 ecosystems are built on the JSON-RPC specification. You can continue to utilize the following familiar Ethereum tooling, Web3JS, Truffle, Ethers, and Hardhat, to build on Hedera thanks to the JSON-RPC Relay. As an Ethereum developer, your workflow does not have to change. web3js Truffle ethers Hardhat Transfer HBARS ✅ ✅ ✅ ✅ Contract Deployment ✅ ✅ ✅ ✅ Can use the contract instance after deploy without re-initialization ✅ ✅ ⚠️ ⚠️ Contract View Function Call ✅ ✅ ✅ ✅ Contract Function Call ✅ ✅ ✅ ✅ You can transfer HBAR, deploy contracts, and perform contract calls bringing even greater usability to the developer community. Check out the Web3js, Truffle, and Hardhat examples on the repo. It is important to note that when working with Ethersjs and Hardhat there is an extra step to retrieve the valid Hedera contract address. Learn more about it here. Getting Started Before you get started it is important to create a new ECDSA-based account with an alias. Currently, the JSON-RPC Relay only supports Hedera accounts with an alias set (i.e public address) based on its ECDSA public key. You can easily do this by following the steps below: // generate an ECDSA key-pair const newPrivateKey = PrivateKey.generateECDSA(); console.log(`The raw private key (use this for JSON RPC wallet import): ${newPrivateKey.toStringRaw()}`); const newPublicKey = newPrivateKey.publicKey; // account publickey alias const aliasAccountId = newPublicKey.toAccountId(0, 0); console.log(`The alias account id: ${aliasAccountId}`); Copy const operatorAccountId = AccountId.fromString(process.env.OPERATOR_ID); const operatorPrivateKey = PrivateKey.fromString(process.env.OPERATOR_PVKEY); // Hbar transfers will auto-create a Hedera Account // for long-form account Ids that do not have accounts yet const tokenTransferTxn = async (senderAccountId, receiverAccountId, hbarAmount) => { const transferToAliasTx = new TransferTransaction() .addHbarTransfer(senderAccountId, new Hbar(-hbarAmount)) .addHbarTransfer(receiverAccountId, new Hbar(hbarAmount)) .freezeWith(client); const signedTx = await transferToAliasTx.sign(operatorPrivateKey); const txResponse = await signedTx.execute(client); await txResponse.getReceipt(client); } Copy Create a function to help log your account info. const logAccountInfo = async (accountId) => { const info = await new AccountInfoQuery() .setAccountId(accountId) .execute(client); console.log(`The normal account ID: ${info.accountId}`); console.log(`Account Balance: ${info.balance}`); } Copy const main = async () => { await tokenTransferTxn(operatorAccountId, aliasAccountId, 100); await logAccountInfo(aliasAccountId); } main(); Copy Console output The raw private key (use this for JSON RPC wallet import): 81cd442a945d2c9f04ed5bf355a59db9e9f7553b9d4c319938eb9176085cb4c8 The alias account id: 0.0.302d300706052b8104000a03220002d47f1da5a3e086c568776d5be31165c65a135bb48951b4ccbf4284b025225ff4 The normal account ID: 0.0.47995491 Account Balance: 99.31142415 ℏ Copy The account is officially registered with Hedera when hbars are initially deposited to the account alias. The transaction fee to create the account is deducted from the initial hbar transfer. The remaining balance minus the transaction fee to create the account is the initial balance of the new account.If interested in learning more about auto account creation read the following documentation and HIP-32. IMPORTANT NOTE: Private keys for Testnet are displayed here for educational purposes only. Never share your private key(s) with others, as that may result in lost funds or loss of control over your account. Import Hedera Account into Metamask Step 1: Go to HashIO, the SwirldsLabs hosted version of the JSON-RPC Relay, and copy the Testnet URL. HashIO provides the URLs for each Hedera environment that will let you interact with the respective environment nodes on Hedera the same way you would an Ethereum node. Step 2: Open Metamask and add Hedera as a custom network. Network Name Hedera New RPC URL https://testnet.hashio.io/api Chain ID 296 Currency Symbol HBAR Config Default Description CHAIN_ID 0x12a The network chain id. Local and previewnet envs should use 0x12a (298). Previewnet, Testnet and Mainnet should use 0x129 (297), 0x128 (296) and 0x127 (295) respectively Step 3: Import your Hedera account into Metamask Import your newly created ECDSA-based Hedera account into Metamask using your private key from above. Use your private key to import your Hedera account into Metamask Your Hedera Account in Metamask You’ve successfully connected your Hedera account to Metamask! You may now receive and send hbar on testnet through Metamask! The release of the JSON-RPC Relay to developers is bringing greater usability to the developer community by enabling the support of common Ethereum developer tooling while building on Hedera. Happy Building! Share This Back to blog What is gRPC, gRPC-Web, and Proxies? Ed Marquez Pragmatic Blockchain Design Patterns – Integrating Blockchain into Business Processes Michiel Mulders Zero Cost EthereumTransaction on Success: Hedera's New Fee Model for Relay Operators Oliver Thorn Hedera Adopts Chainlink Standard for Cross-Chain Interoperability To Accelerate Ecosystem Adoption Hedera Team Hedera Developer Highlights March 2025 Michiel Mulders Hedera Release Cycle Overview Ed Marquez View All Posts Sign up for the newsletter CONNECT WITH US Transparency Open Source Audits & Standards Sustainability Commitment Carbon Offsets Governance Hedera Council Public Policy Treasury Management Meeting Minutes LLC Agreement Node Requirements Community Events Meetups HBAR Telegram Developer Discord Twitter Community Support FAQ Network Status Developer Discord StackOverflow Brand Brand Guidelines Built on Hedera Logo Hedera Store About Team Partners Journey Roadmap Careers Contact General Inquiry Public Relations © 2018-2025 Hedera Hashgraph, LLC. All trademarks and company names are the property of their respective owners. All rights in the Deutsche Telekom mark are protected by Deutsche Telekom AG. All rights reserved. Hedera uses the third party marks with permission. Terms of Use  |  Privacy Policy