The Web3 Developer Stack

The Web3 Developer Stack

Web3 is full of noise and hype.

The relationship between network effects, developer ecosystems, and network value translates to everyone and every protocol gunning for your attention. Many will say and do almost anything in order to get you to try out their product, often going as far as to be dishonest in their marketing.

As a developer working in this space it’s hard to figure out which of the thousands of protocols and tools are actually useful and mature enough to start building with, and the tradeoffs between the various options that exist.

In this post we lay out the most useful and mature protocols, products, tools, and SDKs for developers looking to build within web3 today and highlight some important and powerful ones that will be coming to market soon.

The approach taken is geared towards builders looking to implement features like file storage, smart contracts, databases, apis, and website hosting. We’ll outline the protocols and tools that enable you to build applications today, and try to highlight some of the areas that are still not mature enough to be considered for real-world usage.


Blockchains

At the core of the web3 movement are the blockchain protocols enabling smart contracts, dApps, storage protocols, and digital currencies among an array of other things.

Most blockchains fall into one of two categories: Layer 1, or Layer 2:

In brief, Layer 1 blockchains represent the foundational protocols, while Layer 2 blockchains are built on top of L1’s to help improve their performance and scalability, providing a secondary layer of infrastructure to offset cost/load.

Where to build?

It’s not possible to say that one blockchain is the best and that’s what you should use–it’s much more nuanced than that. Each has their own ecosystem and set of benefits, trade offs, and use cases. With that being said, some are more mature than others, with longer track records and larger developer ecosystems.

Here is a list of blockchains that have a healthy ecosystems and developer communities that are safe bets to consider building on:

Layer 1

Layer 2


Storage protocols

Decentralized storage protocols provide distributed data storage across a network of nodes instead of relying on a central servers.

These protocols are used for data availability, censorship resistance, security, and cost-efficiency and are important because they offer a resilient, secure, and open alternative to traditional centralized storage systems.

As a developer, you’ll use these protocols to store things like images, videos, documents, and even metadata in the form of JSON for NFTs.

Where You Can Start


SDKs

Those that have been around the space awhile may recall the previous abysmal developer experience for builders in web3.

While there still is a lot of opportunity for improvement, we now have a more robust selection of tools and SDKs that make our lives much easier than in the past.


Sybil Resistance

Sybil resistance refers to a system’s ability to defend against Sybil attacks; an attack vector where a single entity creates multiple fake identities to manipulate or disrupt the network, gain influence, or compromise its security and functionality.

In the context of web3, sybil resistance is crucial for maintaining the integrity, trustworthiness, and proper functioning of the system. Applications need access to tools that not only provide sybil resistance for individual users, but also solutions that easily integrate with their existing APIs and systems.

No perfect solution exists as of today, but both Gitcoin Passport and WorldCoin offer interesting solutions for enabling Sybil Resistance for application developers:


Oracles

Web3 oracles allow smart contracts to securely and reliably access off-chain data, APIs, and other external resources. They are essential in the blockchain ecosystem because they act as bridges between on-chain and off-chain data.


Databases and Data Protocols

Databases and Data Protocols on web3 are essential components that facilitate the storage, management, and exchange of information in a decentralized manner. These components play a vital role in the functionality of decentralized applications (DApps) and Web3 services.


RPC

Remote Procedure Call (RPC) serves as a communication medium, facilitating the interaction between applications and a blockchain. It functions as a connector between decentralized applications (DApps) and the blockchain, enabling the DApps to transmit requests to nodes and obtain corresponding responses.


Compute

It’s the processing power or computational resources required to perform tasks and execute code within decentralized applications and smart contracts on blockchain networks.


Identity

In theory, web3 protocols should enable self-sovereign identity and give users more ownership and control over them.

In practice, we’ve yet to really see a clear winner or a polished, interoperable, and well-adopted standard picked up by more than a handful of apps, so in reality there is no clear winner or perfect solution to mention, but here are a few options.


Development Environments

This is a very important piece when you’re trying to build because the web3 development environment is a collection of tools, frameworks, and software that developers use to create, test, and deploy applications, smart contracts, or any other software project. Development environments help streamline the development process, making it more efficient and productive.

And in the web3 ecosystem we have many tools but some of the main ones are:


Indexing

Indexing is part of the most important components within web3 - it’s the process of organizing and categorizing data from blockchain networks to make it easily accessible, searchable, and usable by users or applications.


Domains

Web3 domains function similarly to the traditional Domain Name System (DNS) used for internet domains, but with the added benefits of blockchain technology, such as decentralization, security, and censorship resistance. Domain names can be registered, transferred, and managed using blockchain transactions.

In addition to mapping domain names to wallet addresses, they also may support other resource types, including IPFS content hashes, decentralized websites, and other blockchain addresses.


Hosting / Orchestration

Web3 aims to create a decentralized internet ecosystem, which requires new hosting and orchestration solutions that are different from traditional centralized approaches - with this, you can deploy and scale dAPPs within the blockchain, utilizing distributed storage systems, infrastructure protocols, and on-chain data that these orchestrators help faciliate.


Messaging Protocols

We’re starting to see some high quality messaging protocols come to market in the past year, many of them already being used at scale and in production.

These messaging protocols offer users encrypted messaging that typically carries across multiple apps, and offers developers permissionless, public infrastructure that they can use to build their apps.


Social Protocols

Web3 social protocols enable developers to build social apps using decentralized, public, and permissionless infrastructure.

Web3 social is exciting because it unlocks a use case that is already well understood and used by billions of people around the world everyday.


Serverless Functions

Serverless functions have become popular and enabled developer productivity and velocity in the web2 world. Products like AWS Lambda, Vercel, and Google Cloud Functions allow developers to focus on writing business logic instead of managing complex back end infrastructure.

There are protocols and services attempting to replicate this functionality but in reality nothing is quite there yet in terms of features, quality of service, and developer experience.


Account Abstraction

By turning accounts into smart contracts, features like multi-chain interaction, delegation, account recovery, social login, and gasless transactions can be enabled among other things.

Account abstraction abstracts away the limitations of externally owned accounts and opens the door to the superior UX necessary for the average user to enjoy using web3 applications.


Relayers

Meta Transactions involve transactions generated and signed by an individual, then executed by a trusted intermediary known as a Relayer.

The Relayer’s role is to sign and submit valid transactions to the network, paying the associated gas expenses.

The identity of the user who initially initiated the transaction is retained, allowing users to engage with smart contracts directly without necessarily requiring a wallet or token ownership, opening the door to more accessible applications (via these gasless transactions).


Other Protocols

Superfluid - an asset streaming protocol that brings subscriptions, salaries, vesting, and rewards to apps, DAOs, and any crypto-native user or business. Using their SDKs, developers can automate recurring transactions and payments in a way that was not possible in the past unless they were to roll their own complex solution on their own.


We hope all of these resources and information on the whole web3 stack serve you as a tool to start to build in the ecosystem!

If you want to read more about infrastructure on web3 you can find our Build3rs Stack series on our guides ⚡️