Skip to content

Instantly share code, notes, and snippets.

@Shih-Yu
Created January 7, 2022 18:08
Show Gist options
  • Save Shih-Yu/0366e984c489aff1529c320d698c14bf to your computer and use it in GitHub Desktop.
Save Shih-Yu/0366e984c489aff1529c320d698c14bf to your computer and use it in GitHub Desktop.
import { useState } from "react";
import './App.css';
import Web3 from "web3";
import NumberChanger from "../src/artifacts/contracts/NumberChanger.sol/NumberChanger.json";
const contractAddress = " 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512";
function App() {
const web3 = new Web3("http://localhost:8545");
let contract = new web3.eth.Contract(NumberChanger.abi, contractAddress);
async function getNumber() {
try {
const getStateNumber = await contract.methods.getNumber().call();
setNewNumber(getStateNumber);
} catch (error) {
console.log("Error:", error);
}
}
async function changeNumber() {
// Assign array of accounts into getAccount variable
let getAccount = await web3.eth.getAccounts();
// Calling setNumber function and using first account to send transaction
await contract.methods.setNumber(number).send({ from: getAccount[0] });
// Resets input and h3 to blank
setNewNumber("");
}
return (
<div className="App">
<header className="App-header">
<h1>Welcome to Number Changer</h1>
<h3>Your new number:</h3>
<input />
<button>Get Number</button>
<button>Set Number</button>
</header>
</div>
);
}
export default App;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment