Web 2.0

Although blockchain developers build decentralized applications, the technologies used to build these applications overlap to a big extent. User interfaces for Dapps are hosted on the internet and are built with traditional web technologies. In order to interact with a smart contract, a user needs to submit a request to a server that hosts an application and that application needs to create a transaction, get the signature from a user via a web3 wallet like Metamask, and then submit the transaction to an Ethereum RPC. The transaction then goes to the mempool, gets picked up by a miner (PoW) / validator (PoS), gets executed and included in the blockchain, and the user interface updates once the blockchain emits an event with a successful call of a function inside of a smart contract. This is the usual flow that decentralized applications have.

Any blockchain developer that wants to build full-stack applications needs to know how the internet and its most important protocols work as well as how to build user interfaces for all the major platforms (web, mobile, etc). You can think of web3 as adding a native value layer to the internet, it also helps with social coordination and resource allocation with the decentralized autonomous organization structure. It is very helpful to know how the web and the existing technologies built on top of it work and understand how crypto and web3 work in order to create better applications.

I believe that even though you might not work with developing front-ends it is still good to know how they work on a foundational level as in almost all kinds of development you’ll interface with the web in some form. A good learning roadmap for the basics of how web technologies work is the roadmap.sh frontend initial steps in the roadmap. It is also a must to learn how to version control your code, Git is the most popular version control and collaboration software along with GitHub / GitLab for hosting repositories and interacting with other coders.

Frontend roadmap

Learning resources

  • How does the internet work
  • CS50 HTTP lecture (the CS50 course on edX is a great intro into computer science)
  • freeCodeCamp - Here you can learn the basics of how HTML, CSS and JS works. Unless you’re planning to write frontend interfaces you won’t need it, but it’s still good to experiment and learn how it works.
  • Learn Git Branching - Learn how to use the Git version control system. -GitHub Learning Lab - Learn how to use GitHub and manage git repositories within it. -Open-source Computer Science - If you want to deepen your knowledge in CS you can take all of the necessary learning material that would be required at a university completely online and for free.