mirror of
https://github.com/rjNemo/wave-portal
synced 2026-06-06 00:56:39 +00:00
46 lines
1.4 KiB
JavaScript
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();
|