Do you want to get involved with building Web3 projects? This reference will outline the most popular layers and development environments.
It’s no secret that there’s quite a lot of buzz around this topic – Web3 – right now. Numerous people have left behind their jobs at FAANG and prominent startups to pursue a new start in the Web3 metaverse.
And, assuming that you’re feeling a similar itch – where do you begin? This article is dedicated entirely to those who wish to jump straight into Web3 development. Our focus will be on a variety of categories, each one containing valuable resources to get your journey started.
In order to make this reference accessible, I will divide the resources into separate sections.
And those sections are:
- Layers. The most popular Blockchains used in development.
- Dev environment. Tools to help you deploy to those layers.
- Identity. How to build around wallet identities and use crypto sign-in.
- Storage. Creating permanent data storage using P2P tech.
- API. Accessing main networks directly to pull information.
- Front-end. Popular frameworks for front-end stuff.
A stack is a term used to define a particular combination of technologies used to achieve a specific goal. Be it full-stack development or, in this case, the Web3 stack. It’s worth noting that the technology involved in building Web3 apps and products is rather “volatile”.
In a sense that a lot of things are changing as more people get comfortable with building software on the blockchain. So, our goal for this reference is to mention resources that have already been used in real-world projects.
If all that sounds good, we can get started.
The foundation of any Web3 project begins with a layer. The specific blockchain network on which your application or product is going to live.
Ethereum rose to popularity thanks to its native smart contract proposition.
Since then, developers have made it the preferred blockchain layer for building next-gen Web3 applications. It’s also the preferred layer for a lot of NFT projects, so if you feel like you want to work on NFT-related apps, Ethereum has a lot to offer out of the box.
The Polygon layer is an Ethereum side-chain, offering more intricate security practices while keeping lower transaction (gas) fees. It’s a popular choice for projects where the number of transactions is extremely high, but the price of transactions is low.
Since Polygon is a side-chain, it is also often referred to as the Layer 2 Blockchain. However, Polygon’s rapid development makes it a popular choice not only for NFT apps but also dApps and payment systems.
Other notable Web3 Layers:
- Solana. A blockchain built for the very purpose of building DeFi apps at scale.
- NEAR Protocol. Smart contract blockchain with immense developer resources.
- Polkadot. Cross-blockchain protocol for building governance projects.
- Tezos. An energy-focused platform for building decentralized creative platforms.
- Fantom. Open-Source smart contract platform for building dApps.
A development environment lets you skip the whole “start from scratch” part. These are mostly Ethereum-based for the time being.
Hardhat is a dev environment for Ethereum developers. It works by helping developers to automate the process of building and putting together decentralized apps but also smart contracts. Its popularity stems from an in-built Hardhat Network, a one-for-one copy of the Ethereum network which you can use to test your apps locally.
Other notable Web3 dev environments:
- Foundry. Rust-based toolkit for building apps on Ethereum.
- Brownie. Python-based framework for building and testing smart contracts.
- Anchor. A framework to work with Solana, written in Rust.
- Embark. All-in-one framework to build on top of Ethereum.
- Waffle. Custom-built framework to test smart contracts.
Unlike traditional username & password authentication, in Web3 developers implement both the use of wallets, but also public keys.
WalletConnect is an open-source protocol used to connect to dApps through a mobile wallet. The main concept of using WalletConnect resolves around scanning a QR code, which users then can use to verify their identity and approve a new connection to the Web3 app.
If you know of wallets like Pillar or MetaMask – all of them integrate directly with WalletConnect. This also means you have access to plenty of developer resources. Last but not least, the protocol works with all major blockchains, with more chains being added frequently.
Spruce is a Y Combinator backed startup which aims to bring the concept of decentralized identity to areas outside of the blockchain. This kit aims to help users verify their digital identity across a variety of mediums: social media, personal websites, and blockchain networks.
How do you store media – videos, photos, etc. – on Web3? This is mostly done using P2P file storage protocols.
IPFS is the world’s leading P2P (peer-to-peer) storage protocol. Once you upload a file to IPFS – that file is then resized, secured through a custom hash, and assigned a fingerprint as its unique identifier.
Afterward, other nodes (systems or people) who are part of that network can access the file, verify it, and store it in their cache. Once cached, the file is accessible to anyone with the correct access method.
Ultimately, the goal of IPFS isn’t just to provide a decentralized storage system. But also to ensure that content has a span of multiple decades as opposed to years. E.g., A website disappears after a while, and all of its content, including media, is lost. IPFS provides a real solution to that.
Skynet provides accessible file sharing using the Sia (decentralized) cloud network. You can actually use it straight away from the homepage. Just upload a file, and you’ll be given a link. It lasts for 90 days unless you sign up for your API key. Though, in the context of development – Skynet makes it easy for you to replicate the same use case but within your own decentralized application.
Filebase is a SaaS startup that provides a direct link with the Amazon S3 API. You can use this API to fetch data from your S3 buckets, then have them redistributed across various decentralized storage options.
Currently, Filebase supports Web3-based storage options like Skynet, IPFS, Sia, and Storj, among others. As a developer, this means you can simplify the process of providing decentralized file storage services for your clients.
You also get 5GB of storage free as a new user, though the pricing is reasonable even for paid plans.
Other notable Web3 storage solutions:
- Arweave. Arweave is a protocol that allows you to store data permanently and sustainably with a single upfront fee.
- Filecoin. Store any kind of media in a decentralized cloud environment.
- Swarm. A self-sustaining P2P storage node that is incentivized by Ethereum smart contracts.
- Aleph. Build dApps and let Aleph manage cloud-based storage for you.
Unlike a traditional database-based stack, developers use an API to interact with the blockchain and either request or store data on it. API’s are also sometimes referred to as Clients.
#1. The Graph
The Graph is an all-in-one API solution for connecting to various blockchains. The goal of this API is to help developers to access data that would otherwise require building individual algorithms. E.g., The data points in blockchain stem from simple addresses to intricate transactions based on smart contracts.
An example of this would be to track the history of an NFT.
While individual purchase history might be possible to track down rather easily, it gets progressively hard as you try to understand relations to different purchases. In such a case, The Graph API provides pre-made calls and index directories to help you quickly visualize a particular use case.
Alchemy has quickly risen to become one of the most respected Web3 platforms out there. Their approach is all about educating developers on how to quickly build and scale Web3 applications. And they are able to do this by providing a sophisticated Blockchain API and a set of Developer Tools.
useDApp is a React-based framework to interact with the Ethereum blockchain. It consists of React.js, the Ethers.js library, Waffle, and Web-3 React components. It is typically used to build easy-access website front-ends that can display various data queries based on your project needs.
What kind of frameworks are developers using to build the Front-end interfaces for Web3 projects?
The popularity of React is unparalleled. And it doesn’t come as a surprise to learn that it’s also the most popular front-end library for Web3 sites. The component-driven architecture means that developers can work on multiple parts of the front end without interfering with the core design.
You can check out the Web3-React library on GitHub for a solid starting point.
Next.js is the successor to React, although neither is directly affiliated. Large-scale Web3 projects require enormous resource management, and Next.js comes bundled with native tools for both static and dynamic projects and used by companies like Binance, Bitscreener, Hashnode, and others.
For a quick start, look no further than the Next Web3 Boilerplate.
Getting started with Web3 development
It’s quite a lot to take in, especially if you’re only now getting started. The fact is that things are changing quite fast in this field. Although the initial projects were all NFT related, these days, there is more emphasis on decentralized networks and individual blockchain platforms.
As far as getting started with the Web3 project, this reference should suffice plenty. I also recommend staying in the loop on both Twitter and Discord since those are the two most active communities for keeping up with the latest Web3 trends.