DEV Community

Cover image for My roadmap in web 3
Jesus Guerrero
Jesus Guerrero

Posted on

My roadmap in web 3

I decided to investigate and learn about blockchain, crypto, smart contracts and decentralized apps (dapps) A.K.A Web 3.0 from september 24, of 2021. I got curious about the term from the hype on twitter but it was more hype than truly helpful information with some valuable exceptions.

I am kind of documenting the journey and sharing my learning process hoping that can be useful for someone else but also expressing my own opinions.

The following lists express the order of my learning process but I didn't have to finish one to start the other. for example I was learning concepts yet, and doing the cryptozombies course.

1 - Learn the concepts.

It is kind of hard to assimilate and embrace an idea that challenge the status quo in so many ways. We tend to be cautious, skeptic and critic about it, specially when we heard just good things and anything negative.

By reading about the idea, the goals, the key concepts, how it works and the things web3 need to improve to materialize its final goal; we emphasize more with it.

These are a good places to start:

2 - Consume

By looking for and using some implementations of web3 applications OR Descentralized Apps(Dapps), we can understand what kind of applications we can build, the use cases and real world examples.

In my particular case I downloaded Brave browser as the implemented a nice use case to gain tokens for view to the adds, installed my metamask wallet, and started to follow people on twitter that provide useful content and resources.

3 - Get your hands dirty.

The primary blockchain to build smart-contracts and dapps is Ethereum in addition its platform Ethereum Virtual Machine (EVM) is compatible with other platforms like Polygon(Matic) for example, so by learning solidity, one of the language of EVM you can make smart-contracts for multiple blockchains.

cryptozombies is an excelent resource that cover all the things you need to know to build your first contracts and dapps. since the basics of the language, libraries, ERC721 how to use other contracts with yours, how to handle security, how to connect with oracles to how to connect your frontend with a smart contract. All this in an interactive gamified tutorial.

4 - Build, build and build.

After the cryptozombies course, I thought the right direction was to get my local environment to build my repos and code my contracts with the learnings of the course.

After some research My stack was like this:

  • Hardhat - Flexible, extensible and fast Ethereum development environment for professionals.

  • Vue 3 - The Progressive JavaScript Framework

  • ethers.js - JS library for interacting with the Ethereum Blockchain and its ecosystem

  • Brave Browser/Google Chrome with metamask extension

I choose to use Vue because I feel comfortable with it and it is my favorite framework but you can use whatever framework you like react, svelte, etc.

5 - Deploying to the world.

The next step after creating a smart contract and having a working frontend that interact with the smart contract, is deploying to let other use it and why not show case the working example in your portfolio.

This tutorial by Nader Dabit helped me with this and in addition, learned how to build a marketplace and about Polygon and Infura.

6 - Learning about cryptocurrencies

Cryptocurrencies are the fuel of Web3 they move the economy, they move the smart contracts and transactions that happens in the platforms. if you take a look at them you will see that most of these tokens have a platform behind Ether has Ethereum ecosystem, Links has Chainlink which is a set of oracles that you can use in your dapps, Solana is also an ecosystem that have its own a blockchain that allows you to build smart-contracts and so on.

  • Binance - App to buy/sell crypto
  • CoinMarketCap - App to keep track of your portfolio and market prices.
  • Whiteboard Crypto channel that explain different platforms, tokens and concepts of web3

In this step watch out with the scammers, don't take anything as financial advice and do your research before invest in a token.

7 - Iterate and get stronger.

With every step you get better and better in the next iteration you can build a more robust environment setup with an advanced hardhat setup I am planning to share the setup I did here. this will be another article

Complement your dapps with services like moralis, pinata for IPFS storage, etc.

In my case at this point I learned how to generate assets for my NFT's with hashlips

8 - Going out of the comfort zone.

Participating in hackathons at least once in life is a good way to inspire you and put you in the zone. In this state you can apply all the things you are learning, brainstorm ideas, see a lot of use cases for new technologies, interact with other developers and find communities with the same interest as you.

I participated in the chainlink hackathon I don't know if I am going to win anything yet, but the things I learned and applied are very valuable.

Conclusion.

After going through this steps and resources I gained some knowledge and built kind of fun things I hope this post help you to start building some smart contracts and have fun learning something new.

The post is unfinished because I will be adding more things as I go farther.

Thanks for reading. If you have any questions the comments are open, or if you like Twitter as well as my Github where I do some experiments and projects.

Discussion (21)

