How I'm moving into Web3 as a Web Developer
Tags: blockchain, javascript, web3, react
Published: 2021-12-28 22:48:16

8 years ago I started getting into cryptocurrencies as a hobby. I had found a currency you may know about called ["Dogecoin"](https://dogecoin.com/). I was initially skeptical of a currency based on a meme but after finding the community that was forming around the new coin I was hooked. I setup my computer to mine the coins and even bought hats to help [Sponsor a nascar driver](https://www.theguardian.com/technology/2014/mar/27/nascar-dogecoin-sponsor-josh-wise-talladega-superspeedway) and fund the [Jamaican bobsled team](https://www.theguardian.com/technology/2014/jan/20/jamaican-bobsled-team-raises-dogecoin-winter-olympics). After a while though I sold the coins when the first bear market hit. I now regret that decision 🤣

![dogecar](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hg94peel489xz92y9efp.png)

Recently with the rise of NFT's and Web3 my passion has returned. I see the community that is currently forming around Ethereum with things like [DAO's](https://ethereum.org/en/dao/) and it brought me right back to 2014 when I was mining doge in my bedroom for fun. Not only that but as a developer I see the power of Ethereum and other blockchains and I have started to consume any content I can. The issue currently is that the field moves so quick that it's hard to find a way to get an idea of what you need to start building. So I decided to document at least what I have been doing in the case that it could help someone else out.

I'm going to assume you have at least a baseline knowledge of javascript and basic web development. You should be able to at least be able to spin up something like a react site and a node server and then be able to deploy them. If not you can jump over to youtube and find hundreds of tutorials and come back here.

#Building a Theoretical Base

While there are multiple blockchains currently competing over who will be the primary [Layer 1](https://www.binance.com/en/blog/fiat/layer-1-blockchain-tokens-everything-you-need-to-know-421499824684903155) solution, the biggest developer ecosystem exists currently around Ethereum so that's the place I would recommend starting at. The first thing I did was read over the [Ethereum Developer documentation](https://ethereum.org/en/developers/docs/) which gives you a good primer on what smart contracts are, what gas is and all the other more theoretical parts of the current blockchain landscape.

![Ethereum Docs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3x8nmwod8bfw9s4zqi3i.png)

#Getting Hands-On with Smart Contracts

The next thing you probably want to do is start getting a deeper understanding about Solidity and how to start writing smart contracts because they are going to be the backend of your new Web3 apps. The best way I found was to go through the [CryptoZombies tutorial ](https://cryptozombies.io/). It will walk you though the Solidity syntax as well as how to optimize your gas fees. After this I also read through the [OpenZeppelin docs](https://docs.openzeppelin.com/contracts/4.x/) for the various ERC standards because you will be using them extensively when writing your own contracts. By the end of it you should have enough a good enough handle on Ethereum smart contracts to start writing your own.

![CryptoZombies](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/87z4w9m8r9dwfpdzpp81.png)
 

#Your First Dapp

I like to learn by doing so the next thing that I did was building a demo NFT marketplace by following [this tutorial](https://www.youtube.com/watch?v=GKJBEEXUha0) by [Nader Dabit](https://dev.to/dabit3). It will go through:

- The basics of building an [ERC721](https://docs.openzeppelin.com/contracts/3.x/erc721) token contract as well as an NFT Marketplace contract

- It also covers how to deploy the contract to the [Polygon Network](https://polygon.technology/) which is an Ethereum layer 2 sidechain that you can use to minimize gas fee's (more on that later.)

- Setting up a [Hardhat development environment](https://hardhat.org/) to test and deploy your Solidity contracts

- Scaffolding a basic Next.js app with [Ethers.js](https://docs.ethers.io/v5/) and [Web3Modal](https://github.com/Web3Modal/web3modal) to interact with your deployed contracts

After all this you should have a baseline understanding of full-stack Ethereum development but the field is moving so quickly that there is so much more to learn.

![Metaverse market](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1lalfewic8p72vv9k6j8.png)

#Diving Deeper

Now that we have build a foundation for blockchain development we can start diving deeper into the field. I have been listening to podcasts like:

- [This Tim Ferris episode](https://podcast.app/chris-dixon-and-naval-ravikant-the-wonders-of-web-how-to-pick-the-right-hill-to-climb-finding-the-right-amount-of-crypto-regulation-friends-with-benefits-and-the-untapped-potential-of-nft-e300330060/?utm_source=ios&utm_medium=share) where he goes over the current Web3 Landscape with two large investors in the field

- [This Tim Ferris episode](https://podcast.app/vitalik-buterin-creator-of-ethereum-on-understanding-ethereum-eth-vs-btc-eth-scaling-plans-and-timelines-nfts-future-considerations-life-extension-and-more-featuring-naval-ravikant-e130582179/?utm_source=ios&utm_medium=share) with Vitalik Buterin who is one of the founders of Ethereum
 

- Any episodes from the [Bankless podcast ](https://podcast.app/bankless-p1013243/?utm_source=ios&utm_medium=share) which will keep you updated on the Crypto universe as well as educating you in the process


I have also been reading [this book](https://github.com/sherminvo/TokenEconomyBook/wiki) which you can read on Github for free. It's one of the best books currently available for a deeper dive on the theory of the blockchain and token economies. 

![token book](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pa7oleuypy0yrj3l863a.png)

I have also been using lots of the current Ethereum Dapps like Opensea and even bought an ENS domain (wiker.eth 😎). You can view the current top Dapps by using [this site](https://dappradar.com/rankings)

![dapp radar](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2x5lhrh6kb18cng3a39.png)

#Exploring outside Ethereum

Currently Ethereum has very high gas fees which makes building any dapps on it very cost prohibitive. The Ethereum organization has a roadmap for fixing this though and one of the ways is using [Layer 2 rollup solutions](https://ethereum.org/en/developers/docs/scaling/layer-2-rollups/). I have been exploring some of them like:

- [Polygon](https://polygon.technology/)

- [Arbitrum](https://offchainlabs.com/)

- [Optimism](https://www.optimism.io/)

You can also take a look at some of the other Layer 1 Solutions outside Ethereum like:

- [Solana](https://solana.com/)

- [Avalanche](https://www.avax.network/)

- [Binance Smart Chain](https://www.binance.org/en/smartChain)
 
#Conclusion

I'm super excited about everything going on in Web3 and I hope this helped you get a better idea on how to start developing and building more apps. This is only the beginning though and I hope you're able to learn even more about the ecosystem. If you have any other questions feel free to reach out for sure and all the best on your Web3 journey!