The final step of the Base Bootcamp is to design and build a project. The high-level requirements are
- Include at least 1 of the following 3 choices: ERC-20 Token, ERC-721 Token, ERC-1155 Token Import and Use 1 to 3: Audited third-party smart contracts by OpenZeppelin, Thirdweb, or other similar, such as OpenZeppelin’s EnumerableSet, or Ownable
- Utilize 1 of the following 3 choices: The
payablekeyword, Contract-to-contract interactions, Thenewkeyword/contract factory
This is a Next.js project bootstrapped with create-next-app.
This project uses next/font to automatically optimize and load Inter, a custom Google Font.
- First, run the development server:
npm run dev- Open http://localhost:3000 with your browser.
This codebase uses Foundry, a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
Foundry consists of:
- Forge: Ethereum testing framework (like Truffle, Hardhat and DappTools).
- Cast: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
- Anvil: Local Ethereum node, akin to Ganache, Hardhat Network.
- Chisel: Fast, utilitarian, and verbose solidity REPL.
- Start local Ethereum node
anvil- Deploy Leasy contract to local Ethereum node
forge create src/Leasy.sol:Leasy --private-key <private_key_from_anvil_output> --constructor-args <erc-721-token-name> <erc-721-token-symbol>$ forge build$ forge test$ forge fmt$ forge snapshot$ anvil$ forge script script/<contract_name>.s.sol:<contract_script_name> --rpc-url <your_rpc_url> --private-key <your_private_key>$ cast <subcommand>$ forge --help
$ anvil --help
$ cast --help