How to make a Decentralized App?

Naveen Saraswat
Sodio Technologies
Published in
8 min readApr 9, 2018

Blockchain has become quite the rage in today’s world. With over 900 Decentralized Apps around already and counting, with each of them set to disrupt specific industries. “How to make a Decentralized App” is something that everyone’s looking the answer for. With the market cap for cryptocurrencies and Blockchain technologies having touched the $800 billion mark, everyone has been looking into how to make a Decentralized App for themselves.

That’s not all.

It is estimated that banks will save about USD 8–12 billion annually if they start utilizing blockchain technologies. In 2017, the average investment in blockchain products and projects was USD 1 million. The global blockchain market is expected to rise to a whopping USD 20 billion by the time 2024 rolls around. Every major company in the world is looking to explore blockchain, and we don’t blame them. The decentralized nature of the tech has everyone talking about it, potentially because it can reinvigorate a feeling of trust and faith in the economy and its dealings.

Originally published on Sodio Tech Blog

Decentralized Apps or DApps are basically solutions implemented in blockchain to various real-world problems, which arise from the constraints of centralization and censorship. The decentralized nature of DApps removes the need for middlemen and intermediaries for transacting purposes on a network, and it is this very fundamental feature that has made DApps such a raging prospect in the tech world.

Some common features that you must keep in mind during your DApp development –

  1. As the name suggests, all application operation records and data must be stored on a public blockchain, accessible to all participants of the network.
  2. The participating entities in the network must adhere to some predecided proof of value protocols, such as Proof of Work currently used by Bitcoin and Ethereum.
  3. Open source. All governance of the app must be done by a consensus of participating entities, and the source code must be available publically.
  4. Participants who successfully carry out proof of value operations must be suitably rewarded by issuing them with new cryptocurrency.

In this article, we provide comprehensive steps for you to create your very own DApp.

DISCLAIMER. We’ve taken the example of a project running on the Ethereum blockchain here, for the sake of simplicity, and because it is currently one of the most popular networks out there. For other platforms, such as Crypti, you can create your own private sidechain on which your app works. Without further ado, let’s get started.

Originally published on Sodio Tech Blog

THE SETUP

Before anything else, planning and organization is important before you kickstart your project to make a DApp on Ethereum Blockchain. Decide on what kind of an application you want to build, what purpose you want it to solve, and on what blockchain will it work. It is important to keep in mind that it is a decentralized app, so the services and storage facilities you choose must also work in a decentralized manner, in accordance with your DApp.

Some of the potential technologies one can look into-

  1. Database and hosting. This includes the blockchain (Ethereum Blockchain, in this case) that you’re going to work on, and also, the file servers and hosting that you’re going to use in order to sustain your DApp. A good example here is IPFS, which is a decentralized file storage system.
  2. Smart contracts. The Smart Contract Languages like Solidity can be used to code smart contracts, and at the frontend, you must look into options to integrate these contracts with your interface.
  3. Domain name and development servers. The domain name can be of a decentralized kind, but mostly it is easier to go with a normal domain hosting service provider.
  4. This is to use the application after development. Again, this is Ethereum Blockchain-only, other options for other platforms do exist. As stated before, we are considering an Ethereum blockchain. As an example, one could consider building apps on the stellar blockchain, to develop financial services which do not include support of wallets such as Metamask.

Also Read: Comprehensive Review of Decentralized Cryptocurrency Exchanges

In the setup phase, you must plan out what sequence of operations you have to carry out. This phase would usually be followed by the coding of smart contracts, frontend app creation, taking the app online and then using the final app. Sure, depending on your needs, you could tinker with the steps, but this is the sequence that we are going to follow.

Once you’ve done all the setting up work…

Originally published on Sodio Tech Blog

SMART CONTRACT CODING

This is one of the most crucial parts of when you set out to make a DApp. Here, you are going to code the contract that is the main working entity of your platform, and it must be done correctly, as people may risk losing real money if this part of the code is vulnerable or glitched.

Now that you are figuring out how to make a Decentralized App, one thing to note here is that this procedure may change over time, with developments and advancements in the future, on the protocol level. Since nothing is static in the world of Blockchain, it would not be wise to take the following information as something that would work, for example, 5 years down the line. However, considering the current protocols and developments, it is certainly what works at this point in time.

