It feels a little cheesy posting an article on how to build a dapp on Ethereum (or any other blockchain) during the crypto winter, but I just can’t help it. Many of you are dreamers, like us—want to see things happen, the lives of others improved, and big bucks way as a reward for all this effort. Is it a good time to start? Of course it is.
Here’s a little dapp tutorial, in case you’re still wondering what dapps are all about.
The backend is based on smart contracts connected, again, to a blockchain of choice. Said connection is made via various plugins, like MetaMask (which Directual supports, btw), for instance.
Just to rehash, smart contracts are addresses not controlled by a private key - they have a code that decides what happens to the inbound transactions instead. Smart contracts are run by thousands of nodes worldwide, so it’s not just a data center entry sitting somewhere quiet.
If anything, dapps are awesome and it’s still an untapped market. Think of Bitcoin back in the day - didn’t seem like much back then, and it’s all the rage, even though the market has seen better days. The sooner you start, the better.
Standard apps and dapps have one similarity: data exchange. Sike! Not really.
Dapps use blockchains to exchange data, and not central servers. It all depends on the blockchain participants, hence the decentralization. No intermediaries.
Both standard apps and dapps look the same visually, and you can spot a dapp if it has crypto tokens you can use. Of course, there are plenty of apps in-between the two, but it’s a general idea. The real differences are all under the hood.
Plenty of benefits. Just to name a few:
As a part of the eat-your-greens part process, it is only natural that nothing is perfect, including our beloved dapps:
Now let’s get into the nitty-gritty of dapps and what they can be. There are three major categories of dapps:
This kind of dapp has its own blockchain. Like Bitcoin, Litecoin, Ethereum, Dash, and many others. That means these apps don’t rely on any other blockchain to operate, because pretty much the entire product runs on itself.
These dapps depend on a blockchain of choice in regards of their functionality. They can have their own tokens connected to a major blockchain. Said tokens can be configured to be used precisely with the dapp itself. We have a similar thing - our D-coins are placed in Ethereum, and can be used to pay for platform features and platform resources.
The bottom step of the latter, Type III dapps utilize other Type II dapps to operate. That may include any functionality Type II dapps have to offer without the need to create said functionality on your own.
A no-brainer approach for blockchain dapp creation is something related to finance. However, it’s by far not all a dapp can achieve.
The benefits of decentralization! No need to fear a power-hungry moderator looking to shut down everything they deem unworthy. The community decides what stays and what goes away.
Influencers also stand to generate more revenue on dapp platforms, as there is no traditional hierarchy of platform owners taking the lion’s share of the profits. Whatever ads you run, you also get a full profit off of them. Social media NFT dapps are getting trendy, too.
One of the most interesting and fast-paced trends. CryptoKitties are a fantastic web3 dapp example of a successful gaming dapp.
Play, get a tokenized asset, which then grows in value, and sold to a willing buyer for a profit. This kind of game solves a lot of different problems at once: the user base is easy to generate (which helps to run the network), coins are in active demand, and it’s all a fun activity!
Pretty much anything can be made possible with gaming dapps, and its horizon definitely worth exploring if you’re into the gaming industry, especially mobile gaming (which has already surpassed every other gaming vertical combined)
Voting is no longer boring or questionable! With smart contracts in hand, a community to reliably vote on a list of proposals within a set time period and stake their votes with tokens. It’s fully anonymous too!
The best thing, it’s properly democratic. No one’s going to tamper with your “ballots”, you can be rewarded for participating, and it actually matters.
Do you use Adblock? I do. Pretty much everyone does unless they are googling something embarrassing via the Incognito mode. Ads are obnoxious, repeating, and uninspired, and we have grown pretty blind to them now.
What’s missing is the reward to the user for spending time even seeing all these ads, and a better system for advertisers and platforms hosting the ads. Users can earn tokens by simply scrolling the website with ads. The advertisers can set linear paybacks to websites with ad placements based on user time spent browsing. It’s all already in there, and it’s all trackable without compromising privacy.
Fundraising is as easy as it can be, with contributions provided by the users to the influencers in just a few clicks, without any strings attached.
This section will be too big if we get into detail. Just a few points: no intermediaries to pay for lenders, complete control over loans, more control over interest rates, instant transactions, no need to confirm transactions with lawyers or compliance staff, I can go on and on and on.
Also, everything is completely secure, and crypto assets are finding more and more accessible ways into the real world. Decentralized currency is the future because as you know, real-life currencies in pretty much all the countries are not backed by anything. It’s all make belief. At least crypto is earned with labor and has some substance to it.
You have finally arrived at the interesting bit of this overly long article! I’ll save you the trouble and explain just the important bits: everything else you’ll learn in the process. Just one thing before you continue:
Just. Start. Don’t fall into analysis paralysis. Try things, and see how they work. Do it right away, in small steps.
Now, the how-to:
It’s not all that complicated unless you really want to make it so. The stack can be quite different based on your idea (plenty to choose from above). You’ll need
In terms of web frontend, anything works. You can start with Directual just as well, and then expand onto other platforms or build it yourself with React.js, Node.js, and Web3.js. In terms of mobile, Swift and React Native are your best bets (unless you’re into cross-platform development - it’s pretty cool and easy!)
Keep in mind what you’ve read above. You pick a blockchain and with its help, utilize a smart contract that executes automatically based on certain conditions.
You will also likely have to look into decentralized features of your dapp, like analytics and APIs.
Regardless of what your smart contract is meant to do (and it could be a lot of things—transactions, algorithms, or something else), you’ll need to pick a blockchain. Ethereum is the most popular bet. Plenty of people already have wallets on Ethereum, but won’t stop you from building a crypto wallet, and the users don’t need to know which blockchain it’s on.
Should your app require a lot of storage, synchronized reporting, or other extra functionality, you should plan ahead and put it onto your project scope. For that, you’ll need a web solution hosted on a server. Yes, not all parts of a dapp must be decentralized.
It’ll help to have an admin portal capable of providing extra features, control over the platform, and other things not included in basic dapps.
Still confused? That’s okay. Start small, and to do that, you can try following a scenario we’ve got in Directual on how a simple wallet can be made and used.
Build up the functionality as you go, but focus on the core first. Don’t fall victim to feature creep and create everything you envision before giving your customers a chance to try your dapp.
You’ll need a decent frontend builder to get started, Directual would be a good bet. You don’t need to go ham with your prototype, so long as it works it’ll do. You can always improve it later.
Plan ahead, however, in terms of how you’d like it to be represented visually. There’s no shame in drawing inspiration from other similar dapps.
It’s also a good idea that smart contract functions may take some time, and a cool animation showing that the operation is in progress goes a long way.
Keep in mind that a great onboarding experience involves users being able to have a look around the app before committing to connecting their wallets or creating accounts.
This is a routine you can’t sweep under the rug. Every new build of your dapp should be thoroughly tested. Frontend testing is a breeze and it’s a standard procedure, however, testing transactions and smart contracts is trickier. You’ll need a testnet to try how things work before deploying.
With API calls and testing your database, in Directual, it’s pretty easy to do - you can use a separate test button to see how things run and if you get the correct response.
The sweetest and the most bitter part (sometimes). Go live with your dapp and start getting feedback from your users. Focus on the feedback received, continue to improve your dapp based on it, and keep learning. This is all pretty basic, I know, but at least you know what you don’t know now. It’s half the battle!
At the end of the day, knowledge is just that: knowledge. It’s nothing if you don’t temper it with experience. If you want to test a web3.0 app idea, make a quick and rough MVP, just enough to show how your product is supposed to work. Ask anyone you know about it, and see what kind of feedback you can get.
The most important thing—don’t give up. Keep trying, improving, and learning.
In case you’d like to ask us anything or you want to learn more about Directual’s web3 capabilities, send us a message at email@example.com.
That’s all, thanks for reading!
Have questions? Visit our facebook group.