Could you suggest any solution for this issue. I have also tried to save wallet object in database using WalletProtoBuf but i was not able to synchronize wallet and also faced issues like balance mismatch and dead transaction , so i revert back to my previous approach (HashMap).
Based on your reply bitcoinj is not suitable for creating web application . It would be great, if you could able to suggest some solution to solve this issue because we are using bitcoinj in 4 project . 1 project is in production with around 700 users. On Tuesday, November 14, 2017 at 1:00:18 AM UTC+5:30, Andreas Schildbach wrote: > > It's known issue. Bitcoinj is designed around the assumption of approx. > one wallet per device (or at least only a low number). The "webwallet" > usecase has always been excluded. > > > On 11/13/2017 06:32 PM, Ajit Soman wrote: > > I have a java web application. When ever a user signup i create a wallet > > for them. I use the below code to create wallet for user and put that > > wallet object in Map<String,Wallet>. > > > > | > > /** > > * This is the global map that maintain wallet across application. When > ever > > * i have to get balance or make transaction i use wallet object in the > map. > > * > > * The main reason for doing this is that Wallet object in map will > always > > * be in synchronization with the blockchain > > */ > > Map<String,Wallet>applicationWalletMap =newHashMap<String,Wallet>(); > > > > > > publicvoidcreateWalletForUser()throwsIOException{ > > intbits =128; > > SecureRandomrandom =newSecureRandom(); > > DeterministicKeyChaindeterminstickeychain > > =newDeterministicKeyChain(random,bits); > > DeterministicSeedseed =determinstickeychain.getSeed(); > > System.out.println("seed "+seed.getSeedBytes()); > > Walletwallet =Wallet.fromSeed(TestNet3Params.get(),seed); > > ECKeyeckey =newECKey(); > > wallet.importKey(eckey); > > StringfileName =UUID.randomUUID().toString(); > > wallet.saveToFile(newFile("/opt/"+fileName+".dat")); > > System.out.println("Wallet has been created"); > > applicationWalletMap.put(fileName,wallet); > > } > > | > > > > > > > > Also I put all user's synchronized wallet object in > > *applicationWalletMap *when i start web application. > > > > The issue is that when user keep on increasing the size > > of *applicationWalletMap *increases. *This consumes a lot of RAM*. So is > > there is any efficient way to handle this problem. > > > > Thanks in advance > > > > -- > > You received this message because you are subscribed to the Google > > Groups "bitcoinj" group. > > To unsubscribe from this group and stop receiving emails from it, send > > an email to bitcoinj+u...@googlegroups.com <javascript:> > > <mailto:bitcoinj+u...@googlegroups.com <javascript:>>. > > For more options, visit https://groups.google.com/d/optout. > > > -- You received this message because you are subscribed to the Google Groups "bitcoinj" group. To unsubscribe from this group and stop receiving emails from it, send an email to bitcoinj+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.