Okay, what actually is a dApp?

You might hear this term from time to time, and you have perhaps not spent much more thought on it.

But you are definitely missing out on something great, so let me give you an introduction!

A thread.
1. The internet today

Nearly all websites you visit every day are a perfect model of how the internet works today.

Someone creates a service (a website, e.g.), hosts it somewhere, and has it under full control.

1/24
If you own an app, you decide what happens. You store the data. You can often decide what you do with it.

And most importantly: You can prevent certain users from participating if you don't feel like they deserve to be around.

2/24
A client is distributed by hardware under your control and talks to software that you built on servers that you control.

This is a centralized architecture, and it works well.

Everything is controlled by one entity that manages the service.

3/24
2. Enter dApps

dApp is short for decentralized application.

Those applications basically live on a blockchain.

They have no dedicated backend other than the blockchain.

Their APIs are composed of smart contracts executed by blockchain nodes.

4/24
Their frontends are often distributed through decentralized systems, although many dApps are still distributed through traditional channels like web hosters.

All data of a dApp is stored on a blockchain and is thus distributed.

No one really has full control over it.

5/24
A dApp thus exists of two components (like traditional apps):

1. A backend (smart contracts deployed to a blockchain)
2. A frontend (hosted somewhere, downloaded by you, executed in your browser)

6/24
To create more trust among its users, dApps are often fully open source.

If both source code and development are transparent, people can always see what exactly happens because there are no curtains.

This is, however, not a requirement for any dApp.

7/24
3. The goals of dApps

The goal of a dApp is to build a community-powered application that users can trust.

No central entity should control the app, its users, and the data behind it.

8/24
Everything is publicly available, and everyone can transparently check what exactly is going on in the dApp at any time.

This helps with detecting potential frauds or misbehavior.

9/24
A dApp can leverage the computing power of a whole blockchain network.

The more miners or validators there are, the more computing power to execute smart contract logic. This helps scalability as long as the blockchain scales.

10/24
Thanks to being based on a blockchain, a dApp can leverage cryptocurrencies for payments.

Especially users coming from heavily sanctioned countries or with questionable state authorities can still participate.

11/24
4. Nuances of dApps

A full dApp is achievable but sometimes not possible.

This is why there are nuances of dApps.

Some dApps still employ a traditional backend and only partially use blockchain technology. You could, however, argue that those are no real dApps.

12/24
Some dApps only consist of a frontend and leverage existing smart contracts to create something completely new.

They don't rely on their own smart contract logic and orchestrate existing functionality into something completely new.

13/24
5. How to get started

You can start with very little and work your way up slowly.

Get to know a few of the more popular client libraries you will need to interface with blockchains at all.

1. Web3.js
2. ethers.js

14/24
Then integrate MetaMask into your frontend, for example.

It's a browser extension that gives you a fully-fledged web wallet.

It's used to:

- Authenticate users
- Sign transactions
- Keep track of coins and more

metamask.io

15/24
Build a site where people can view the coins they have, for example, and perhaps add charts to see how much they are currently worth in fiat.

Then slowly work your way up until you implement your own smart contracts, with Solidity, e.g.

soliditylang.org

16/24
You can even stop right before smart contracts.

You don't need to implement smart contracts to get into Web3. It's perfectly fine to stay the frontend hero you already are.

You can always find a partner that is more interested in the backend part.

17/24
The choice is up to you.

The options, however, are limitless. We have yet to fully discover what awesome things we can actually build on blockchains and as dApps.

18/24
6. Some examples of dApps

To give you an even better idea of what a dApp actually is, you can look at the following examples.

19/24
-> Pancake Swap

Pancake Swap is a great example of a DeFi dApp.

It's an automated market maker that allows users to exchange cryptocurrencies and participate in yield farms.

pancakeswap.finance

20/24
-> Upland

Upland is an interesting example of a decentralized game.

It's a game where you buy, sell, and trade virtual properties mapped to real-world addresses

upland.me

21/24
-> Yup

