VERTU® Official Site

0

Coinbase: A Simple Guide for Web3 Developers

Despite the rise of Bitcoin and Ethereum, as well as the emergence of new categories such as DeFi, NFT, GameFi, and DAO, Web3 developers make up less than 1% of the 31.1 million software developers worldwide.

So, why are there so few Web3 developers today? First, the tools and infrastructure available to Web3 developers are far less robust than those for Web2. This makes it more difficult to start building, experimenting, and deploying in Web3. To support this growing contingency, a vibrant team ecosystem is working hard to simplify the entire journey for Web3 developers, which will ultimately help unleash the next phase of Web3 growth and innovation.

In this article, we will explore the growing stack of Web3 developers.

image

Web3 Developer Stack

image

Building in Web2 and Web3

image

Software development is the process of building computer programs. A specific program has three main components:

Frontend (the part that users interact with)

Backend (the things that users cannot see)

Database (the place where key data is stored)

A typical frontend that a user interacts with through a mobile or desktop browser is essentially the same in Web2 and Web3. Web3 applications like Uniswap look similar to typical Web2 applications because both frontends are mostly created using React (which is a popular development framework for web and mobile applications).

image

The difference between Web2 and Web3 lies in their internal aspects. The backend frameworks and database types that enable the decisive feature of Web3 (user-defined ownership) are new and unique.

Web2 applications mainly rely on centralized databases, while Web3 applications are built on decentralized databases (blockchains). This requires a completely new backend and new primitives, such as wallets.

Due to decades of accumulated development, the tools that assist in creating, deploying, and maintaining Web2 applications are very developer-friendly. Out-of-the-box solutions, mature infrastructure, shared code libraries, and easy-to-use frameworks have made building in Web2 relatively easy.

image

On the other hand, Web3 still requires specialized expertise to interface with complex infrastructure, and due to the lower level of development of the stack, it often involves many redundant processes, forcing teams to reinvent the wheel. That being said, the tools that will help the next million Web3 developers get on board are rapidly improving.

Let’s take a look at each layer of the (non-exhaustive) evolving Web3 developer stack (* indicates a company invested in by Coinbase Ventures).

image

Protocol Layer

image

The first decision that Web3 developers need to make is on which blockchain protocol to build. Building on Bitcoin is completely different from building on Ethereum, and Solana is also different from Ethereum, and so on.

For applications that require faster speeds and lower costs, developers may want to build on layer 2 protocols such as Optimism and Arbitrum. For applications that need to transfer value from one chain to another, developers will want to utilize cross-chain bridges like Hop or Synapse.

Once these decisions are made, developers can start incorporating the building blocks that make user applications possible.

image

Infrastructure Primitives

image

The next thing developers need to figure out is how their application will ultimately interact with the underlying blockchain. This is where the infrastructure primitives come into play.

Node Infrastructure – Nodes are the “happening place” where applications interact with the blockchain. They are computers that read the state of the blockchain and write updates to it once users interact with the application. Node infrastructure providers such as Coinbase Cloud, Infura, and Alchemy make it easy for developers to set up, manage, or access blockchain nodes, saving developers a lot of time and resources.

Wallet and Key Management – Blockchain wallets, such as the Coinbase Wallet, allow users to manage the private keys required to execute transactions in Web3 applications. Wallet and key management providers, such as Web3Auth or Pine Street Labs, enable developers to establish secure connections between blockchain wallets and user-facing applications.

image

Identity – Protocols like ENS can serve as a cross-application identity for users. Spruce provides frameworks and toolkits that developers can use to verify user credentials to authenticate operations on Ethereum. For example, developers can use the Spruce ID toolkit to enable users to log in to dApps with their ENS accounts. Additionally, companies like Lit Protocol provide developer tools to grant access to content, software, and other data, utilizing their tokens or NFTs*.

Decentralized Computing – Computing resources provide processing power that applications rely on to perform computational tasks. Currently, most of the computing on the network is provided by centralized providers like AWS.

Decentralized computing is a shift towards community-owned networks where computing resources are allocated in a permissionless manner at a low cost. Companies like Akash Network and Aleph.im have emerged, offering peer-to-peer computing resources that are high-performing and optimized for smart contracts and blockchain applications.

image

Decentralized storage – storing every piece of data related to a specific Web3 application directly on blockchain nodes is very costly. Web3 developers can use peer-to-peer data storage protocols such as IPFS, Arweave, and Ceramic Network to store certain data instead of storing data on centralized databases. For example, the Web3 blogging website Mirror is built on Ethereum but stores the actual blog content on Arweave.

