Week 17 Recap, Web3 Self Study

Week 17 Recap, Web3 Self Study

By Mike Bivens | Journey to Web3 | 5 Jun 2022


This was the first week following the completion of my bootcamp with the Coding Dojo, and just as I thought I did not relax at all. Instead, I doubled down and spent even more time than I have in previous weeks on learning materials and projects. Of course, now it was solely spent on Web3-related opportunities. Honestly, I think about playing video games or watching more anime and then I realize I just want to be learning more, coding more, or talking with others about web3 stuff. Does that make it an obsession or a commitment? Regardless at 760+ hours in 17 weeks, this continues to be a grind that I find nothing but satisfaction and pure joy from.

(Somebody hire me so I can do this and get paid for it.)

This new post-bootcamp chapter of the journey is being dubbed "Web3 Self Study", I think the name is particularly well-fitting regarding the intensity of the focus on learning blockend development. I had considered calling it the "job search" but ultimately there's too much focus on building and learning for that to be the case despite the number of applications I'm submitting.

This week I mostly focused on the Solidity & JavaScript Course by Patrick Collins, Alchemy's Road to Web3, and Learn Web3 DAO materials while spending my reading time on the "Mastering Ethereum" book and fitting in internship applications between sections of content for everything.

<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:

  • Squad
  • Matering Ethereum
  • FCC Solidity & JavaScript Course
  • Alchemy's Road to Web3
  • Learn Web3 DAO
  • Job Search Prep
  • Projects
  • Mirror
  • What's Next?

Squad

The squad is coming together under the current temporary name of “WAGMI Squad”, a name I thought was fitting for a group of beginner web3 devs. I used the Solidity & JavaScript course discussions page on the GitHub repo to find these early joiners and I’m pumped about who they are and why they’re driven to succeed in this space. We’re working on finishing up the course while conceptualizing the DAO and website, and then we’re going to be jumping straight into building projects.

There’s still some openings left on the squad if you’re interested, just shoot me a message somewhere!


Mastering Ethereum

Articles this week were actually replaced with “Mastering Ethereum”. This book was referred to me as a must read from an extensive list of other resources. I didn't tweet about the chapters as I did with daily articles because I was more focused on talking about what I was building (see following sections).

Here’s what I’ve read from it so far:

Preface: 'Preface'

  • Could have skipped this but at least I know the authors backgrounds

Chapter 1: 'What Is Ethereum'

  • Consisted of Ethereum’s origins and defining what it is in computer science terms
  • Review of Turing Completeness and dApps, 

Chapter 2: ‘Ethereum Basics’

  • Expanded on the basics of Ethereum
  • Overview of wallets and how to use them
  • Running smart contracts

Chapter 3: ‘Ethereum Clients

  • Overviews of clients and node options with Ethereum
  • How to install and run different clients

Chapter 4: ‘Cryptography’

  • Public/private keys and addresses
  • Relevant cryptographic principles, with focus on elliptic-curve
  • Ethereum addresses

Chapter 5: ‘Wallets

  • Deterministic vs Nondeterministic wallets
  • Cryptographic methods used by these wallets

Chapter 6: ‘Transactions

  • Structural components of transactions and a deep dive into each

Chapter 7 ’Smart Contracts and Solidity

  • Smart contract lifecycles and languages, Ethereum Contract ABI
  • Comprehensive expansion on programming with Solidity
  • Building a faucet contract

Chapter 8: ‘Smart Contracts and Vyper

  • Differences between dev with Solidity and Vyper

FCC Solidity & Javascript Course

In my noob opinion, this course has to be the single greatest resource that exists in web3 learning.

Lesson 3: Remix Storage Factory

  • Deploying contracts from other contracts via the “new” keyword.
  • Importing contacts in other contracts is done via the “import” keyword followed by “./SomeContract.sol”
  • Can interact with other contracts if you have the address and ABI
  • Inheritance allows contracts to inherit from other contracts via the “is” keyword
  • You can override a contract functionality that was inherited via “override” keyword

For lesson 3, we wrote a simple storage contract, the repo for that can be found here.

Lesson 4: Remix Fund Me

  • Reverts, payable, require, msg.value
  • Chainlink and oracles overviews and services
  • Arrays and structs, msg.sender
  • Libraries
  • Solidity for loops
  • Transfer, send, call, this
  • Constructor, modifiers
  • A testnet demo
  • Some advanced pieces like immutables, constants, fallbacks, receives

For lesson 4, we wrote a funding contract, the repo for that can be found here.

Lesson 5: Ethers.js Simple Storage

  • Setting up the development environment 
  • Reviewing programming methods like asynchronous 
  • Node.js, Ethers.js, Ganache, testing, ABI
  • Contract deployment and interaction to local blockchain and test network

For lesson 5, we wrote a funding contract, the repo for that can be found here.

Lesson 6: Hardhat Simple Storage

  • Coin Market Cap & Etherscan API's
  • Using different networks
  • Contract compiling, deploying, testing, and interaction
  • Custom tasks and dev dependencies

For lesson 6, we wrote a funding contract, the repo for that can be found here.

Lesson 7: Hardhat Fund Me

  • Linkting, Mocks, Styling, and NatSpec
  • Unit & Stage Testing
  • Gas Optimization
  • Testing & Debugging
  • Hardhat, Chainlink, Ethers.js

For lesson 7, we wrote a funding contract, the repo for that can be found here.


Alchemy's Road to Web3

