This question already has an answer here:

I was creating a Dapp which will get KYC information from the user, I want to store this data in the blockchain. This data will be accessible through API and it will be used to do KYC process.

In private ethereum, if I try to store the data in smart contracts will it be effective. For each user, I need to store 20 types of data such as name, country, address, social media link, etc.

marked as duplicate by niksmac, flygoing, Achala Dissanayake, Roman Frolov, eth Feb 5 '18 at 21:51

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • In that, they are storing the only hash value in less volume, whereas in my case I need to store a large volume of data in a single contract which leads to exceeds gas limit. – Karthikeyan Thangavel Feb 2 '18 at 13:22
  • 3
    If you're looking at storing large amounts of data, and aren't willing to use something like IPFS, then it might be worth considering why you're using a blockchain in the first place, instead of database. (Might be worth looking at distributed databases? e.g. CouchDB) – Richard Horrocks Feb 2 '18 at 13:59
  • I am using IPFS for storing the documents. I am using the blockchain technology because I need a tamper-proof data. – Karthikeyan Thangavel Feb 3 '18 at 4:24
  • The data you have listed above looks like strings or something that could be converted to bytes32. Are you running out of gas because the way you store the data (i.e. how you implemented your functions) or the amount of data? – Dominik Harz Feb 7 '18 at 9:57
  • Those data are in the format of the string. I have created a struct for each user using mapping function to store the data in the smart contract. – Karthikeyan Thangavel Feb 8 '18 at 4:18