I narrowed the breadth of pursuits this week, unintentionally but I really wanted to try and get through Patrick Collin's course as soon as possible. It's tricky to balance the drive to get through it all with the necessity of absorbing the content. I'm 3 weeks into the Web3 Self Study chapter of this journey and I think this might be a safe place to call the halfway point. That's not to say I think I'll know everything there is to be a web3 developer in the next 3 weeks; rather, I believe that after 2 or 3 weeks I'll have a strong enough foundation to move into the next chapter of this journey, Buidl.
Aside from the list below, I also spent a lot of time on YouTube trying to better understand smart contract security and analysis, I'm not going to share those here because I started down rabbit holes with these and completely lost track of which ones I actually watched all the way through. I also signed up for the Polygon Build It and Web3athon. I've got a team started for Build It with 2 members from my last hackathon project.
Time Update: 19 weeks since this journey started, with 867 hours spent coding, boot camp activities, and networking.
<usual_enterance> If you're new here I'm creating this blog series as I go from coding newbie to working in web3. I'm creating this to reflect on the technical and non-technical growth and to leave it behind for others who might be interested in how they can follow a similar path. </usual_enterance>
In this week's recap:
- WAGMI Squad
- Articles
- FCC Solidity & JavaScript Course
- Alchemy's Road to Web3
- What's Next?
WAGMI Squad
The minimum viable community is set up now and we’re building from there to get roles, permissions, and various settings made up to make it easy for the group to operate without manually managing the discord server. The wireframe is built for V1 of the website and fine-tuning of the design choices has started. We are talking through colors and logo decisions which are actually somewhat important considering they will be used for the NFTs as well. Aside from this, most of us have just been focused on learning materials.
Articles
This week I focused on recommended technical papers for Ethereum, Uniswap, and Compound.
- Taking a lot of previously read information to a higher level and explaining in a much more technical fashion
Beigepaper: An Ethereum Technical Specification
- It’s the above paper minus the math, much easier to grasp and better to read this one before the one above.
- Referred to me as required reading
- Detailing v1 of the protocol
- The new feature of note here seems to be the inclusion of flash swaps
- The big update with this version is the focus on improving automated market makers.
- Setting up an Ethereum Development Environment
- A quick start for dev stuff
- Supplying Assets to the Compound Protocol
- Technical guide on how supplying assets works
- Borrowing Assets from the Compound Protocol
- Technical guide on how borrowing assets works
- Create a Compound Smart Contract API With Infura
- API building for invoking Compound
- Building a Governance Interface
- What the governance looks like and building custom functionality
- Delegation and Voting with EIP-712 Signatures
- Further reviewing how to interact with governance
- A Walkthrough of Contributing to the Compound Protocol
- Reviews how to change the source code and propose formal changes
FCC Solidity & Javascript Course
This was the central focus of coding time this week, pushing out Learn Web3 DAO.
Lesson 9: Hardhat Smart Contract Lottery
- Chainlink VRF & Keepers
- Mocks, Events, Testing
For lesson 9, we built a smart contract lottery system.
Lesson 10: NextJS Smart Contract Lottery (Full Stack / Front End)
- NextJS, Moralis, React, Web3uikit, IPFS
- React Hooks, Local Storage, State
For lesson 10, we built the front-end for the lottery system.
Lesson 11: Hardhat Starter Kit
- Hardhat
This lesson was really about just setting up a Hardhat boilerplate for future projects.
Lesson 12: Hardhat ERC20s
- Hardhat, Openzeppelin
Created an ERC20 token manually and then with the help of Openzeppelin.
Lesson 13: Hardhat DeFi & Aave
- Hardhat, Aave, Mainnet Forking, Wrapped ETH
No contracts were built with this less, instead, we built scripts for getting WETH and borrowing with Aave.
Lesson 14: Hardhat NFTs
- Hardhat, Pinata, Openzeppelin, Chainlink VRF
- Testing, Deployment, Encoding
NFTs were built with three different processes: a basic token, randomized with VRF and IPFS, and then a dynamic SVG on-chain NFT.
--
My repos for all lesson projects can be found here.
Alchemy's Road to Web3
Now that I'm caught up, I only had one project to do for Road to Web3 which helped to keep the focus on the Solidity & JavaScript Course.
Week 7 walked through building an NFT marketplace with Hardhat, IPFS, and Alchemy.
What's Next?
I should be able to wrap up the Solidity and JavaScript course by mid-week, along with Week 8 for Road to Web3. Provided I complete both of these, that would leave the remainder of the week to devote to the Sophomore Track with Learn Web3 DAO. I do have some additional time commitments that will consume my weekend this week so it's highly unlikely I will be able to finish it.
Non-coding time will continue to be dedicated to reading articles, this week the reading will mostly be focused on skimming documentation. Ideally, WAGMI Squad can get settle on the design decisions and start building the website. It'll be another simple week I think as far as how many different directions my attention will be pulled, which will definitely help with getting through the last ~9 hours of the Solidity & JavaScript course.
You can find me here: