17

Now that the source is available I thought I'd bring up the subject of the seed difference between the Trezor and Simplewallet. The Trezor uses 24 words, while Simplewallet uses 24 plus an extra word as a checksum. How compatible are these two seeds? And what needs to be done to convert a simplewallet seed to a Trezor so that people don't need to "sweep" funds to a brand new seed, as well as doing the reverse?

ferretinjapan
  • 6,494
  • 2
  • 19
  • 47

2 Answers2

6

In the experimental binaries, which can be found here, NoodleDoodle included a tool called trezorctl. With this tool you can convert your Trezor mnemonic seed to a mnemonic seed compatible with simplewallet. Thus, using this tool allows you to, after conversion, restore your wallet using simplewallet. The tool works as follows. Note that <word_list> is your 24 word Trezor mnemonic seed. On Linux and Mac OS:

./trezorctl recover_mnemonic <index> <passphrase> <language> <word_list>

On Windows make sure to launch it from the command line. Go to the folder monero-cli-wallet is located and make sure your cursor isn't located on any of the files. Subsequently do SHIFT + right click and it will give you an option to "Open command window here". Lastly, type the following command:

trezorctl.exe recover_mnemonic <index> <passphrase> <language> <word_list>

The default language is English for seeds. Note that simplewallet also supports Spanish, German, Italian, Japanese, Russian, and Portugese. Lastly, the trezorctrl output looks like this:

USAGE: trezorctl recover_mnemonic index passphrase language word_list
            Supported languages:
            English
            Spanish
            German
            Italian
            Portuguese
            Russian
            Japanese
ferretinjapan
  • 6,494
  • 2
  • 19
  • 47
dEBRUYNE
  • 15,227
  • 17
  • 57
  • 114
  • It should be noted that the should start at 0. – ferretinjapan Sep 20 '16 at 20:56
  • So it looks like the production trezorctl and the forked trezorctl commands are very different. Thus, recovery_device is solely meant for BIP 39 recovery words and recover_mnemonic is solely meant for Electrum recovery words. What about taking this to the next level for achieving interoperability between BIP 32/39/44 & Electrum words? see – skaht Sep 22 '16 at 12:10
  • The corresponding simplewallet takes a corresponding index:addr_version, will/could/should addr_version impact the behavior of the command above? – skaht Oct 02 '16 at 03:31
5

I've never owned Trezor so my answer might be irrelevant, but I've studied the code to learn how the Electrum seed phrase is treated in the simplewallet so that I can create my own specific choice of seed phrase.

From lines 216-221 of electrum-words.cpp, with seed_length being set constant to 24, I guess the number of words in the phrase can be either 12, 24, or 25. Line 224 suggests that the 25th word if existent would be treated as a checksum.

So, if Trezor gives you 24 words, I guess you can just put those 24 words (i.e. with no checksum) into simplewallet to restore your wallet. Hope this works.

kenshi84
  • 2,475
  • 1
  • 13
  • 31