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
payable
keyword, Contract-to-contract interactions, Thenew
keyword/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