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?

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
  • It should be noted that the <index> 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]( monero.stackexchange.com/questions/1523/…) – 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 2 '16 at 3: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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.