Published on September 11th, 2018 | by Bibhuranjan
08 Things to Know Before You Start Your Blockchain App Development
With Blockchain technology growing in popularity every day, more and more developers are making blockchain based apps.
It removes middle-men, encrypts data and does everything transparently. Thus, far from just facilitating cryptocurrency’s like Bitcoin, the decentralized, distributed ledger can securely distribute data for virtually any purpose.
So, if you’re considering utilizing blockchain for your Decentralized App (Dapp), here’s what you need to know …
1) Know the Problem You’re Solving and How Blockchain can Help
A good Blockchain API, regardless of whether it’s decentralized or not, is one that solves a problem.
Before even thinking of beginning development, you need a clear idea of what the problem is and how your app plans to solve it.
You then need to determine how making it a Dapp improves the solution (i.e. how blockchain will help).
It could be that you don’t need to use blockchain at all. It’s at this beginning stage that you need to make that decision because it’s harder to go back once funding is secured and development has started.
Tip: If you have given up your job to focus on the app and need extra funding to tide you over, you might consider using an online loan matching service.
2) Which Consensus Mechanism?
Decentralization requires all members of the network to verify transactions, but there are different ways that this ‘consensus’ process can be completed. In the beginning, Bitcoin used the ‘proof of work’ method, but over time this has been criticized for being processing intensive and not very efficient.
Alternatives now exist and may replace the original mechanism entirely in the years to come, so it’s important to choose one that is scalable, suits your individual project, but is also likely to be around and adopted by the masses.
Alternative mechanisms include Proof of stake, Proof of Elapsed Time, and Delegated Proof of Stake, among others.
3) The Best Platform
While some developers think big and create their own version of the blockchain from scratch, the easier option is to use open source access to existing platforms and develop your app to use whichever one suits your consensus mechanism.
The current leaders include Ethereum (best for smart contracts), BigChainDB (highly efficient and scalable), Hyperledger Fabric (ideal for enterprise solutions), and Quorum (also highly scalable).
Remember to weigh up the pros and cons of each, but also take note of the talent pool available. You need an experienced team and that might not be possible if you jump into a brand new platform.
4) The Architecture
Hosting you blockchain solution in the cloud is the most efficient option because your team can work from wherever they are based.
You will need to decide on the hardware and configurations (I.e. processors, operating system, memory and disk size etc).
Next, you need to decide how your Blockchain will function:
Permission-less – Like Bitcoin, where anyone has the freedom to be a miner and take part.
Permissioned – Where you use a voting system among approved users.
Private – Where everything functions internally (e.g. a hospital patient management system).
Public –asset-backed cryptocurrencies like Ethereum.
5) Configure Your App
It takes careful planning to configure your Dapp and once you’ve started it’s very difficult to alter. You need to get your consensus mechanism and user permissions right, have a mechanism for asset issuance and reissuance, Atomic Swaps (for exchanging crypto), key management and structure, signatures, address formats—the list goes on.
Fortunately, there are blockchain app development consultants that can guide you through the process if you are completely new to the tech.
6) Developing APIs
There are, of course, open-source APIs to help you with development, but you will also need to build your own for your own requirements. Some areas where an API might be needed include:
Auditing, digital signatures and hashes, generating and pairing keys and addresses, storage and data retrieval, smart contracts (issuances, payment, escrow etc).
7) Admin and User Interfaces
Something that may be more familiar to you is the User Interface and Admin Console. You will need to choose the programming language and create an intuitive design for your team, so everything goes smoothly. It’s certainly worth including analytics at this stage for the best soft-launch experience.
8) Proof of Concept Scaling and Testing
As with any app, you need to do rigorous testing before it goes live so you don’t disappoint your investors and users. This means having a model for scaling.
Using a proof of concept (a workable but not complete app), you can scale and prove that the app will function once you’ve upgraded the UI and packed on the features.
Obvious things to look out for are any performance problems like crashes or latency, glitches with memory or storage, and so on. If you find a problem, fix it then and there so the problem won’t get bigger and costlier.
Blockchain almost certainly has a place in the future and can be applied to many industries and for many purposes. If you think your app could benefit from blockchain technology, then the above tips will set you on the right path.
Are you in the process or have successfully developed a blockchain app? Let us know your experiences in the comments below!