Yup is something like a decentralized social network where you can rate anything on the internet and get paid for the accuracy of your ratings.

Basically, you are providing a service for everyone else.

yup.io

22/24
-> NBA Top Shots

If you haven't heard about it yet, it's about time.

NBA Top Shots is an NFT platform where you can buy valuable moments of the current NBA season.

Trading Cards, digitalized and modernized.

nbatopshot.com

23/24
7. Thread end

That's it. You reached the end of this thread! πŸ‘πŸ»

Thank you for taking the time to read it. I highly appreciate it!

If you want more content like this, follow me @oliverjumpertz for more content.

I'd love to count you to my online family! πŸ’›

24/24

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with Oliver Jumpertz

Oliver Jumpertz Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @oliverjumpertz

23 Jun
I've developed software for over 21 years now, which is way over half of my lifetime, both professionally and as a hobby.

Here are some of the most valuable lessons I learned along the way.

A thread.
1. You will never know everything

Especially at the beginning, I thought I could learn everything, and I thought this for a good portion of my developer career.

But each time I learned something new, a whole new world of other concepts and techniques opened up.

1/47
It may seem tempting to try and learn it all, but it's a never-ending endeavor.

There will always be another library or framework and another cool thing you could also learn.

2/47
Read 49 tweets
22 Jun
Web 3.0 is the next evolutionary step of the internet and an awesome one, to be honest.

Every web developer, beginner, junior, or senior can and should contribute to it, and it doesn't even take too much effort.

Let's see how. A thread.

1/
If you are still unsure what the term "Web 3" or "Web 3.0" really means, you might want to read this thread first. πŸ‘‡πŸ»



2/
1. Why you should care

The Web is inevitably going to evolve. The question is not if but when this is going to happen.

This process won't happen fast or overnight, though. Instead, it will be a slow transition, nearly unnoticeable.

3/
Read 21 tweets
22 Jun
I've implemented nearly a hundred smart contracts with Solidity during my short blockchain career, but I'm ready to drop Solidity right now if I think about WebAssembly on the blockchain.

Interested to learn more? Let's take a look at what WASM can do for blockchains!

πŸ§΅πŸ‘‡πŸ»

1/
Before we jump in:

If you don't exactly know what WebAssembly is, this thread might help you understand the basics first. πŸ‘‡πŸ»



2/
1. The status quo

The blockchain world is currently divided. There are many languages one can use to develop smart contracts on different blockchains.

3/
Read 22 tweets
21 Jun
I have spent a significant part of my dev career in web development and nothing else excites me more than WebAssembly.

Let me introduce you to the language that will not only change the web but even more.

πŸ§΅πŸ‘‡πŸ»

1/
1. What Is WebAssembly?

WebAssembly (short: Wasm or WASM) is a binary instruction format for a stack-based virtual machine.

It's a byte-code that can be executed and mainly targets the browser and the web (hence the name).

2/
WASM has two formats:

- A binary format that executed by WebAssembly runtimes
- A human-readable text format for debugging purposes

You can convert one to the other and back again.

3/
Read 28 tweets
7 Jun
Here is a collection of visual JavaScript tips and explanations that can help JavaScript developers of any skill level!

πŸ§΅πŸ‘‡πŸ»
The anatomy of a for-loop in JavaScript. πŸ‘‡πŸ»
The anatomy of a while-loop in JavaScript. πŸ‘‡πŸ»
Read 17 tweets
6 Jun
@ashnichrist Hey, Blockchain engineer and crypto investor here.

Sorry for the long answer, but I like to give people deeper information as crypto is both difficult and volatile.

I'd highly recommend you to start with actually finding out what lies below.

1/X

udemy.com/course/blockch…
@ashnichrist After this, the Binance Academy actually has awesome articles that at least touch the surface enough to be of real help.

2/X

academy.binance.com/de
@ashnichrist When you have an idea of what crypto approx. is, I'd start by getting into stable coins first.

Those are coins tied to some real-world value like the dollar or gold.

They aren't volatile, and you can still get pretty good interest rates with them.

3/X
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(