We are currently developing an application in Python (Django) using Multichain to control all the transaction and currency related user information.
The transactions we make are pretty simple: getnewaddress, grant, issuemore, getaddressbalances and sendassetfrom. Everything is working fine, however, we have experienced a serious slow down in the response time when increasing the number of adresses in the chain.
To give some numbers we have developed a set of unit tests with the basic functionality of the application:
- Tests completion time without multichain implementation: 80s-100s
- Tests completion time with multichain implemented and 1000 adresses in the wallet: 120s-150s
- Tests completion time with multichain implemented and 60k adresses in the wallet: 800s-1000s
Note that these are the same tests just varying the amount of adresses in the wallet.
Right now we just have one node with all the addresses. What's the maximum addresses a node can hold without degrading its performance? Is it the same as if the adresses were watch only (no private keys in the node)? What's the right architecture to support massive numbers of addresses?
Thank you very much for your time.