I am learning solidity & web3js and am able to make a decent DAPP with it using ReactJS as front end. Most of the online tutorials, online blogs etc - they all show very simple DAPP like this which are easy to explain. But in real life applications should be very complex in nature.

For ex: Lets assume I am creating a dapp in which I am interested in storing user's demographic information as well + additional info.I do not think ethereum is the right place for that.

How to handle such cases?


If it is text information surely you can store it on Ethereum. Represent it the way you want using structs and maps or arrays (whatever you are looking for) and code them in Solidity.

Web3.js is a very useful library to interact with you Ethereum node and invoking smart contracts. You will be able to get a lot of information related to your transactions.

Storing images on the other hand on Ethereum will be costly if that is what you are looking for. If you want to store it on the private chain sure go ahead but the more efficient solution to that is IPFS which you can integrate with the blockchain text data on your DApp.

You can always make complex DApps but your architecture should always cater for what the smart contracts can store.

Depending on what Transaction/second speed you need, you will have to think about Ethereum and handle a lot of load balancing and buffers depending on your use case.

Quorum is a fork of ethereum and is a lot faster so if you are looking to push transactions really fast then Quorum is a good choice. If you already know Ethereum learning Quorum would be not that difficult.

Think about your use cases, think about what Solidity has to offer and IPFS club them using web3js and sky is the limit my friend.


Depends on your requirements:

  1. If you want to guarantee (without any centralized authority) that the data is stored and is accessible, you the best place would be logs and events- it's a cheap storage than the contract memory in the blockchain itself.

  2. If it's all for your app's requirements and you control a given storage (your server, your hdd, user's phone/ browswer) then just store it there. Using a blockchain for everything is just an overkill.

  3. Or as @Smalik suggested, use a local blockchain- but do ask yourself if you really need it? The security of a blockchain doesn't come from its functionalities- if it's private blockchain then it's no more secure than a normal storage with so much complexity and performance issues.


You can use private Blockchain. Otherwise you can use secondary storage for storing actual data and encrypt that data while storing in the block.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.