Building In Web3
Welcome to my guide for how to launch your Solidity/Ethereum/Rust project
This article is dedicated to the groundbreaking new innovations in 2021 using the full utility of web3 on your side. Whether you want to build a Dapp or Mobile Dapp, the process should remain similar.
I will go over pros and cons of both along with getting started in web3 if you find it to be suitable for your business model
- Basics: App VS Dapp
- Getting started
- Smart Contract Integrations
Should you opt for a traditional centralized app, or turn to a decentralized platform? More importantly, what is the difference between the two and why does it mean for your business?
What Is a Centralized App?
Centralized apps are operated and owned by a single company, and they run off a single server, or cluster of servers.
How it works is simple: Someone downloads a copy of the app, and the app works by sending and receiving information from this server.
Examples of centralized apps include:
What Is a Decentralized App?
A decentralized app, or “dApp,” runs on a blockchain network. Rather than downloading an app, the user pays the developer a certain amount of cryptocurrency to download a “smart contract,” or source code.
The code generates a whole new copy of the app on the user’s device, which creates a new “block” in the chain.
Here are some examples of decentralized apps:
Pros and Cons of Centralized Apps
Centralized apps have a few distinct advantages over dApps. As the developer, you retain full control over the app and how it’s used. Centralized apps can generally handle higher traffic volumes.
What’s more, it’s much easier to update a centralized app since the update is sent automatically to the user’s device.
If there’s a system error, no one can use the app until the problem is resolved, which might inconvenience your customers. Additionally, you might incur higher cybersecurity costs because you need to protect the main server.
Pros and Cons of Decentralized Apps
Decentralized apps definitely have their advantages, depending on what you need from your app.
First, as there’s no single server, users won’t lose access to the app if your server goes down. Second, since there’s no centralized storage, user data won’t be compromised if there’s a data breach or hacking attempt.
From a marketing perspective, this could incentivize people to choose dApps over centralized apps.
Your target audience is smaller, since cryptocurrency and blockchain aren’t “mainstream” technologies yet. What’s more, as dApp transactions are often slower and more expensive than centralized transactions, so you might find it hard to draw people to your dApp in the short term.
Finally, since there’s no centralized rollout, it’s much harder to fix bugs or update the software across user devices.
Should You Create a Centralized or Decentralized App?
Only you can answer this question. However, there are two points to consider when weighing your options.
- How far do you want to expand your app? Decentralized apps are an emerging market with over 70 million users worldwide, but far more users download centralized apps.
- How much control do you want to retain? You can control how people use a centralized app, not a dApp. Depending on your target audience and business goals (e.g., if you’re all about erasing censorship), this might not be a priority.
Now that you’ve gotten familiar with web3 and have decided it’s the correct model for your business, we can get started.
We’re going to start by discussing IPFS
The InterPlanetary File System (IPFS) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.
IPFS is decentralized because it loads the content from thousands of peers instead of one centralized server. Every piece of data is cryptographically hashed, resulting in a safe, unique content identifier: CID
Store your website in IPFS to avoid censorship and a single point of failure. Your personal IPFS node goes offline? Don’t worry, the website will still load from other nodes across the globe serving it.
For example, suppose your government bans Wikipedia. In that case, you can still access a decentralized version of Wikipedia indexed on April 17th by loading it from the IPFS peer-to-peer network persisted under CID:
Second, the integrity of IPFS content can be cryptographically verified.
And finally, the IPFS content is de-duplicated. If you tried storing two identical 1MB files in the same IPFS node, they would be stored only once, eliminating the duplication, because their hash would produce an identical CID
What is QmT5NvUtoM5nWFfrQdVrFtvGfKFmG7AHE8P34isapyhCxX ?
It’s a self-describing content-based identifier.
What does “self-describing” actually mean? It means that by splitting the string following the IPFS specification, you will know everything you need to know about the data it indexes.
- what CID version it is
- how to read the CID string (base32? base58? hex?)
- how data is encoded
- what hash function fingerprinted the data
- the hash function’s length
The IPFS team built a convenient website for analyzing a CID
Now let’s look at how some major chains interact with IPFS
Ethereum itself can be used as a decentralized storage system, and it is when it comes to code storage in all the smart contracts. However, when it comes to large amounts of data, that isn’t what Ethereum was designed for. The chain is steadily growing, but at the time of writing, the Ethereum chain is around 500GB — 1TB (depending on the client), and every node on the network needs to be able to store all of the data. If the chain were to expand to large amounts of data (say 5TBs) it wouldn’t be feasible for all nodes to continue to run. Also, the cost of deploying this much data to Mainnet would be prohibitively expensive due to gas fees.
Due to these constraints, we need a different chain or methodology to store large amounts of data in a decentralized way.
Binance Smart Chain
Now we’re going to discuss your web3 domain
What you will need:
Ethereum in wallet
Now we’re going to discuss having an ICO
Now we’re going to go to look into combining the token with utility
InterPlanetary File System - Wikipedia
Original author(s) Juan Benet and Protocol Labs  Developer(s) Protocol Labs Initial release February 2015; 6 years…
Decentralized Storage | ethereum.org
Overview of what decentralized storage is and the available tools to integrate it into a dapp.
A Technical Guide to IPFS - the Decentralized Storage of Web3
When you think about developing a decentralized application, a blockchain like Ethereum probably comes to mind…