cara menghubungkan frontend dengan soliditas
//for reading data
async function YOUR_FUNCTION() {
if (typeof window.ethereum !== "undefined") {
const provider = new ethers.providers.Web3Provider(window.ethereum)
const contract = new ethers.Contract(CONTRACT_ADDRESS, CONTRACT.abi, provider)
try {
const data = await contract.CONTRACT_FUNCTION()
console.log(data)
} catch (e) {
console.log(e)
}
}
//writing data
async function requestAccount() {
await window.ethereum.request({ method: "eth_requestAccounts" })
}
async function YOUR_FUNCTION() {
if (typeof window.ethereum !== 'undefined') {
await requestAccount()
const provider = new ethers.providers.Web3Provider(window.ethereum)
const signer = provider.getSigner()
const contract = new ethers.Contract(YOUR_CONTRACT_ADDRESS, CONTRACT.abi, signer)
const transaction = await contract.YOUR_CONTRACT('PARAMETER')
await transaction.wait()
}
}
//connect wallet
async function connectWallet() {
const provider = new ethers.providers.Web3Provider(window.ethereum)
await provider.send("eth_requestAccounts", []);
const signer = provider.getSigner()
}
Joel Mathew