Closed ukd1 closed 1 week ago
Yes -- walletd
seeds are, to an extent, backwards-compatible with siad
seeds. Specifically, the difference is:
siad:
- convert 28-word phrase into a 32-byte seed
- to derive key n, compute H(seed || n)
walletd:
- convert 12-word phrase into 16 bytes of entropy
- hash 16 bytes into a 32-byte seed
- to derive key n, compute H(seed || n)
So supporting siad
seeds shouldn't require any big architectural changes.
One of the practical problems, though, is that siad
generates tons of addresses. Essentially every transaction will result in at least one new address being generated (to receive the "change output"). There are users out there with tens of thousands of addresses! walletd
's watch-only design means that all of those addresses have to be manually imported, which is slow and resource-intensive. So we want to encourage people to "sweep" the full balance of their siad
seed into a new walletd
address, rather than importing the siad
seed directly. This could be accomplished with a standalone script, similar to https://gist.github.com/lukechampine/e25330d7cc636cd37d4abe4211dedb40
@lukechampine thanks understood, and I'd be a little worried about a standalone script over something built in to the app. Do you think suggesting a sweep inside the app for folks with older seeds would be viable?
yeah, true, should probably be built-in functionality 👍🏻
We are not currently planning to support legacy seeds inside the app because of the additional complexity in scanning for siad
/Sia-UI addresses. This may change in the future, but for now the best path forward is to create a new wallet in walletd
and sweep the funds from the existing wallet.
I have a 28/29 word seed, and it doesn't seem to be supported. Will / can this be addressed so older users can use walletd?