Collapse
kasvith profile image
Kasun Vithanage

Does web3 comes with a solution to do realtime communications?

Collapse
jesusantguerrero profile image
Jesus Guerrero Author

You can send events from the contract when an action happen and send data. You can listen to those events in your frontend.

But you wouldn't want to much data flow on chain. Moralis offer options for off-chain database with real-time.

Collapse
kasvith profile image
Kasun Vithanage

It means we still need centralized databases or cloud deployments to create realtime apps with web3?

Thread Thread
jesusantguerrero profile image
Jesus Guerrero Author

No there's descentralized hosting options. And moralis roadmap is to be open but I put it to mention a case I know. It should be other options solving those problems without directly require centralized things.

Thread Thread
kasvith profile image
Kasun Vithanage

Also how is the database support? are there good decentralized DBs you spotted? BC can do transactions and other stuffs...but real world commercial apps requires much more ways to store data

Thread Thread
jesusantguerrero profile image
Jesus Guerrero Author • Edited on

I was talking with a friend of mine the other day about this. options like orbit.db seems good to try, there are others but I don't think are at the level of what we know in te current web.

And I am more of the thinking of a combination in these early days of the stack. We can say semi-decentralized taking adventage of things were the stack shines(payments, identity, immutability, financial) rather than go wild and force to be decentralized for the sole reason of it at this point.

The most useful examples I know Apply this.(Brave Browser, gitcoin, zed.run) and waiting to see how the space and tools evolve in my opinion.

Thread Thread
kasvith profile image
Kasun Vithanage

yep, i also think this hybrid approach would be good

Collapse
lcarbonaro profile image
Les Carbonaro

Thanks @jesusantguerrero for putting this together. Must say it's very refreshing to see blockchain concepts being applied to VueJS for a change. I know web3.js is front-end agnostic, but to look at all the examples out there you'd think there's no other front-end framework besides react. Thanks again.

Collapse
jesusantguerrero profile image
Jesus Guerrero Author

I noticed that too, there are many react/web3 related things than other frameworks. I hope this to change next year and more resources come out in vue at least.

Thanks for reading and glad to know it was useful for you.

Collapse
mukulrajpoot262610 profile image
Mukul Rajpoot

What will be the roadmap for developing a dapp like pinterest?

Collapse
jesusantguerrero profile image
Jesus Guerrero Author

Roadmap or approach? Because that is an specific implementation.

My approach would be define the data is worth to have on chain. cause every write would on-chain require sign/GAS payment from user to add to the blockchain.

Setup a hardhat project to define your smart contract with solidity and test it.

Store the images and off-chain data on pinata or any other IPFS service.

and ethers.js with my favorite framework to interact with the smart contract.

Other option is Moralis, they offer servers, multiple chains support, db, and IPFS, etc there's a doubt I have with them about centralization/vendor-locking even though they are very accepted in the community and plan to be open source.

Collapse
mukulrajpoot262610 profile image
Mukul Rajpoot

Thanks for replying, I am trying to learn these new tech.

Collapse
parsadoc profile image
Adel Parsa

Excellent share
thanks

Collapse
juanfrank77 profile image
Juan F Gonzalez

Great post @jesusantguerrero !!

Collapse
jesusantguerrero profile image
Jesus Guerrero Author

Thanks Juan 🙌🏽.

Collapse
nn6v6nn profile image
Richard Kwok

Nice share , I need to learn the web3

Collapse
jesusantguerrero profile image
Jesus Guerrero Author

Thank you. go for it. It is an entertaining and interesting topic for sure.

Collapse
edatweets_ profile image
Eda

Really enjoyed this post! Thanks for sharing.
I'd also recommend you to checkout buildspace: buildspace.so/
They have web3 projects that are really fun to follow along and build cool stuff!

Collapse
jesusantguerrero profile image
Jesus Guerrero Author

You're welcome, glad to know you liked it.

And thanks for sharing, I'll check it out.

Collapse
maxinewhite profile image
Info Comment hidden by post author - thread only accessible via permalink
MaxineWhite

It is a progressive, incrementally adoptable JavaScript framework for building UI on the web. best tantrik in Raipur

Collapse
demetrakopetros profile image
Petros Demetrakopoulos

In case you are interested in Web 3 and DAPPs check out ethairballoons, an ORM library for data storage in the Ethereum blockchain.
github.com/petrosDemetrakopoulos/e...

Some comments have been hidden by the post's author - find out more