Terminology

Terminology

  • Web3: In general means blockchain tech with some purpose
  • Ethereum: The blockchain we will we be developing with
  • Provider: From Ethers docs:

"A Provider abstracts a connection to the Ethereum blockchain, for issuing queries and sending state changing transactions."

  • Contract: This is code written in Solidity that has been compiled and deployed onto a network. It has an address that is no different than a wallet address.
  • Wallet: The blockchain, its a private + public key combo (really you just need a private key).
  • BTW: The ability to tell someone that you know something that they likely don't, or you use some obscure technology
    • Let me give you an example:
      • I use vim, BTW.
      • I type with dvorak, BTW.
      • I write CLI programs with Rustlang, BTW















Technology

  • ethers: import { ethers } from "ethers";. This is lib that abstracts the complication of communication.
  • hardhat: Its backbone of any project these days. It provides compiling, testing, and deployment support.
    • When you get a getContractFactory("HelloWorld") it actually just loads the file from the json build file.
  • metamask: Its a browser plugin for wallets. "The Defacto Standard"

You will notice that in the code on the web I don't reference hardhat. That is because hardhat is a support lib.
















Whiteboard time

Boxes and arrows how ethereum development effectively works
















Questions?

  • Yes we will make another contract right after this.
  • I am not going to be able to answer everything.