-
Notifications
You must be signed in to change notification settings - Fork 418
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A way to bulk generate addresses when restoring wallet. #3363
Comments
@Crypto2 what kind of business case do you have that you need to create about million addresses per day? Why don't you want to use one of our libs or create your own to sign and broadcast transaction using lib, not node? It could be much faster if you are using a library |
I'm not generating millions/day, I said that's how long it takes to restore a wallet if it crashes/corrupts and you have to restore from seed and you had a bunch of addresses in the wallet. There isn't a Waves SDK in my language so I can't use one of them. |
What language do you use? I've tried to restore addresses, it took about 10ms per address. |
PHP, this is over the RPC to the internal wallet. Individual addresses are fast, it's just when you have thousands+ of them it adds up to a lot of time. For example if you had 100,000 addresses * 10 ms = 1,000,000 ms / 60,000 (1 hour) = 16.6 hours. |
deemru wrote a lib for php: https://github.com/deemru/WavesKit 1 hour contains 3600 seconds = 3600000 ms |
That doesn't really help existing systems that use the internal wallet, versus rewriting the whole integration to use a new lib. (When we did the integration Waves was super new and nothing really existed for it yet in PHP.) I can tell you in real-world we have ~1 million addresses and even using multiple threads it took over 24 hours to regenerate the addresses even using the sequence API that supports like 100 at a time. |
Why don't you backup wallet.dat? You can restore file with already created addresses if smth failed. |
When you are restoring a wallet with the RPC there isn't a way I see to regenerate all your addresses except to POST to /addresses in an endless loop that can be hours/days long.
Would be good if there was an RPC to restore up to a specified index, and maybe when you generate an address it returns in the current index as well so that could be stored for later reference.
The text was updated successfully, but these errors were encountered: