Support us on Product Hunt!
valid until March, 15 2021
PRODUCTHUNT
Features
Database and API-builderBack-end scenariosWeb-page builderBlockchain and web3Integrations
Why Directual
For developersFor product ownersFor freelancers and agenciesFor startups
Resources
PricingBlogMerchDocumentationDiscord group
Legal
Terms of servicePrivacy policyBrand assets

Turning a dApp idea into an MVP

← Back to other posts

Ever wondered what steps you need to take to create a dApp? Well, we’ve laid it all for you! Be advised: it’s a long read. Get a cup of something hot and discover what you need to get started.

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.

A dapp’s frontend is based on an HTML or JavaScript web app that interacts with a blockchain, like Ethereum. The web app itself runs on InterPlanetary File System, a peer-to-peer network that makes the whole thing decentralized and distributed. 

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. 

Why should you build a dapp?

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.

What is the difference between a standard app and a dapp?

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.

Pros and cons of a dapp

Plenty of benefits. Just to name a few:

  • Sending money over a dapp is cheap (or free) and instantaneous. No centralized BS, extra fees on top of other fees. All thanks to smart contracts.
  • No personal data leaks. As much as we all like browsing awful memes and cringy updates on Facebook, the platform thrives on selling personal data. A decentralized organization pretty much means your private data is truly private.
  • Bulletproof security. No mainframe to hack means no target for the bad guys to hit. The entire idea of blockchain revolves around unique entries that are nigh-impossible to guess—it would take hundreds of years to even try. 
  • Dapps can be applied to any industry. There are gaming dapps, governance dapps, financial dapps, storage dapps, anything dapps really. The best bit - they all still look and feel the same way a traditional app would look like. 

As a part of the eat-your-greens part process, it is only natural that nothing is perfect, including our beloved dapps:

  • Centralized authority has its benefits that blockchain hasn’t adapted fully yet, like updates. The majority consensus must be reached before an update to the platform can be made. Can’t really say it’s a disadvantage, but it definitely slows things down.
  • Getting past the first stages of growth with a dapp is challenging. For proper operation, you need a proper user base. It’s a p2p network after all! This problem is gone as soon as your dapp gains traction.
  • Accessing dapps for regular users is not all that easy. As of right now, a dapp-supported browser is required to interact. Proper onboarding is a must, until this is less of a problem - which it will be.
  • The functionality of dapps relies on the blockchains they use (see below how this works). That means before the dapp relying on the blockchain can introduce something mindblowing, the blockchain itself must be able to support it.

Types of dapps and their use 

Now let’s get into the nitty-gritty of dapps and what they can be. There are three major categories of dapps:

Type I

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. 

Type II

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.

Sidenote: we built our billing and enabled d-coin exchange on Directual’s no-code functionality itself! 

Type III

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. 

Dapp industries

A no-brainer approach for blockchain dapp creation is something related to finance. However, it’s by far not all a dapp can achieve. 

Social media dapps

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.

Gaming

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)

Governance

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. 

Ads and fundraising

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. 

Finance (duh!)

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. 

How to create a dapp

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:

Tech stack

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

  • Blockchain of choice 
  • Frontends of choice (mobile, web, or both)
  • Feature set of your dapp
  • Development tools compatible with dapp development (not ashamed to say, but Directual is just that)

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!)

Five steps to follow

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. 

Step 1: Smart contracts.

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.

Step 2: Backend

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.

Example ETH wallet scenario in Directual

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. 

Step 3: Frontend

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. 

Step 4: Testing, testing, testing.

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. 

Step 5: Deploy, keep the dapp fresh

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!

Afterword

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 hello@directual.com

That’s all, thanks for reading!

Nikita Navalikhin
September 23, 2022
← Back to other posts

Have questions? Visit our facebook group.

Give Directual a try

Directual is the only no-code development platform which combines flexibility and scalability of traditional coding with modern visual-development approach.