How to Interact with Smart Contracts
This guide provides examples of how to interact with the Noderr Protocol's smart contracts using JavaScript and Ethers.js.
Setup
import { ethers } from'ethers';
const provider = new ethers.providers.JsonRpcProvider('https://sepolia.base.org');
const vaultAbi = [...]; // Vault ABIconst vaultAddress = '0x...'; // Vault addressconst vaultContract = new ethers.Contract(vaultAddress, vaultAbi, provider);
Reading Data
asyncfunctiongetVaultBalance() {
const balance = await vaultContract.balanceOf(userAddress);
console.log('Vault Balance:', ethers.utils.formatUnits(balance, 18));
}
Sending Transactions
asyncfunctiondepositToVault(amount) {
const signer = provider.getSigner();
const vaultWithSigner = vaultContract.connect(signer);
const tx = await vaultWithSigner.deposit(ethers.utils.parseUnits(amount, 18));
await tx.wait();
console.log('Deposit successful!');
}