A smart contract is one that includes information about the involved parties, the terms of the contract and initiation conditions. The only difference is that smart contracts can get executed automatically, once the terms of the contract are satisfied. The update that a definite smart contract has been executed then is propagated throughout the blockchain network. Analyse your project. Find out what are you trying to achieve through the app, and what exactly must be done from the technical standpoint. Once all this is decided, choose a language, like Solidity, to code your smart contract.

Usually, the process goes like this. For simple make a DApp, node.js is downloaded and then, for instance, if you are looking to work on the Ethereum blockchain, you can install the development framework Truffle, which is followed by installing all the tools and add-ons that you may require for your app. The main solidity contracts file is one with an extension .sol, after preparation of which, you can successfully start to formulate the basis of your app. For other networks like Crypti, one can make use of the interface crypti-cli for DApp development.

CREATING THE FRONTEND

Once you’ve coded in your smart contracts, the next job is to create the frontend for the DApp. Broadly speaking, there are two approaches to consider here-

  1. Interacting with Web 3 on the client side. All interaction with the private keys and user wallet happens on the client side, in, for example, javascript for DApp development. This enables users to implement pages and websites in whatever language they wish, and this provides added security features as well. Users don’t need to relinquish controls of his/her private keys to the service provider.
  2. Interacting with the node on the server side, as you would on the client side. Web 3 provides implementation for languages like javascript and python, and they interact with the ethereum node on the server side locally using JSON-RPC.

For other networks, the node interaction methods may be different. It depends on how the blockchain works, and what policies it uses. After you develop the frontend, you can now connect the smart contract that you coded in the previous step to the frontend of the DApp. The Remix IDE can be used for this purpose, with the contract ABI being used to tell the IDE what features the contract has.

Also read: Why 2018 belongs to Blockchain?

Remix is, again, an Ethereum product. You can find other platforms for your network, if suitable. After you’re done with the “smart contract linking” part of your project to make a DApp, complete and maintain any jobs that may be needed in the frontend development, test the app, and iron out any glitches or bugs that might have crept in.

MAKING THE APP GO LIVE ONLINE

Once all developmental work is completed, all glitches have been ironed out, and your app is ready to make it big on the global online scene, all that remains is to deploy it using a hosting service and making it available for the world in your initiative to make a DApp. When it comes to DApp development. Since the very nature of our app is decentralized, it would make sense to host it on a decentralized file sharing system. IPFS (Interplanetary file system) is one such platform that can provide you free decentralized hosting as long as you want.

Once you install the IPFS app on your machine, a simple set of commands need to be run, to generate peers, to generate hashes for your content, and all that good stuff. Once you publish the content on a network, you’ll get a URL that you can use to view and use your amazing DApp! Congratulations, you have managed to make a Decentralized App which is now successfully online!

Originally published on Sodio Tech Blog

MAINTENANCE

Now that your DApp that you made in Ethereum Blockchain is live, you can perform routine maintenance tasks, but first, you could go for a custom domain in order to give your DApp more of that authenticity and authority about it. Services like GoDaddy will provide you with great solutions to your domain related problems.

Once all is said and done, play with your app, check for any bugs, fix them, and if you’re willing to (and your app works on the Ethereum blockchain), publish it on the main Homestead network! This is all you need to know about making your very own DApp!

SODIO’S CAPABILITIES

Is this all a bit too much for you? Don’t worry, we have you covered.

Sodio’s team of 20+ talented blockchain developers will ensure that you get your own DApp, customized to suit your needs, and competitive enough to deal with the intense competition. We offer development solutions for a variety of needs, and we also develop smart contracts to assist you with your DApp. We’re here to help you with any inquiries you have on your way to make a Decentralized App.

MORE FROM OUR TECH BLOGS:

  1. Difference between Distributed Ledger Technology and Blockchain
  2. Problems in Decentralized Cryptocurrency Exchanges
  3. How to make a Decentralized Cryptocurrency Exchange
  4. How to do a Successful ICO

--

--