Web3 Engineering (Part 2) 👾
Tech stack, development process, and main differences with traditional applications
This is the second of a two-part series on Web3 engineering. You can find the first one here: Web3 Engineering (Part 1) 👾
The first part was about why web3 is indeed an interesting space and why you should look into it (or not). This second part is about the tech stack and development process.
I’ll try to answer a few questions:
What are the most significant changes in the way you design and develop an app?
What shift of skills do you need to work on such apps?
While most of this content won’t be about specific technologies but more around methods and practices, whenever I mention specific frameworks and libraries these refer to the Ethereum blockchain. This choice came natural as Ethereum is by far the most popular blockchain for building web3 apps, with ~80% of such apps running there.
However, it also has well-known shortcomings, like the very high costs and latency. For the sake of completeness, other platforms like Solana and Avalanche have risen recently to provide a faster and cheaper experience. Their adoption is still niche but growing steadily. You can check them out too.
Ethereum itself has a roadmap to address these issues with the progressive Eth2 release, which will span 2022 and 2023.
That said, this is our agenda today:
🧱 Basic Concepts
Accounts
Contracts
Transactions
🏯 Architecture
Protocol Layer
Infrastructure Layer
Platform Layer
Contract Layer
Application Layer
🔨 Dev Workflow
Differences with traditional apps
Best practices
Testing & rollout
IDEs
📚 More topics and resources
Authentication
Storage
Oracles
Guides
Docs & Practices
I will cover each of these items and draw a parallel with traditional engineering whenever possible.
Let’s dive in 👇