The Z Institute provides two month interactive Ethereum developer training course, bringing engineers from web 2.0 to web 3.0. The excellent homeworks of the students are all open sourced. Feel free to share this with interested developers or join our Discord to give us feedback!
- Z23034005 (Vera)
- https://insights.glassnode.com/defi-attacks-flash-loans-centralized-price-oracles/
- https://consensys.github.io/smart-contract-best-practices/
- https://chain.link/education/blockchain-oracles
Choose five (or more) development tools mentioned in the class and try them out according to the Readme.
Implement mainnet fork with hardhat, run ethereum local mainnet fork with ganache and connect to Metamask.
- Z23034005 (Vera)
- Group 3 (Vera, YI JUN LIN, CHIH HSIEN CHEN)
Complete all these lesson and summarize what you learn
The first version of the smart contract for the graduation project.
- Z23034005 (Vera)
- Group 2 (Dan Hsu, Mavis)
- Write a token contract that allows the purchase of a token using USDT, checks the current USDT balance of the contract, and allows withdrawals. Submit the completed code along with screenshots of successfully purchasing a token, checking the balance, and making a withdrawal on Remix.
- Write an NFT contract that requires the payment of ERC20 tokens and 0.1 ETH to mint. It should also allow for updating the token URI and limit minting to 5 per address. Submit the completed code and include screenshots.
The second version of the smart contract for the graduation project.
- Z23034002 (LI CHIH HUNG)
- Z23034005 (Vera)
- Group 3 (Vera, YI JUN LIN, CHIH HSIEN CHEN)
- Follow these two tutorials step-by-step, provide relevant screenshots, and then explain the working principle of VRF and the differences between the two methods.
- https://docs.chain.link/vrf/v2/subscription/examples/get-a-random-number#request-random-values
- https://docs.chain.link/vrf/v2/direct-funding/examples/get-a-random-number
- Try running this project and provide relevant screenshots of successful execution, then explain the working principle of cross-chain bridges : https://github.com/z-institute/bsc-eth-bridge
Collaborate to complete all Ethernaut challenges : https://ethernaut.openzeppelin.com
- Z23034005 (Vera)
- Z23034006 (YI JUN LIN)
- Group 3 (Vera, YI JUN LIN, CHIH HSIEN CHEN)
- https://rekt.news/leaderboard/
- https://www.youtube.com/watch?v=mCJUhnXQ76s
- https://www.smartcontractresearch.org/t/research-summary-attacking-the-defi-ecosystem-with-flash-loans-for-fun-and-profit/260
- https://chain.link/education-hub/flash-loans
- https://medium.com/coinmonks/get-everything-for-nothing-how-to-use-flash-loans-to-launch-an-arbitrage-d8520827cbfe
Follow the example in this video, push the project to Github, document the detailed steps with screenshots, and describe the working principle and implementation experience (including any difficulties encountered and how they were solved) : https://www.youtube.com/watch?v=Aw7yvGFtOvI&feature=youtu.be
Complete the User Flow Chart for the graduation project using tools such as https://whimsical.com/ or others.
- Z23034005 (Vera)
- Z23034006 (YI JUN LIN)
- Group 3 (Vera, YI JUN LIN, CHIH HSIEN CHEN)
- Based on the Quiz2 contract (https://github.com/z-institute/Quiz/blob/main/contracts/Quiz_02.sol), attempt to write a test for the Quiz2 contract using the Hardhat framework. Then, run npx hardhat coverage and increase the test coverage to 100%.
- Run this Hardhat front-end project (https://github.com/NomicFoundation/hardhat-boilerplate) and observe its project structure. In your own words, describe 'How the front-end interacts with the smart contract?
Complete the first version of the smart contract for the graduation project!! Also, write some basic smart contract function tests.
- Z23034005 (Vera)
- Z23034006 (YI JUN LIN)
- Group 3 (Vera, YI JUN LIN, CHIH HSIEN CHEN)
- Follow this document and write down the steps, providing screenshots upon completion : https://hackmd.io/@zinstitute/frontend-lib
- Use Manifold studio to do something (such as uploading an NFT image and creating an NFT mint site), write down the steps, provide screenshots upon completion, and share the website link.
Continue to work on the smart contract for the graduation project and start designing the front-end interface!! Also, write some basic smart contract function tests.
- Z23034005 (Vera)
- Z23034006 (YI JUN LIN)
- Group 3 (Vera, YI JUN LIN, CHIH HSIEN CHEN)
- Please clone your own brach and operate on it, the following commands are for your reference.
git clone https://github.com/z-institute/Solidity-EVM-Dev-Batch-2-HW.git --branch <ID>
- Please add the folder like main branch and push your homework to your own folder.
- Upload code
cd <dir>
git add .
git commit -m "<commit message>"
git push