MetaMask is a popular Ethereum wallet and browser extension that developers can integrate into a variety of third-party applications. MetaMask Snaps is an open-source solution to enhance MetaMask's functionalities beyond its native capabilities. The Hedera Wallet Snap, developed by Tuum Tech and managed by Swirlds Labs, enables users to interact directly with the Hedera network without relying on Hedera JSON-RPC Relay, offering Hedera native functionalities like sending HBAR to different accounts and retrieving account information.
What is a Snap?
MetaMask Snaps is an open-source framework allowing secure extensions to MetaMask, thus enhancing web3 user experiences. It empowers the addition of new API methods, supports various blockchain protocols, and tweaks existing functionalities via the Snaps JSON-RPC API
Snaps enable users to interact with new blockchains, protocols, and decentralized applications (dApps) beyond what is natively supported by MetaMask. The goal of the MetaMask Snaps system is to create a more open, customizable, and extensible wallet experience for users while fostering innovation and collaboration within the blockchain and decentralized application ecosystem.
FAQs
What are the limitations for connecting MetaMask to the RPC vs the Snap?
The Hedera JSON RPC Relay supports only the methods defined at Hedera JSON RPC Relay Methods, which are limited to Hedera Smart Contract Services. In contrast, the Hedera Wallet Snap uses the Hedera SDK to interact natively with the ledger, allowing the future support of a wider range of Hedera services like Hedera Token Service, Hedera Consensus Service, and Hedera File Service, beyond just smart contracts.
How can I deploy a smart contract on Hedera using MetaMask?
To deploy a smart contract on Hedera using MetaMask, you will need to use the Hedera JSON RPC relay. You can deploy using tools compatible with EVM-based chains. For detailed steps, refer to Deploying Smart Contracts on Hedera.
Can a signer created via ED25519 account be used for Ethereum-based transactions?
No, you cannot use a signer created via ED25519 for Ethereum-based transactions due to the difference in cryptographic algorithms and key formats. EVM uses ECDSA with the secp256k1 curve, which is different from ED25519. For interacting directly with smart contracts on Hedera, only ECDSA-based accounts can be used.
How can I delegate the signing process to MetaMask or WalletConnect when using Hedera SDK?
Currently, there is no direct way to delegate the signing process to MetaMask or WalletConnect for transactions composed by the Hedera SDK, as they do not provide private keys of users.
Can I use JSON RPC relay for transactions against Hedera native services?
The Hedera JSON RPC relay exposes specific methods, as detailed in Hedera JSON RPC Relay Methods. You can use these methods for transactions with Hedera’s smart contracts. The Hedera Wallet Snap, using the Hedera SDK, can perform all Hedera transactions and will eventually support interactions with smart contracts as well.
Why should I use the Snap instead of adding the Hashio RPC info to MetaMask?
While Hashio RPC and other RPCs are limited to methods exposed by the Hedera JSON RPC relay, the Hedera Wallet Snap, using the Hedera SDK natively, offers access to all Hedera native features, including Hedera Token Service, Hedera File Service, and Hedera Consensus Service, enabling a broader range of interactions beyond smart contracts.
Is the Snap more suited for custom Hedera functionalities like HCS and HFS, which can’t be done solely with MetaMask?
Yes, that’s correct. The Hedera Wallet Snap is ideal for custom Hedera functionalities. It uses the Hedera SDK for all operations, allowing for native interactions with the full spectrum of Hedera’s offerings.