Skip to content

Instantly share code, notes, and snippets.

@adilanchian
Last active November 2, 2023 06:07
Show Gist options
  • Save adilanchian/9f745fdfa9186047e7a779c02f4bffb7 to your computer and use it in GitHub Desktop.
Save adilanchian/9f745fdfa9186047e7a779c02f4bffb7 to your computer and use it in GitHub Desktop.
Section 2: Write and deploy your WavePortal smart contract to a local Ethereum network
const main = async () => {
const [deployer] = await hre.ethers.getSigners();
const accountBalance = await deployer.getBalance();
console.log('Deploying contracts with account: ', deployer.address);
console.log('Account balance: ', accountBalance.toString());
const Token = await hre.ethers.getContractFactory('WavePortal');
const portal = await Token.deploy();
console.log('WavePortal address: ', portal.address);
};
const runMain = async () => {
try {
await main();
process.exit(0);
} catch (error) {
console.error(error);
process.exit(1);
}
};
runMain();
const main = async () => {
const [owner, randoPerson] = await hre.ethers.getSigners();
const waveContractFactory = await hre.ethers.getContractFactory('WavePortal');
const waveContract = await waveContractFactory.deploy();
await waveContract.deployed();
console.log('Contract deployed to:', waveContract.address);
console.log('Contract deployed by:', owner.address);
let waveCount;
waveCount = await waveContract.getTotalWaves();
let waveTxn = await waveContract.wave();
await waveTxn.wait();
waveCount = await waveContract.getTotalWaves();
waveTxn = await waveContract.connect(randoPerson).wave();
await waveTxn.wait();
waveCount = await waveContract.getTotalWaves();
};
const runMain = async () => {
try {
await main();
process.exit(0);
} catch (error) {
console.log(error);
process.exit(1);
}
};
runMain();
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract WavePortal {
uint256 totalWaves;
constructor() {
console.log("Yo yo, I am a contract am I am smart");
}
function wave() public {
totalWaves += 1;
console.log("%s has waved!", msg.sender);
}
function getTotalWaves() public view returns (uint256) {
console.log("We have %d total waves!", totalWaves);
return totalWaves;
}
}
@MohsinNaseer50
Copy link

Thanks

@iafhurtado
Copy link

Muchas gracias!

@iliacodes
Copy link

Thanks Farza!

@swk777
Copy link

swk777 commented Mar 10, 2023

thx

@anescaper
Copy link

i love u 😘

@YYBer
Copy link

YYBer commented Apr 26, 2023

Thankssss! Easy to unterstand and follow:)

@ShamimMiah
Copy link

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment