wave-portal/scripts/run.js
2022-04-06 11:44:17 -04:00

46 lines
1.4 KiB
JavaScript

const main = async () => {
const [owner, randomPerson] = await hre.ethers.getSigners();
const waveContractFactory = await hre.ethers.getContractFactory("WavePortal");
const waveContract = await waveContractFactory.deploy({
value: hre.ethers.utils.parseEther("0.1"),
});
await waveContract.deployed();
console.log(`Contract deployed to: ${waveContract.address}`);
console.log(`Contract deployed by: ${owner.address}`);
let contractBalance = await hre.ethers.provider.getBalance(waveContract.address);
console.log(`Contract balance: ${hre.ethers.utils.formatEther(contractBalance)}`);
let waveCount;
waveCount = await waveContract.getTotalWaves();
let waveTxn = await waveContract.wave("A message");
await waveTxn.wait();
waveTxn = await waveContract.wave("Hi!");
await waveTxn.wait();
waveCount = await waveContract.getTotalWaves();
waveTxn = await waveContract.connect(randomPerson).wave("another one");
await waveTxn.wait();
contractBalance = await hre.ethers.provider.getBalance(waveContract.address);
console.log(`Contract balance: ${hre.ethers.utils.formatEther(contractBalance)}`);
let allWaves = await waveContract.getAllWaves();
console.log(allWaves);
waveCount = await waveContract.getTotalWaves();
};
const runMain = async () => {
try {
await main();
process.exit(0);
} catch (error) {
console.log(error);
process.exit(1);
}
};
runMain();