Oracles – For a typical Ethereum application, the blockchain stores transaction history and “state” (balances, smart contracts, and other variables). However, it cannot natively store and interact with data from external sources, such as transaction history from other blockchains or “real-world” data like the weather in San Francisco. This is where Chainlink or Flux comes in, connecting the blockchain to both on-chain and off-chain data sources.

Interoperability – There are many different blockchains, but there is little ability for value exchange and cross-chain utilization of information. Interoperability protocols such as LayerZero and Astar Network provide developers with SDKs and APIs to build portable dApps and communicate with different blockchains.

image

Developer Tools

image

The infrastructure primitives that allow applications to interact with blockchain networks are built upon by tools that allow developers to interact more seamlessly with the aforementioned primitives.

Frameworks and IDEs – Developer frameworks consist of code libraries created by other developers, making development easier. Web3 frameworks such as Truffle, Moralis, Tatum, and ThirdWeb allow developers to leverage existing code to develop smart contract applications, so they do not have to build everything from scratch. They also enable developers to test and deploy applications. Integrated Development Environments (IDEs) such as Foundry and HardHat combine common source code editors, as well as build automation and debugging tools into a single, accessible interface.

image

Low-code/no-code – These platforms enable user-facing applications to be quickly designed/deployed entirely through a drag-and-drop interface. Companies like Settlemint provide developers with smart contract templates for NFTs to prevent Web3 developers from having to reinvent the wheel.

Indexing and querying – Data indexers help people locate and access specific data in the underlying database. In Web2, Google search is the most popular data indexing service, allowing users to query data stored in online databases with sub-second response times.

In Web3, decentralized indexing services are emerging to help dApp developers access, process, and query blockchain data. Graph Protocol, Covalent, and Coherent all provide APIs for extracting and leveraging data from decentralized data storage providers and EVM-compatible blockchains.

image

Testing, simulation, and monitoring are crucial before releasing a Web3 application to the market. Companies like Tenderly and Kurtosis offer various tools to simulate smart contracts and transactions after going live, as well as tools to debug any issues. Blocknative provides dashboards and tools for monitoring transactions before they are submitted to the chain.

Security and auditing are important as smart contracts can be exploited. These platforms allow developers to apply best practices in security and auditing to their applications. OpenZeppelin, Certik, and Certora all offer various services, frameworks, and monitoring tools to mitigate potential security risks and vulnerabilities.

image

Information Delivery – Web3 applications often involve sending various communications to end users. For example, a cryptocurrency wallet may want to push reminders about transaction confirmations to users. Companies like XMTP Labs and EPNS are building secure messaging protocols and decentralized communication networks to drive user engagement and support these notifications in Web3 applications.

Analysis – There are a large number of platforms and services that allow developers to explore, analyze, extract, and visualize blockchain data. Dune, Nansen, and Messari each offer various APIs and reporting features to build data visualization capabilities in Web3 applications. Flipside Crypto provides SDKs (Software Development Kits) and APIs to create and share data insights for various cryptocurrency projects.

image

Application Support Layer

image

The Application Support Layer connects all the above layers with specific Web3 uses. NFTs, DAOs, DeFi, and gaming all have their own customized developer solutions.

Tools focused on NFTs provide infrastructure for creating and managing NFT assets. DAO tools offer solutions for the creation (Syndicate, Samudai), governance (Snapshot), and financial management (Utopia Labs) of DAOs. Tools focused on DeFi provide APIs that allow developers to access various DeFi primitives. Gaming-focused tools (Venly, Joyride, Horizon Blockchain Games*) offer solutions for creating virtual worlds and blockchain-based games.

image

Continuously Evolving Development Stack

image

The protocols, infrastructure, and developer tools mentioned above form the nascent but rapidly evolving Web3 developer stack. The modularity and interoperability of Web3 mean that this stack can be combined in endless ways to create new and interesting applications.

Although the frameworks and layers we have highlighted may remain consistent, we continue to see the emergence of new developer tool primitives and expect significant growth across the entire stack in the coming years.

image

Coinbase Ventures will continue to invest in the next generation of platforms and developer tools, which will ultimately bring millions of developers into Web3.

This article is reprinted from Lao Yapi, and does not represent any views of our company, nor does it constitute any investment advice. Please treat it with caution.

image