Use Infura when you need to interact with the Ethereum blockchain in real-time. Infura allows you to send transactions, deploy contracts, and interact with smart contracts. It is essential for decentralized applications (dApps) and any use case where you need to write to the blockchain.
const ethers = require('ethers');
// Replace with your Infura Project ID
const infuraProvider = new ethers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');
// Replace with your wallet's private key
const privateKey = 'YOUR_PRIVATE_KEY';
// Create a wallet instance and connect it to Infura
const wallet = new ethers.Wallet(privateKey, infuraProvider);
// Replace with the recipient's Ethereum address
const recipientAddress = '0xRecipientEthereumAddress';
// Amount to send (in Ether)
const amountInEther = '0.01';
async function sendTransaction() {
try {
const tx = {
to: recipientAddress,
value: ethers.utils.parseEther(amountInEther),
gasLimit: 21000, // Gas limit for a basic transaction
gasPrice: await infuraProvider.getGasPrice() // Get current gas price from Infura
};
// Send the transaction
const transaction = await wallet.sendTransaction(tx);
console.log('Transaction Hash:', transaction.hash);
// Wait for the transaction to be mined
const receipt = await transaction.wait();
console.log('Transaction Confirmed:', receipt);
} catch (error) {
console.error('Error sending transaction:', error);
}
}
sendTransaction();