Still playing a little bit of catch up, I’d like to be current on this course and I’m on track to do just that. This week I managed to complete Weeks 3 and 4 (details below). These have been great projects to get more familiar with developing different smart contracts and I’ve appreciated having new instructors for different lessons. So far, each has introduced me to new concepts and it’s easy to imagine how I can spin-off from these tutorials and create larger projects with the core concepts.

Week 3 was building dynamic NFTs (dNFTs) , something I already have a lot of interest in. This project used onchain metadata to update a character in a game (sounds pretty similar to my last hackathon project, eh?).

Week 4 instructed participants in creating an NFT gallery. It only works with Ethereum mainnet NFTs but it’s easy enough to get new API keys in there for other networks. I’d like to continue this project and use it on my portfolio site to showcase specific NFTs I own.

Also, check out the Proof of Knowledge NFTs Alchemy sent me for completing week 1, week 2, and week 3.


Learn Web3 DAO

Freshman track was wrapped up nice and clean this week between the Scrimba additional course and the three projects required to complete it.

Level 7 - dApp we built a very simple dApp, that lets me use front end to establish and then call the current mood.

Level 8 - Cryptocurrency walked through creating a very basic crypto called "TEST-LEARN" that was minted on a test network and sent to my wallet.

Level 9 - NFT was a simple NFT without any image on the Rinkeby network.

Freshman track complete


Job Search

I reviewed my LinkedIn, GitHub, Twitter, Portfolio Website, and resume for accuracy and updated the featured content to ensure they represented the best of what I have at this time. With these quick updates to reflect recent changes, I applied for the few internships that I could find. 

The difficulties I encountered here were finding out that these opportunities required work experience in the very thing the intern would be learning (unpaid internships I might add), or if they didn’t require work experience then they required the applicant to be pursuing a degree. Regardless of the frustrations, I felt from this, I’m still applying for them. You never know what could happen, I know my worth and they might see it.


Projects

Collection of project repo’s that were worked on this week.

Solidity & JavaScript Course

Please refer to the above section or the individual repos for additional details on these projects.

Simple Storage Smart Contract | Repo | Simple storage written with Remix

Remix Storage Factory | Repo | Simple storage factory to show inheritance

Fund Me | Repo | Builds on learning various smart contract pieces 

Ethers Simple Storage | Repo | Simple storage but built with local IDE and Ethers.js

Hardhat Simple Storage | Repo | Hardhat version of the previous Simple Storage version

Hardhat Fund Me | Repo | Hardhat version of the previous Fund Me version

Road to Web3

Please refer to the above section or the individual repos for additional details on these projects.

NFTs with Onchain Metadata | Repo | Creating dynamic NFTs 

NFT Gallery | Repo | Next.js, Tailwind, and Alchemy 

Learn Web3 DAO 

Please refer to the above section or the individual repos for additional details on these projects.

First dApp | Repo | Ethers.js to build a “mood” setting and calling dApp

Cryptocurrency | Repo | Basic cryptocurrency creator contract

NFT | Repo | Simple NFT collection 


Mirror

I've spun up a second blog with Mirror, you can find it here. The first article I've written for it is a reflection from my experience during the Spring 2022 Hackathon with Chainlink. 

So why the second blog, and how does it differ from this one?

Journey to Web3 will eventually come to an end (that is when I've found a job in web3 or go full-time DAO). This blog is intended to be left behind as a relic of the efforts and path I took to go from no-code to employed in web3 as a developer, left for others to get an idea of how it can be done and to draw inspiration for their own paths.

This new blog is meant to continue beyond the scope and ending point of Journey and will be an outlet for sharing ideas, thoughts, and developments that are more advanced than what this blog covers. With the Mirror blogs, I'll be sharing mental models I have developed, frameworks for opportunities I have conceptualized, ideas that I have created, project reflections, and more that I think will create a dynamic value for people with differing interests.

Establishing this new blog represents the shift from learning to building that I am experiencing.


What's Next?

This next week will have a pretty large kink in my normal learning and building plans, I'm going to Consensus. I will be spending all of Friday and Saturday at the event and those are when I'm usually getting the most build time in. It will take a lot of my time away from these efforts but I'm expecting that it will have a huge return on value from networking with other developers and engaging with protocol reps.

Before Consensus ramps up though, I'm looking to catch up on Road to Web3 by completing weeks 5 and 6, start the sophomore path with Learn Web3 DAO, and getting through lesson 8 of the Solidity & JavaScript course.

Aside from the technical stuff above, I'll also be devoting some time to continuing the "Masting Ethereum" book, applying for jobs/internships, and coordinating plans with the squad.

Doesn't sound like I'm really slowing down, does it? But this is a wish list of items that I hope to complete and there's only so much time in the day so I'll let you know next week how much I manage to get through.


I'm building a squad with others trying to become web3 devs, this group works closely together helping each other to become better developers, sharing resources, building projects, and participating in hackathons. If you would like to join us, send me a message!

The idea is to have a small and dedicated group to support each other and build frequently while growing until we are confident in our dev skills and are working in web3. I really think that a small, core group like this has a lot of potential to accelerate learning with dedicated opportunities for feedback and experimentation on new projects that are rapidly being developed.

You can find me here:

LinkedIn | GitHub | Twitter |  My Website 

How do you rate this article?


2

0

Mike Bivens
Mike Bivens

Operator in the Web3 space. Freelance Project Management Metaverse Partnership Development and Event Management https://www.msbivens.com/


Journey to Web3
Journey to Web3

I am using this blog to talk about my experiences from pre-software development boot camp towards entering the Web3 ecosystem. I'll share thoughts and what I'm learning, reflect on the journey, and share informational interviews for others to follow along.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.