diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..f5bf49f --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,27 @@ +name: Release + +on: + push: + branches: + - master + +jobs: + pypi-publish: + name: Upload release to PyPI + runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/p/python-slip39 + permissions: + id-token: write # IMPORTANT: this permission is mandatory for trusted publishing + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + - name: Build + run: | + python -m pip install -r requirements-dev.txt + python -m build . + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.gitignore b/.gitignore index d5ab454..01ea447 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ dist/ private_keys images/SLIP-39.iconset .coverage* +/SLIP39-20*.pdf diff --git a/App.org b/App.org index bac3cec..1b391b5 100644 --- a/App.org +++ b/App.org @@ -25,26 +25,28 @@ nil Creating personal Ethereum, Bitcoin and other cryptocurrency accounts is /urgently/ needed, but is complex and fraught with potential for loss of funds. -All Crypto wallets start with a "Seed": a large, random number used to derive all of your actual +All Crypto wallets start with a large, random number "Seed" used to derive all of your actual Bitcoin, Ethereum, etc. wallets. You do not want to try to generate such a Seed by yourself, or trust any hardware/software solution for this -- even us! So, we architected the SLIP-39 App so you /don't need to trust it/. -The best practice for using these Seed-generated wallets is to load this "Seed" (usually in the form -of a 12- or 24-word BIP-39 Phrase) into a secure hardware device, like a [[https://trezor.go2cloud.org/SH1Y][Trezor "Model T"]] or a -(newer, less costly) [[https://affil.trezor.io/SHUD]["Model One"]] hardware wallet. SLIP-39 Mnemonic cards contain the recovery -words, which are typed directly into the Trezor device to recover the Seed, and all of its -cryptocurrency accounts. For the [[https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f][Ledger Nano]] and other hardware wallets supporting only BIP-39 -Mnemonics, you can now use the SLIP-39 App to securely and reliably back up these BIP-39 phrases. - -[[https://github.com/pjkundert/python-slip39/releases/latest][Download the macOS (.pkg) or win32 (.msi) SLIP-39 App]] to generate Mnemonic cards and back up this -Seed, securely and reliably, by distributing Mnemonic cards for the Seed to partners, family and -friends. Also, encrypted "Paper Wallets" can be output, to support software cryptocurrency wallets -such as Metamask, Brave or various mobile-phone and computer-based wallets. - -Later, if you (or your heirs!) need to recover *all* of your cryptocurrency accounts, they can -collect a sufficient threshold of the cards and regain access to all of the cryptocurrency accounts -related to the Seed. +[[https://github.com/pjkundert/python-slip39/releases/latest][Download the macOS (.pkg) or win32 (.msi) SLIP-39 App]] to generate Mnemonic cards to create (or back +up an existing BIP-39) Seed securely and reliably, by distributing Mnemonic cards for recovering the +Seed to partners, family and friends. Also, encrypted "Paper Wallets" can be output, to support +software cryptocurrency wallets such as Metamask, Brave or various mobile-phone and computer-based +wallets. + +The best practice for /using/ these Seed-generated wallets is to load this Seed into a secure +hardware device, like a [[https://affil.trezor.io/SHdv][Trezor Safe 3]] hardware wallet which supports both SLIP-39 and BIP-39 Seeds. +SLIP-39 Mnemonic cards contain the recovery words, which can be typed directly into the Trezor +device to recover the Seed, and all of its cryptocurrency accounts. + +For the [[https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f][Ledger Nano]] and all other hardware wallets supporting /only/ BIP-39 Mnemonics, *you can now +use the SLIP-39 App to securely and reliably /back up/ these fragile BIP-39 Mnemonic phrases*. + +Later, when you (or your heirs!) need to recover *all* of your cryptocurrency accounts, someone can +collect a sufficient threshold of all of the SLIP-39 cards and regain access to all of the +cryptocurrency accounts related to the Seed. #+END_ABSTRACT #+TOC: headlines 2 @@ -60,7 +62,7 @@ related to the Seed. Losing this Seed means that *all* of the HD Wallet accounts derived from it are permanently lost. Therefore, it must be backed up reliably, and be readily accessible. - Therefore, we must: + Therefore, we must /both/: - Ensure that nobody untrustworthy can recover the Seed, but - Store the Seed in many places with several (some perhaps untrustworthy) people. @@ -80,7 +82,7 @@ related to the Seed. #+ATTR_LATEX: :width 4in #+CAPTION: SLIP-39 App - [[./images/slip39.png]] + [[../../images/slip39.png]] ** SLIP-39 Mnemonic Recovery Cards @@ -90,7 +92,7 @@ related to the Seed. Instead, generate a number of SLIP-39 Mnemonic cards, which can be collected to recover the Seed: #+ATTR_LATEX: :width 4in #+CAPTION: SLIP-39 Cards PDF - [[./images/slip39-cards.png]] + [[../../images/slip39-cards.png]] *** Why Not a BIP-39 Mnemonic Phrase? @@ -143,7 +145,7 @@ related to the Seed. #+ATTR_LATEX: :width 4in #+CAPTION: [[https://youtu.be/t70rRr08vBY][SLIP-39 Overview -- BIP-39 Mnemonic Backup]] - [[./images/slip39-overview-youtube.png]] + [[../../images/slip39-overview-youtube.png]] ** Paper Wallets @@ -152,7 +154,7 @@ related to the Seed. #+ATTR_LATEX: :width 4in #+CAPTION: Paper Wallets - [[./images/slip39-wallets.png]] + [[../../images/slip39-wallets.png]] *** Walking-Around Money @@ -181,15 +183,19 @@ related to the Seed. ** Trezor - The [[https://trezor.go2cloud.org/SH1Y][Trezor "Model T"]] hardware wallet has built-in SLIP-39 generation and recovery capability. + The [[https://trezor.go2cloud.org/SHdv][Trezor Safe 3]] hardware wallet has built-in SLIP-39 generation and recovery capability. Enter the words on the SLIP-39 cards directly into the screen of the Trezor to recover your cryptocurrency accounts. #+BEGIN_EXPORT html - + +
+ + + #+END_EXPORT - We recommend the Trezor "Model T" for this reason. No other hardware wallet yet supports direct, + We recommend the Trezor Safe 3 for this reason. No other hardware wallet yet supports direct, on-screen SLIP-39 Seed recovery. If you already have one of the less expensive Trezor wallets that only support BIP-39 backup, we diff --git a/App.pdf b/App.pdf index 21d663d..3f23940 100644 Binary files a/App.pdf and b/App.pdf differ diff --git a/App.txt b/App.txt index 2d7c781..1102f01 100644 --- a/App.txt +++ b/App.txt @@ -12,33 +12,34 @@ Creating personal Ethereum, Bitcoin and other cryptocurrency accounts is /urgently/ needed, but is complex and fraught with potential for loss of funds. -All Crypto wallets start with a "Seed": a large, random number used to +All Crypto wallets start with a large, random number "Seed" used to derive all of your actual Bitcoin, Ethereum, etc. wallets. You do not want to try to generate such a Seed by yourself, or trust any hardware/software solution for this – even us! So, we architected the SLIP-39 App so you /don't need to trust it/. -The best practice for using these Seed-generated wallets is to load this -"Seed" (usually in the form of a 12- or 24-word BIP-39 Phrase) into a -secure hardware device, like a [Trezor "Model T"] or a (newer, less -costly) ["Model One"] hardware wallet. SLIP-39 Mnemonic cards contain -the recovery words, which are typed directly into the Trezor device to -recover the Seed, and all of its cryptocurrency accounts. For the -[Ledger Nano] and other hardware wallets supporting only BIP-39 -Mnemonics, you can now use the SLIP-39 App to securely and reliably back -up these BIP-39 phrases. - [Download the macOS (.pkg) or win32 (.msi) SLIP-39 App] to generate -Mnemonic cards and back up this Seed, securely and reliably, by -distributing Mnemonic cards for the Seed to partners, family and -friends. Also, encrypted "Paper Wallets" can be output, to support -software cryptocurrency wallets such as Metamask, Brave or various -mobile-phone and computer-based wallets. - -Later, if you (or your heirs!) need to recover *all* of your -cryptocurrency accounts, they can collect a sufficient threshold of the -cards and regain access to all of the cryptocurrency accounts related to -the Seed. +Mnemonic cards to create (or back up an existing BIP-39) Seed securely +and reliably, by distributing Mnemonic cards for recovering the Seed to +partners, family and friends. Also, encrypted "Paper Wallets" can be +output, to support software cryptocurrency wallets such as Metamask, +Brave or various mobile-phone and computer-based wallets. + +The best practice for /using/ these Seed-generated wallets is to load +this Seed into a secure hardware device, like a [Trezor Safe 3] hardware +wallet which supports both SLIP-39 and BIP-39 Seeds. SLIP-39 Mnemonic +cards contain the recovery words, which can be typed directly into the +Trezor device to recover the Seed, and all of its cryptocurrency +accounts. + +For the [Ledger Nano] and all other hardware wallets supporting /only/ +BIP-39 Mnemonics, *you can now use the SLIP-39 App to securely and +reliably /back up/ these fragile BIP-39 Mnemonic phrases*. + +Later, when you (or your heirs!) need to recover *all* of your +cryptocurrency accounts, someone can collect a sufficient threshold of +all of the SLIP-39 cards and regain access to all of the cryptocurrency +accounts related to the Seed. Table of Contents ───────────────── @@ -55,16 +56,14 @@ Table of Contents 3. Privacy Policy -[Trezor "Model T"] +[Download the macOS (.pkg) or win32 (.msi) SLIP-39 App] + -["Model One"] +[Trezor Safe 3] [Ledger Nano] -[Download the macOS (.pkg) or win32 (.msi) SLIP-39 App] - - 1 Security with Availability ════════════════════════════ @@ -80,7 +79,7 @@ Table of Contents from it are permanently lost. Therefore, it must be backed up reliably, and be readily accessible. - Therefore, we must: + Therefore, we must /both/: • Ensure that nobody untrustworthy can recover the Seed, but • Store the Seed in many places with several (some perhaps @@ -104,7 +103,7 @@ Table of Contents store in different locations. If you lose some of them, you can still recover the BIP-39 recovery phrase! - <./images/slip39.png> + <../../images/slip39.png> [SLIP-39 App] @@ -119,7 +118,7 @@ Table of Contents Instead, generate a number of SLIP-39 Mnemonic cards, which can be collected to recover the Seed: - <./images/slip39-cards.png> + <../../images/slip39-cards.png> 1.2.1 Why Not a BIP-39 Mnemonic Phrase? @@ -160,6 +159,37 @@ Table of Contents exposed to this risk of loss. +1.2.3 Recovering your BIP-39 Seed Phrase +╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ + + If you already have a BIP-39 Mnemonic, and would like back it up using + SLIP-39 for more security and recovery reliability, you can use the + SLIP-39 App's Backup Controls to do so. After you create your Seed + Data (or enter an existing BIP-39 Seed Phrase), select "Using BIP-39". + This will generate a set of SLIP-39 Mnemonic Cards that *backs up your + existing BIP-39 Seed Phrase*. + + Later, when you need to recover your BIP-39 Mnemonic (say, to + initialize a fresh replacement Ledger hardware wallet), use the + SLIP-39 App, select the Recover Controls, and enter sufficient SLIP-39 + card Mnemonics – and click "Using BIP-39" to reveal your original + BIP-39 Seed Phrase. Then, proceed with Ledger wallet recovery as + normal, using the BIP-39 Mnemonic. + + This may not /seem/ like an impressive feat. But, it is unexpectedly + important and powerful! Your existing BIP-39 Seed Phrase is + *extremely* risky; it can /easily/ be lost or stolen. By using + SLIP-39 to Backup your BIP-39 Seed Phrase, you can distribute the safe + and reliable SLIP-39 Mnemonic cards to friends and family, and reduce + the risks of theft or loss of your critical cryptocurrency accounts + Seed data. + + Learn how to use the SLIP-39 App to "back up" your BIP-39 Mnemonic + Phrase: + + <../../images/slip39-overview-youtube.png> + + 1.3 Paper Wallets ───────────────── @@ -167,7 +197,7 @@ Table of Contents software crypto wallets (eg. Metamask, Brave or various mobile- and computer-based wallets): - <./images/slip39-wallets.png> + <../../images/slip39-wallets.png> 1.3.1 Walking-Around Money @@ -206,12 +236,12 @@ Table of Contents 2.1 Trezor ────────── - The [Trezor "Model T"] hardware wallet has built-in SLIP-39 generation + The [Trezor Safe 3] hardware wallet has built-in SLIP-39 generation and recovery capability. Enter the words on the SLIP-39 cards directly into the screen of the Trezor to recover your cryptocurrency accounts. - We recommend the Trezor "Model T" for this reason. No other hardware + We recommend the Trezor Safe 3 for this reason. No other hardware wallet yet supports direct, on-screen SLIP-39 Seed recovery. If you already have one of the less expensive Trezor wallets that only @@ -220,7 +250,7 @@ Table of Contents traditional hardware wallets. -[Trezor "Model T"] +[Trezor Safe 3] 2.2 Ledger @@ -245,31 +275,6 @@ Table of Contents [Ledger Nano X] -2.2.1 Recovering your BIP-39 Seed Phrase -╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ - - If you already have a BIP-39 Mnemonic, and would like back it up using - SLIP-39 for more security and recovery reliability, you can use the - SLIP-39 App's Backup Controls to do so. After you create your Seed - Data (or enter an existing BIP-39 Seed Phrase), select "Using BIP-39". - This will generate a set of SLIP-39 Mnemonic Cards that *backs up your - existing BIP-39 Seed Phrase*. - - Later, when you need to recover your BIP-39 Mnemonic (say, to - initialize a fresh replacement Ledger hardware wallet), use the - SLIP-39 App, select the Recover Controls, and enter sufficient SLIP-39 - card Mnemonics – and click "Using BIP-39" to reveal your original - BIP-39 Seed Phrase. Then, proceed with Ledger wallet recovery as - normal, using the BIP-39 Mnemonic. - - This may not /seem/ like an impressive feat. But, it is unexpectedly - important and powerful! Your existing BIP-39 Seed Phrase is - *extremely* risky; it can /easily/ be lost or stolen. By using - SLIP-39 to Backup your BIP-39 Seed Phrase, you can distribute the safe - and reliable SLIP-39 Mnemonic cards to friends and family, and reduce - the risks of theft or loss of your critical cryptocurrency accounts - Seed data. - 2.3 Netcoins.app ──────────────── diff --git a/GNUmakefile b/GNUmakefile index aba851c..129e570 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -47,7 +47,7 @@ CXFREEZE_EXT ?= win-$(CXFREEZE_ARCH)-$(CXFREEZE_VER) #SIGNTOOL ?= "/c/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86" SIGNTOOL ?= "c:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\signtool.exe" -NIX_OPTS ?= --pure +NIX_OPTS ?= # --pure # PY[3] is the target Python interpreter; require 3.11+. Detect if it is named python3 or python. PY3 ?= $(shell python3 --version >/dev/null 2>&1 && echo python3 || echo python ) @@ -225,8 +225,8 @@ $(WHEEL): FORCE install: $(WHEEL) FORCE $(PY3) -m pip install --force-reinstall $<[all] -install-tests: - $(PY3) -m pip install --upgrade -r requirements-tests.txt +install-%: # ...-dev, -tests + $(PY3) -m pip install --upgrade -r requirements-$*.txt # Building / Signing / Notarizing and Uploading the macOS or win32 App # o TODO: no signed and notarized package yet accepted for upload by macOS App Store diff --git a/README.org b/README.org index efa8ac4..b08558c 100644 --- a/README.org +++ b/README.org @@ -51,8 +51,8 @@ sets of 20 words is difficult, error-prone and time consuming. this program*) and the PDF saved to a USB drive for printing (or directly printed without the file being saved to disk.). Presently, =slip39= can output example ETH, BTC, LTC, DOGE, BSC, and XRP addresses derived from the seed, to /illustrate/ what accounts are associated with the backed-up - seed. Recovery of the seed to a [[https://trezor.go2cloud.org/SH1Y][Trezor "Model T"]] or a (newer, less costly) [[https://affil.trezor.io/SHUD]["Model One"]] is simple, - by entering the mnemonics right on the device. + seed. Recovery of the seed to a [[https://trezor.go2cloud.org/SHdf][Trezor Safe 3]] is simple, by entering the mnemonics right on the + device. We also support the backup of existing insecure and unreliable 12- or 24-word BIP-39 Mnemonic Phrases as SLIP-39 Mnemonic cards, for existing BIP-39 hardware wallets like the [[https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f][Ledger Nano]], @@ -236,7 +236,7 @@ python3 -m slip39.recovery --using-bip39 \ Run the following to obtain a PDF file containing business cards with the default SLIP-39 groups for a new account Seed named "Personal" (usable with any hardware wallet with SLIP-39 support, - such as the Trezor "Model T") ; insert a USB drive to collect the output, and run: + such as the Trezor Safe) ; insert a USB drive to collect the output, and run: #+LATEX: {\scriptsize #+BEGIN_EXAMPLE @@ -595,9 +595,8 @@ python3 -m slip39.recovery --help 2>&1 | sed 's/^/: /' # (just fo : python3 -m slip39 --secret = "ab04...7f" : : SLIP-39 Mnemonics may be encrypted with a passphrase; this is *not* Ledger-compatible, so it rarely - : recommended! Typically, on a Trezor "Model T", you recover using your SLIP-39 Mnemonics, and then - : use the "Hidden wallet" feature (passwords entered on the device) to produce alternative sets of - : accounts. + : recommended! Typically, on a Trezor, you recover using your SLIP-39 Mnemonics, and then use the + : "Hidden wallet" feature (passwords entered on the device) to produce alternative sets of accounts. : : BIP-39 Mnemonics can be backed up as SLIP-39 Mnemonics, in two ways: : @@ -1603,8 +1602,8 @@ slip39_eth_hd = slip39.account( recseed, 'ETH', path ) The second "Best Recovery: Using Recovered BIP-39 Mnemonic Phrase" allows us to recover the accounts to /any/ standard BIP-39 hardware wallet! However, the SLIP-39 Mnemonics are *not* - compatible with standard SLIP-39 wallets like the Trezor "Model T" -- you have to use the - recovered BIP-39 Mnemonic phrase to recover the hardware wallet. + compatible with standard SLIP-39 wallets like the Trezor -- you have to use the recovered BIP-39 + Mnemonic phrase to recover the hardware wallet. *** Emergency Recovery: Using Recovered Paper Wallets @@ -1677,7 +1676,7 @@ slip39_eth_hd = slip39.account( recseed, 'ETH', path ) - Preserves all of the original wallets But: - - The 59-word SLIP-39 Mnemonics cannot (yet) be imported into the Trezor "Model T" + - The 59-word SLIP-39 Mnemonics cannot (yet) be imported into the Trezor - The original BIP-39 Mnemonic phrase cannot be recovered, for any hardware wallet - Must use the SLIP-39 App to generate "Paper Wallets", to recover the funds @@ -2311,13 +2310,14 @@ f"MultiPayoutERC20 Contract & Forwarder Details:\n\n{mp}\n\n" : $ PY3=python3.12 make venv : ... : (python-slip39-13.0.0-usr-darwin-cpython-312) bash-3.2$ - and using [[https://www.python.org/downloads/][the official python.org/downloads installer]]. It is also supported under Nix (optionally - prefixed with a =TARGET\=py310= and/or =NIX_OPTS\=""= to avoid --pure and gain access to locally - installed applications like emacs, but using the nix-supplied Python3 interpreter): + and using [[https://www.python.org/downloads/][the official python.org/downloads installer]]. + + It is also supported under Nix (optionally prefixed with eg. =TARGET\=py310=): : $ make nix-venv : ... : *** Activating /Users/perry/src/python-slip39-13.0.0-nix-darwin-cpython-312 VirtualEnv for Interactive /bin/bash : (python-slip39-13.0.0-nix-darwin-cpython-312) Perrys-MBP:python-slip39 perry$ + The Nix installation is probably the recommended approach for macOS and Linux. Either of these methods will get you a =python3= executable running version 3.12+, usable for running the =slip39= module, and the =slip39.gui= GUI. diff --git a/README.pdf b/README.pdf index 3ae2653..7a13c44 100644 Binary files a/README.pdf and b/README.pdf differ diff --git a/README.txt b/README.txt index 6d3164f..23835fb 100644 --- a/README.txt +++ b/README.txt @@ -80,8 +80,8 @@ Table of Contents to disk.). Presently, `slip39' can output example ETH, BTC, LTC, DOGE, BSC, and XRP addresses derived from the seed, to /illustrate/ what accounts are associated with the backed-up seed. Recovery of the - seed to a [Trezor "Model T"] or a (newer, less costly) ["Model One"] - is simple, by entering the mnemonics right on the device. + seed to a [Trezor Safe 3] is simple, by entering the mnemonics right + on the device. We also support the backup of existing insecure and unreliable 12- or 24-word BIP-39 Mnemonic Phrases as SLIP-39 Mnemonic cards, for @@ -109,9 +109,7 @@ Table of Contents [derivation path] -[Trezor "Model T"] - -["Model One"] +[Trezor Safe 3] [Ledger Nano] @@ -137,7 +135,7 @@ Table of Contents │ slip39 --secret "seven replace great luggage fox rent general tower guess inside smile sing" └──── - SLIP39-2024-11-15+16.29.46-ETH-0x6E6268F14B922cb924C7683A415B30C2bf967000.pdf + SLIP39-2024-11-18+07.08.50-ETH-0x6E6268F14B922cb924C7683A415B30C2bf967000.pdf <./images/SLIP39-backup-BIP39.png> @@ -305,7 +303,7 @@ Table of Contents Run the following to obtain a PDF file containing business cards with the default SLIP-39 groups for a new account Seed named "Personal" (usable with any hardware wallet with SLIP-39 support, such as the - Trezor "Model T") ; insert a USB drive to collect the output, and run: + Trezor Safe) ; insert a USB drive to collect the output, and run: ┌──── │ $ python3 -m pip install slip39 # Install slip39 in Python3 @@ -371,14 +369,14 @@ Table of Contents └──── ┌──── - │ 2024-11-15 16:29:48 slip39 It is recommended to not use '-s|--secret '; specify '-' to read from input - │ 2024-11-15 16:29:48 slip39 It is recommended to not use '-w|--wallet '; specify '-' to read from input - │ 2024-11-15 16:29:48 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 25679 requiring 2 of 4 (extendable) groups to recover - │ 2024-11-15 16:29:48 slip39.layout ETH m/44'/60'/0'/0/0 : 0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1 - │ 2024-11-15 16:29:48 slip39.layout BTC m/84'/0'/0'/0/0 : bc1q9yscq3l2yfxlvnlk3cszpqefparrv7tk24u6pl - │ 2024-11-15 16:29:48 slip39.layout DOGE m/44'/3'/0'/0/0 : DN8PNN3dipSJpLmyxtGe4EJH38EhqF8Sfy - │ 2024-11-15 16:29:48 slip39.layout LTC m/84'/2'/0'/0/0 : ltc1qe5m2mst9kjcqtfpapaanaty40qe8xtusmq4ake - │ 2024-11-15 16:29:53 slip39.layout Writing SLIP39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-15+16.29.51-ETH-0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1.pdf + │ 2024-11-18 07:08:52 slip39 It is recommended to not use '-s|--secret '; specify '-' to read from input + │ 2024-11-18 07:08:52 slip39 It is recommended to not use '-w|--wallet '; specify '-' to read from input + │ 2024-11-18 07:08:52 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 15209 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-18 07:08:52 slip39.layout ETH m/44'/60'/0'/0/0 : 0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1 + │ 2024-11-18 07:08:52 slip39.layout BTC m/84'/0'/0'/0/0 : bc1q9yscq3l2yfxlvnlk3cszpqefparrv7tk24u6pl + │ 2024-11-18 07:08:52 slip39.layout DOGE m/44'/3'/0'/0/0 : DN8PNN3dipSJpLmyxtGe4EJH38EhqF8Sfy + │ 2024-11-18 07:08:52 slip39.layout LTC m/84'/2'/0'/0/0 : ltc1qe5m2mst9kjcqtfpapaanaty40qe8xtusmq4ake + │ 2024-11-18 07:08:58 slip39.layout Writing SLIP39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-18+07.08.55-ETH-0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1.pdf └──── @@ -398,9 +396,9 @@ Table of Contents └──── ┌──── - │ 2024-11-15 16:29:53 slip39.recovery Recovered 128-bit Encrypted SLIP-39 Seed Entropy using 2 groups comprising 2 mnemonics - │ 2024-11-15 16:29:53 slip39.recovery Seed decoded from SLIP-39 Mnemonics w/ no passphrase - │ 2024-11-15 16:29:53 slip39.recovery Recovered SLIP-39 secret; To re-generate SLIP-39 wallet, send it to: python3 -m slip39 --secret - + │ 2024-11-18 07:08:59 slip39.recovery Recovered 128-bit Encrypted SLIP-39 Seed Entropy using 2 groups comprising 2 mnemonics + │ 2024-11-18 07:08:59 slip39.recovery Seed decoded from SLIP-39 Mnemonics w/ no passphrase + │ 2024-11-18 07:08:59 slip39.recovery Recovered SLIP-39 secret; To re-generate SLIP-39 wallet, send it to: python3 -m slip39 --secret - │ ffffffffffffffffffffffffffffffff └──── @@ -419,13 +417,13 @@ Table of Contents └──── ┌──── - │ 2024-11-15 16:29:54 slip39 It is recommended to not use '-w|--wallet '; specify '-' to read from input - │ 2024-11-15 16:29:54 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 22452 requiring 2 of 4 (extendable) groups to recover - │ 2024-11-15 16:29:54 slip39.layout ETH m/44'/60'/0'/0/0 : 0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1 - │ 2024-11-15 16:29:54 slip39.layout BTC m/84'/0'/0'/0/0 : bc1q9yscq3l2yfxlvnlk3cszpqefparrv7tk24u6pl - │ 2024-11-15 16:29:54 slip39.layout DOGE m/44'/3'/0'/0/0 : DN8PNN3dipSJpLmyxtGe4EJH38EhqF8Sfy - │ 2024-11-15 16:29:54 slip39.layout LTC m/84'/2'/0'/0/0 : ltc1qe5m2mst9kjcqtfpapaanaty40qe8xtusmq4ake - │ 2024-11-15 16:29:59 slip39.layout Writing SLIP39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-15+16.29.57-ETH-0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1.pdf + │ 2024-11-18 07:09:00 slip39 It is recommended to not use '-w|--wallet '; specify '-' to read from input + │ 2024-11-18 07:09:00 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 3510 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-18 07:09:00 slip39.layout ETH m/44'/60'/0'/0/0 : 0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1 + │ 2024-11-18 07:09:00 slip39.layout BTC m/84'/0'/0'/0/0 : bc1q9yscq3l2yfxlvnlk3cszpqefparrv7tk24u6pl + │ 2024-11-18 07:09:00 slip39.layout DOGE m/44'/3'/0'/0/0 : DN8PNN3dipSJpLmyxtGe4EJH38EhqF8Sfy + │ 2024-11-18 07:09:00 slip39.layout LTC m/84'/2'/0'/0/0 : ltc1qe5m2mst9kjcqtfpapaanaty40qe8xtusmq4ake + │ 2024-11-18 07:09:06 slip39.layout Writing SLIP39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-18+07.09.04-ETH-0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1.pdf └──── @@ -540,8 +538,9 @@ Table of Contents │ -v, --verbose Display logging information. │ -q, --quiet Reduce logging output. │ -o OUTPUT, --output OUTPUT - │ Output PDF to file or '-' (stdout); formatting w/ - │ name, date, time, crypto, path, address allowed + │ Output PDF to file or '-' (stdout: use -q!); + │ formatting w/ name, date, time, crypto, path, address + │ allowed │ -t THRESHOLD, --threshold THRESHOLD │ Number of groups required for recovery (default: half │ of groups, rounded up) @@ -634,13 +633,13 @@ Table of Contents └──── ┌──── - │ 2024-11-15 16:30:01 slip39 It is recommended to not use '-s|--secret '; specify '-' to read from input - │ 2024-11-15 16:30:01 slip39 It is recommended to not use '-w|--wallet '; specify '-' to read from input - │ 2024-11-15 16:30:01 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 17844 requiring 2 of 4 (extendable) groups to recover - │ 2024-11-15 16:30:01 slip39.layout ETH m/44'/60'/0'/0/0 : 0xb44A2011A99596671d5952CdC22816089f142FB3 - │ 2024-11-15 16:30:01 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qcupw7k8enymvvsa7w35j5hq4ergtvus3zk8a8s - │ 2024-11-15 16:30:05 slip39.layout Writing SLIP39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-15+16.30.04-ETH-0xb44A2011A99596671d5952CdC22816089f142FB3.pdf - │ SLIP39-2024-11-15+16.30.04-ETH-0xb44A2011A99596671d5952CdC22816089f142FB3.pdf + │ 2024-11-18 07:09:08 slip39 It is recommended to not use '-s|--secret '; specify '-' to read from input + │ 2024-11-18 07:09:08 slip39 It is recommended to not use '-w|--wallet '; specify '-' to read from input + │ 2024-11-18 07:09:08 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 17235 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-18 07:09:08 slip39.layout ETH m/44'/60'/0'/0/0 : 0xb44A2011A99596671d5952CdC22816089f142FB3 + │ 2024-11-18 07:09:08 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qcupw7k8enymvvsa7w35j5hq4ergtvus3zk8a8s + │ 2024-11-18 07:09:13 slip39.layout Writing SLIP39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-18+07.09.12-ETH-0xb44A2011A99596671d5952CdC22816089f142FB3.pdf + │ SLIP39-2024-11-18+07.09.12-ETH-0xb44A2011A99596671d5952CdC22816089f142FB3.pdf └──── @@ -687,9 +686,8 @@ Table of Contents │ python3 -m slip39 --secret = "ab04...7f" │ │ SLIP-39 Mnemonics may be encrypted with a passphrase; this is *not* Ledger-compatible, so it rarely - │ recommended! Typically, on a Trezor "Model T", you recover using your SLIP-39 Mnemonics, and then - │ use the "Hidden wallet" feature (passwords entered on the device) to produce alternative sets of - │ accounts. + │ recommended! Typically, on a Trezor, you recover using your SLIP-39 Mnemonics, and then use the + │ "Hidden wallet" feature (passwords entered on the device) to produce alternative sets of accounts. │ │ BIP-39 Mnemonics can be backed up as SLIP-39 Mnemonics, in two ways: │ @@ -725,13 +723,13 @@ Table of Contents └──── ┌──── - │ 2024-11-15 16:30:06 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 7106 requiring 2 of 4 (extendable) groups to recover - │ 2024-11-15 16:30:06 slip39.layout ETH m/44'/60'/0'/0/0 : 0xB55809B9a16Ff36F5a83a036a6Ff569f6BB05bFb - │ 2024-11-15 16:30:06 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qfqu0lu0ugug8mc9ylcfxnqnpqqgpjrx872l53e + │ 2024-11-18 07:09:15 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 25922 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-18 07:09:15 slip39.layout ETH m/44'/60'/0'/0/0 : 0x63ec7a15Df6bA4f1eb8965E21B3eC9D9fc6D78B5 + │ 2024-11-18 07:09:15 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qqxtvd5fndxe00hj30z4v7z37t4gxdswk0luv9r │ ...later, after recovering SLIP-39 mnemonics... - │ 2024-11-15 16:30:07 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 16546 requiring 2 of 4 (extendable) groups to recover - │ 2024-11-15 16:30:07 slip39.layout ETH m/44'/60'/0'/0/0 : 0xB55809B9a16Ff36F5a83a036a6Ff569f6BB05bFb - │ 2024-11-15 16:30:07 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qfqu0lu0ugug8mc9ylcfxnqnpqqgpjrx872l53e + │ 2024-11-18 07:09:16 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 15824 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-18 07:09:16 slip39.layout ETH m/44'/60'/0'/0/0 : 0x63ec7a15Df6bA4f1eb8965E21B3eC9D9fc6D78B5 + │ 2024-11-18 07:09:16 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qqxtvd5fndxe00hj30z4v7z37t4gxdswk0luv9r └──── @@ -752,12 +750,12 @@ Table of Contents └──── ┌──── - │ 2024-11-15 16:30:07 slip39 Assuming BIP-39 seed entropy: Ensure you recover and use via a BIP-39 Mnemonic - │ 2024-11-15 16:30:07 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 32545 requiring 2 of 4 (extendable) groups to recover - │ 2024-11-15 16:30:07 slip39.layout ETH m/44'/60'/0'/0/0 : 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E - │ 2024-11-15 16:30:07 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 - │ 2024-11-15 16:30:10 slip39.layout Writing SLIP39 backup for BIP-39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-15+16.30.10-ETH-0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E.pdf - │ SLIP39-2024-11-15+16.30.10-ETH-0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E.pdf + │ 2024-11-18 07:09:17 slip39 Assuming BIP-39 seed entropy: Ensure you recover and use via a BIP-39 Mnemonic + │ 2024-11-18 07:09:17 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 31527 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-18 07:09:17 slip39.layout ETH m/44'/60'/0'/0/0 : 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E + │ 2024-11-18 07:09:17 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 + │ 2024-11-18 07:09:20 slip39.layout Writing SLIP39 backup for BIP-39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-18+07.09.20-ETH-0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E.pdf + │ SLIP39-2024-11-18+07.09.20-ETH-0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E.pdf └──── @@ -911,11 +909,11 @@ Table of Contents ┌──── │ │ - │ nonce: ee87db0f19b38228124c987533d4a3733d2973e139d83467827abb9f - │ 0: 56b1262d4c53ab532bb1b6d93a9164faf8b016812ee65f31c27a984c9d5d45a56a6b0f2e518c6030df98bdd3bc910... - │ 1: b930496e5460c309f37f08b0b1c546b43ff6935cc21e038958d73d1a6aaa5c85422f72f7665df115c319539310d49... - │ 2: 7a949d2840ed2fa3d6c0f2f13e92fae40b9fba0ac13fe6ec6582f9f53d5dbe97dcdc92041d8da0fb499c1210a5475... - │ 3: 1bf6beb40264633cee14ccb1c475e69416c57ae226d28920e9350bca3220d5ab7dadb9e96ea0b188605c2cf2839f0... + │ nonce: 325acfbf3180635a1f096e8679977a70b7704fc222010522b4cd8660 + │ 0: 79880c8d8cf650fe68af9da3a92cb4eb7229fd405fd7086abed948f6a2c7c7617ffcf1bad6ce4c78240541bcaf2a6... + │ 1: 60e6e208b91b13b752a06b6e52d2ac99315fd72de237939b3a42677de50ac4abe32038e3dce1d56f438e831599dd1... + │ 2: 2db8e9235c5ce62092061929dfca774344ed9e476561bb739a5d2687c356970cd2998a49c9fce183a6c1134c659ad... + │ 3: f05b465d4bc42c60b29044bcdb71e24e93f51a145dc1c08c968e48ce025d567cf5e94879def43b30b192019e886c2... └──── @@ -956,7 +954,7 @@ Table of Contents └──── ┌──── - │ 2024-11-15 16:30:20 slip39.generator Decrypting accountgroups with nonce: 48c13fd608ba53ebb31f66f8 + │ 2024-11-18 07:09:32 slip39.generator Decrypting accountgroups with nonce: acff9300ce141ad85c9ea0fb │ 0: [["ETH", "m/44'/60'/0'", "xpub6C2y6te3rtGg9SspDDFbjGEgn7yxc5ZzzkBk62yz3GRKvuqdaMDS7NUbesTJ44FprxAE7hvm5ZQjDMbYWehdJQsyBCP3mL87nnB4cB47HGS"], ["BTC", "m/84'/0'/0'", "zpub6rD5AGSXPTDMSnpmczjENMT3NvVF7q5MySww6uxitUsBYgkZLeBywrcwUWhW5YkeY2aS7xc45APPgfA6s6wWfG2gnfABq6TDz9zqeMu2JCY"]] │ 1: [["ETH", "m/44'/60'/1'", "xpub6C2y6te3rtGgCPb4Gi89Qin7Da2dvnnHSuR9rLQV6bWQKiyfKyjtVzr2n9mKmTEHzr4rzK78LmdSXLSzvpZqVs4ussUU8NyXpt9nWWbKG3C"], ["BTC", "m/84'/0'/1'", "zpub6rD5AGSXPTDMUaSe3aGDqWk4uMTwcrFwytkKuDGmi3ofUkJ4dQxXHZwiXWbHHrELJAor8xGs61F8sbKS2JdQkLZRnu5PGktmr6F32nEBUBb"]] │ 2: [["ETH", "m/44'/60'/2'", "xpub6C2y6te3rtGgENnaK62SyPawqKvbde17wc2ndMGFWi2yAkk3piwEY9QK8egtE9ye9uoqiqs5WV3MTNCCP2qjUNDb8cmSg4ZsVnwQnkziXVh"], ["BTC", "m/84'/0'/2'", "zpub6rD5AGSXPTDMYx2sQPuZgceniniRXDK5tELiREjxfSGJENNxuQD3u2yfpRqnNE1JeH14Pa7MVGrofDJtyXw252ws9HgRcd82X2M4KzkUfpZ"]] @@ -978,7 +976,7 @@ Table of Contents └──── ┌──── - │ 2024-11-15 16:30:21 slip39.generator Decrypting accountgroups with nonce: 5edae746e01d847b968e68c7 + │ 2024-11-18 07:09:33 slip39.generator Decrypting accountgroups with nonce: ada2fca9ee75f3bad98c5c2e │ --- 0 │ ["ETH","m/44'/60'/0'","xpub6C2y6te3rtGg9SspDDFbjGEgn7yxc5ZzzkBk62yz3GRKvuqdaMDS7NUbesTJ44FprxAE7hvm5ZQjDMbYWehdJQsyBCP3mL87nnB4cB47HGS"] │ ["BTC","m/84'/0'/0'","zpub6rD5AGSXPTDMSnpmczjENMT3NvVF7q5MySww6uxitUsBYgkZLeBywrcwUWhW5YkeY2aS7xc45APPgfA6s6wWfG2gnfABq6TDz9zqeMu2JCY"] @@ -1008,7 +1006,7 @@ Table of Contents └──── ┌──── - │ 2024-11-15 16:30:22 slip39.generator Decrypting accountgroups with nonce: d1315a4ba88dc51e6f259c4e + │ 2024-11-18 07:09:34 slip39.generator Decrypting accountgroups with nonce: faaedc29cb5ff625ecd2beb4 │ --- 0 │ ETH m/0/0 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E │ ETH m/0/1 0xd1a7451beB6FE0326b4B78e3909310880B781d66 @@ -1514,8 +1512,8 @@ Table of Contents └──── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - Valid random 12-word mnemonics: 6.3% - Or, about: 1 / 15.9 + Valid random 12-word mnemonics: 6.01% + Or, about: 1 / 16.6 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Sure enough, about 1/16 random 12-word phrases are valid BIP-39 mnemonics. OK, we've got the contents of the BIP-39 phrase dialed in. @@ -1747,8 +1745,8 @@ Table of Contents The second "Best Recovery: Using Recovered BIP-39 Mnemonic Phrase" allows us to recover the accounts to /any/ standard BIP-39 hardware wallet! However, the SLIP-39 Mnemonics are *not* compatible with - standard SLIP-39 wallets like the Trezor "Model T" – you have to use - the recovered BIP-39 Mnemonic phrase to recover the hardware wallet. + standard SLIP-39 wallets like the Trezor – you have to use the + recovered BIP-39 Mnemonic phrase to recover the hardware wallet. 4.3.1 Emergency Recovery: Using Recovered Paper Wallets @@ -1775,9 +1773,9 @@ Table of Contents │ ) 2>&1 └──── ┌──── - │ 2024-11-15 16:30:36 slip39.recovery BIP-39 Language detected: english - │ 2024-11-15 16:30:36 slip39.recovery Recovered 512-bit BIP-39 secret from english mnemonic - │ 2024-11-15 16:30:36 slip39.recovery Recovered BIP-39 secret; To re-generate SLIP-39 wallet, send it to: python3 -m slip39 --secret - + │ 2024-11-18 07:09:50 slip39.recovery BIP-39 Language detected: english + │ 2024-11-18 07:09:50 slip39.recovery Recovered 512-bit BIP-39 secret from english mnemonic + │ 2024-11-18 07:09:50 slip39.recovery Recovered BIP-39 secret; To re-generate SLIP-39 wallet, send it to: python3 -m slip39 --secret - │ b6a6d8921942dd9806607ebc2750416b289adea669198769f2e15ed926c3aa92bf88ece232317b4ea463e84b0fcd3b53577812ee449ccc448eb45e6f544e25b6 └──── @@ -1791,26 +1789,26 @@ Table of Contents │ ) 2>&1 | tail -20 └──── ┌──── - │ 2024-11-15 16:30:37 slip39 7 valid 19 threaten 31 prepare 43 view 55 inherit - │ 2024-11-15 16:30:37 slip39 8 evening 20 shame 32 curly 44 eyebrow 56 fitness - │ 2024-11-15 16:30:37 slip39 9 findings 21 smoking 33 coding 45 liquid 57 necklace - │ 2024-11-15 16:30:37 slip39 10 that 22 quarter 34 invasion 46 guilt 58 relate - │ 2024-11-15 16:30:37 slip39 11 taste 23 scared 35 ambition 47 family 59 pitch - │ 2024-11-15 16:30:37 slip39 12 duckling 24 quick 36 program 48 pipeline - │ 2024-11-15 16:30:37 slip39 6th 1 vampire 13 diminish 25 purchase 37 cards 49 wits - │ 2024-11-15 16:30:37 slip39 2 aquatic 14 quick 26 mailman 38 grief 50 listen - │ 2024-11-15 16:30:37 slip39 3 decision 15 genuine 27 reaction 39 multiple 51 visitor - │ 2024-11-15 16:30:37 slip39 4 spider 16 stay 28 regular 40 dynamic 52 cylinder - │ 2024-11-15 16:30:37 slip39 5 acid 17 dream 29 stick 41 superior 53 inmate - │ 2024-11-15 16:30:37 slip39 6 shelter 18 package 30 paid 42 alto 54 purple - │ 2024-11-15 16:30:37 slip39 7 roster 19 tenant 31 salt 43 envelope 55 scared - │ 2024-11-15 16:30:37 slip39 8 syndrome 20 pancake 32 fantasy 44 aluminum 56 away - │ 2024-11-15 16:30:37 slip39 9 scroll 21 omit 33 expand 45 jury 57 famous - │ 2024-11-15 16:30:37 slip39 10 fused 22 greatest 34 clinic 46 energy 58 fraction - │ 2024-11-15 16:30:37 slip39 11 season 23 founder 35 cricket 47 predator 59 robin - │ 2024-11-15 16:30:37 slip39 12 enjoy 24 cleanup 36 civil 48 distance - │ 2024-11-15 16:30:37 slip39.layout ETH m/44'/60'/0'/0/0 : 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E - │ 2024-11-15 16:30:37 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 + │ 2024-11-18 07:09:51 slip39 7 standard 19 careful 31 escape 43 wolf 55 either + │ 2024-11-18 07:09:51 slip39 8 penalty 20 crazy 32 voter 44 scandal 56 says + │ 2024-11-18 07:09:51 slip39 9 elephant 21 demand 33 fawn 45 standard 57 mouse + │ 2024-11-18 07:09:51 slip39 10 smell 22 friar 34 library 46 paid 58 alpha + │ 2024-11-18 07:09:51 slip39 11 prospect 23 dryer 35 editor 47 laser 59 oven + │ 2024-11-18 07:09:51 slip39 12 wine 24 crystal 36 dragon 48 scared + │ 2024-11-18 07:09:51 slip39 6th 1 stick 13 spray 25 dryer 37 aide 49 unfair + │ 2024-11-18 07:09:51 slip39 2 spew 14 dictate 26 health 38 usher 50 buyer + │ 2024-11-18 07:09:51 slip39 3 decision 15 language 27 aide 39 employer 51 adult + │ 2024-11-18 07:09:51 slip39 4 spider 16 length 28 leader 40 jump 52 enlarge + │ 2024-11-18 07:09:51 slip39 5 acne 17 furl 29 plunge 41 identify 53 actress + │ 2024-11-18 07:09:51 slip39 6 flip 18 voter 30 cubic 42 practice 54 mountain + │ 2024-11-18 07:09:51 slip39 7 woman 19 recall 31 become 43 finance 55 hunting + │ 2024-11-18 07:09:51 slip39 8 gesture 20 merchant 32 clinic 44 fluff 56 recall + │ 2024-11-18 07:09:51 slip39 9 squeeze 21 album 33 fatal 45 kidney 57 chemical + │ 2024-11-18 07:09:51 slip39 10 herald 22 bulb 34 hormone 46 romp 58 calcium + │ 2024-11-18 07:09:51 slip39 11 leaves 23 lungs 35 view 47 slice 59 lobe + │ 2024-11-18 07:09:51 slip39 12 guest 24 length 36 silver 48 hawk + │ 2024-11-18 07:09:51 slip39.layout ETH m/44'/60'/0'/0/0 : 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E + │ 2024-11-18 07:09:51 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 └──── This `0xfc20..1B5E' address is the same Ethereum address as is recovered on a Trezor using this BIP-39 mnemonic phrase. Thus, we can @@ -1824,7 +1822,7 @@ Table of Contents But: • The 59-word SLIP-39 Mnemonics cannot (yet) be imported into the - Trezor "Model T" + Trezor • The original BIP-39 Mnemonic phrase cannot be recovered, for any hardware wallet • Must use the SLIP-39 App to generate "Paper Wallets", to recover the @@ -1853,9 +1851,9 @@ Table of Contents │ ) 2>&1 └──── ┌──── - │ 2024-11-15 16:30:38 slip39.recovery BIP-39 Language detected: english - │ 2024-11-15 16:30:38 slip39.recovery Recovered 128-bit BIP-39 entropy from english mnemonic (no passphrase supported) - │ 2024-11-15 16:30:38 slip39.recovery Recovered BIP-39 secret; To re-generate SLIP-39 wallet, send it to: python3 -m slip39 --secret - + │ 2024-11-18 07:09:51 slip39.recovery BIP-39 Language detected: english + │ 2024-11-18 07:09:51 slip39.recovery Recovered 128-bit BIP-39 entropy from english mnemonic (no passphrase supported) + │ 2024-11-18 07:09:51 slip39.recovery Recovered BIP-39 secret; To re-generate SLIP-39 wallet, send it to: python3 -m slip39 --secret - │ ffffffffffffffffffffffffffffffff └──── @@ -1873,26 +1871,26 @@ Table of Contents │ ) 2>&1 | tail -20 └──── ┌──── - │ 2024-11-15 16:30:39 slip39 4 skin 11 discuss 18 already - │ 2024-11-15 16:30:39 slip39 5 away 12 alive 19 syndrome - │ 2024-11-15 16:30:39 slip39 6 bike 13 market 20 flea - │ 2024-11-15 16:30:39 slip39 7 triumph 14 blue - │ 2024-11-15 16:30:39 slip39 5th 1 elbow 8 staff 15 peaceful - │ 2024-11-15 16:30:39 slip39 2 scared 9 briefing 16 loud - │ 2024-11-15 16:30:39 slip39 3 decision 10 damage 17 herald - │ 2024-11-15 16:30:39 slip39 4 snake 11 trouble 18 herd - │ 2024-11-15 16:30:39 slip39 5 carbon 12 problem 19 skunk - │ 2024-11-15 16:30:39 slip39 6 rocky 13 railroad 20 problem - │ 2024-11-15 16:30:39 slip39 7 academic 14 idle - │ 2024-11-15 16:30:39 slip39 6th 1 elbow 8 coal 15 birthday - │ 2024-11-15 16:30:39 slip39 2 scared 9 mayor 16 weapon - │ 2024-11-15 16:30:39 slip39 3 decision 10 category 17 steady - │ 2024-11-15 16:30:39 slip39 4 spider 11 rescue 18 woman - │ 2024-11-15 16:30:39 slip39 5 aquatic 12 talent 19 fortune - │ 2024-11-15 16:30:39 slip39 6 dominant 13 screw 20 bike - │ 2024-11-15 16:30:39 slip39 7 preach 14 sniff - │ 2024-11-15 16:30:39 slip39.layout ETH m/44'/60'/0'/0/0 : 0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1 - │ 2024-11-15 16:30:39 slip39.layout BTC m/84'/0'/0'/0/0 : bc1q9yscq3l2yfxlvnlk3cszpqefparrv7tk24u6pl + │ 2024-11-18 07:09:52 slip39 4 skin 11 fishing 18 rumor + │ 2024-11-18 07:09:52 slip39 5 cinema 12 employer 19 roster + │ 2024-11-18 07:09:52 slip39 6 surface 13 oven 20 cage + │ 2024-11-18 07:09:52 slip39 7 spill 14 ending + │ 2024-11-18 07:09:52 slip39 5th 1 forward 8 believe 15 location + │ 2024-11-18 07:09:52 slip39 2 kidney 9 slap 16 metric + │ 2024-11-18 07:09:52 slip39 3 decision 10 exercise 17 cards + │ 2024-11-18 07:09:52 slip39 4 snake 11 fiber 18 rebuild + │ 2024-11-18 07:09:52 slip39 5 being 12 mandate 19 jewelry + │ 2024-11-18 07:09:52 slip39 6 lair 13 trash 20 award + │ 2024-11-18 07:09:52 slip39 7 fiber 14 midst + │ 2024-11-18 07:09:52 slip39 6th 1 forward 8 coding 15 glasses + │ 2024-11-18 07:09:52 slip39 2 kidney 9 rebuild 16 negative + │ 2024-11-18 07:09:52 slip39 3 decision 10 remove 17 flash + │ 2024-11-18 07:09:52 slip39 4 spider 11 inherit 18 round + │ 2024-11-18 07:09:52 slip39 5 boundary 12 again 19 staff + │ 2024-11-18 07:09:52 slip39 6 closet 13 peanut 20 curly + │ 2024-11-18 07:09:52 slip39 7 mixed 14 lend + │ 2024-11-18 07:09:52 slip39.layout ETH m/44'/60'/0'/0/0 : 0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1 + │ 2024-11-18 07:09:52 slip39.layout BTC m/84'/0'/0'/0/0 : bc1q9yscq3l2yfxlvnlk3cszpqefparrv7tk24u6pl └──── Because we must tell `slip39' to that we're using the BIP-39 Mnemonic and Seed generation process to derived the wallet addresses from the @@ -1906,26 +1904,26 @@ Table of Contents │ ) 2>&1 | tail -20 └──── ┌──── - │ 2024-11-15 16:30:40 slip39 4 skin 11 vitamins 18 stick - │ 2024-11-15 16:30:40 slip39 5 early 12 stilt 19 transfer - │ 2024-11-15 16:30:40 slip39 6 unfold 13 imply 20 earth - │ 2024-11-15 16:30:40 slip39 7 huge 14 iris - │ 2024-11-15 16:30:40 slip39 5th 1 filter 8 museum 15 together - │ 2024-11-15 16:30:40 slip39 2 survive 9 educate 16 valid - │ 2024-11-15 16:30:40 slip39 3 decision 10 corner 17 bedroom - │ 2024-11-15 16:30:40 slip39 4 snake 11 fatal 18 speak - │ 2024-11-15 16:30:40 slip39 5 depart 12 paper 19 similar - │ 2024-11-15 16:30:40 slip39 6 famous 13 erode 20 greatest - │ 2024-11-15 16:30:40 slip39 7 ivory 14 mouse - │ 2024-11-15 16:30:40 slip39 6th 1 filter 8 hawk 15 rocky - │ 2024-11-15 16:30:40 slip39 2 survive 9 hobo 16 swing - │ 2024-11-15 16:30:40 slip39 3 decision 10 drove 17 fridge - │ 2024-11-15 16:30:40 slip39 4 spider 11 observe 18 improve - │ 2024-11-15 16:30:40 slip39 5 brother 12 inside 19 terminal - │ 2024-11-15 16:30:40 slip39 6 keyboard 13 flavor 20 dramatic - │ 2024-11-15 16:30:40 slip39 7 lend 14 realize - │ 2024-11-15 16:30:40 slip39.layout ETH m/44'/60'/0'/0/0 : 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E - │ 2024-11-15 16:30:40 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 + │ 2024-11-18 07:09:53 slip39 4 skin 11 season 18 lunch + │ 2024-11-18 07:09:53 slip39 5 cargo 12 squeeze 19 crystal + │ 2024-11-18 07:09:53 slip39 6 profile 13 dwarf 20 born + │ 2024-11-18 07:09:53 slip39 7 album 14 level + │ 2024-11-18 07:09:53 slip39 5th 1 ceiling 8 moment 15 adorn + │ 2024-11-18 07:09:53 slip39 2 typical 9 branch 16 method + │ 2024-11-18 07:09:53 slip39 3 decision 10 carpet 17 threaten + │ 2024-11-18 07:09:53 slip39 4 snake 11 mayor 18 volume + │ 2024-11-18 07:09:53 slip39 5 devote 12 arena 19 wireless + │ 2024-11-18 07:09:53 slip39 6 idle 13 lecture 20 observe + │ 2024-11-18 07:09:53 slip39 7 guitar 14 dynamic + │ 2024-11-18 07:09:53 slip39 6th 1 ceiling 8 flash 15 forbid + │ 2024-11-18 07:09:53 slip39 2 typical 9 hunting 16 reunion + │ 2024-11-18 07:09:53 slip39 3 decision 10 shrimp 17 promise + │ 2024-11-18 07:09:53 slip39 4 spider 11 loan 18 client + │ 2024-11-18 07:09:53 slip39 5 clock 12 ecology 19 tracks + │ 2024-11-18 07:09:53 slip39 6 makeup 13 exercise 20 squeeze + │ 2024-11-18 07:09:53 slip39 7 blimp 14 satisfy + │ 2024-11-18 07:09:53 slip39.layout ETH m/44'/60'/0'/0/0 : 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E + │ 2024-11-18 07:09:53 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 └──── And, there we have it – we've recovered exactly the same Ethereum and Bitcoin wallets as would a native BIP-39 hardware wallet like a Ledger @@ -2530,11 +2528,10 @@ Table of Contents │ (python-slip39-13.0.0-usr-darwin-cpython-312) bash-3.2$ └──── - and using [the official python.org/downloads installer]. It is also - supported under Nix (optionally prefixed with a `TARGET\=py310' and/or - `NIX_OPTS\'""= to avoid –pure and gain access to locally installed - applications like emacs, but using the nix-supplied Python3 - interpreter): + and using [the official python.org/downloads installer]. + + It is also supported under Nix (optionally prefixed with + eg. `TARGET\=py310'): ┌──── │ $ make nix-venv │ ... @@ -2542,6 +2539,8 @@ Table of Contents │ (python-slip39-13.0.0-nix-darwin-cpython-312) Perrys-MBP:python-slip39 perry$ └──── + The Nix installation is probably the recommended approach for macOS + and Linux. Either of these methods will get you a `python3' executable running version 3.12+, usable for running the `slip39' module, and the diff --git a/SLIP39-Example.pdf b/SLIP39-Example.pdf index 2970891..4d8d63c 100644 Binary files a/SLIP39-Example.pdf and b/SLIP39-Example.pdf differ diff --git a/setup.py b/setup.py index 512ae00..cae9b83 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,6 @@ # Since setuptools is retiring tests_require, add it as another option (but not included in 'all') extras_require['tests'] = tests_require -options_require.append( 'tests' ) Executable = None if sys.platform == 'win32': @@ -208,40 +207,57 @@ > > ---Andreas Antonopoulos -The [python-slip39][1] project (and the [slip39-app][2]) exists to assist in the safe creation, -backup and documentation of Hierarchical Deterministic (HD) Wallet seeds and derived accounts, -with various SLIP-39 sharing parameters. It generates the new random wallet seed, and generates -the expected standard Ethereum account(s) (at *m/44'/60'/0'/0/0* by default) and -Bitcoin accounts (at Bech32 derivation path *m/84'/0'/0'/0/0* by default), with wallet address and -QR code (compatible with Trezor and Ledger derivations). It produces the required SLIP-39 -phrases, and outputs a single PDF containing all the required printable cards to document the seed -(and the specified derived accounts). - -On an secure (ideally air-gapped) computer, new seeds can /safely/ be generated (*without* -trusting this program) and the PDF saved to a USB drive for printing (or directly printed without -the file being saved to disk.). Presently, =slip39= can output example ETH, BTC, LTC, DOGE, BSC, -and XRP addresses derived from the seed, to /illustrate/ what accounts are associated with the -backed-up seed. Recovery of the seed to a [trezor-model-t][3] is simple, by entering the mnemonics -right on the device. - -We also support the backup of existing insecure and unreliable 12- or 24-word BIP-39 Mnemonic -Phrases as SLIP-39 Mnemonic cards, for existing BIP-39 hardware wallets like the [ledger-nano][4], -etc.! Recover from your existing BIP-39 Seed Phrase Mnemonic, select "Using BIP-39" (and enter -your BIP-39 passphrase), and generate a set of SLIP-39 Mnemonic cards. Later, use the SLIP-39 App -to recover from your SLIP-39 Mnemonic cards, click "Using BIP-39" to get your BIP-39 Mnemonic -back, and use it (and your passphrase) to recover your accounts to your Ledger (or other) hardware -wallet. - -Output of BIP-38 or JSON encrypted Paper Wallets is also supported, for import into standard -software cryptocurrency wallets. - -[1]: "python-slip39" - -[2]: "SLIP-39 App" - -[3]: "Trezor Model T" - -[4]: "Ledger Nano" +The [python-slip39] project (and the [SLIP-39 macOS/win32 App]) exists +to assist in the safe creation, backup and documentation of +[Hierarchical Deterministic (HD) Wallet] seeds and derived accounts, +with various SLIP-39 sharing parameters. It generates the new random +wallet seed, and generates the expected standard Ethereum account(s) +(at [derivation path] *m/44'/60'/0'/0/0* by default) and Bitcoin +accounts (at Bech32 derivation path *m/84'/0'/0'/0/0* by default), +with wallet address and QR code (compatible with Trezor and Ledger +derivations). It produces the required SLIP-39 phrases, and outputs a +single PDF containing all the required printable cards to document the +seed (and the specified derived accounts). + +On an secure (ideally air-gapped) computer, new seeds can /safely/ be +generated (*without trusting this program*) and the PDF saved to a USB +drive for printing (or directly printed without the file being saved +to disk.). Presently, `slip39' can output example ETH, BTC, LTC, +DOGE, BSC, and XRP addresses derived from the seed, to /illustrate/ +what accounts are associated with the backed-up seed. Recovery of the +seed to a [Trezor Safe 3] is simple, by entering the mnemonics right +on the device. + +We also support the backup of existing insecure and unreliable 12- or +24-word BIP-39 Mnemonic Phrases as SLIP-39 Mnemonic cards, for +existing BIP-39 hardware wallets like the [Ledger Nano], etc.! +Recover from your existing BIP-39 Seed Phrase Mnemonic, select "Using +BIP-39" (and enter your BIP-39 passphrase), and generate a set of +SLIP-39 Mnemonic cards. Later, use the SLIP-39 App to recover from +your SLIP-39 Mnemonic cards, click "Using BIP-39" to get your BIP-39 +Mnemonic back, and use it (and your passphrase) to recover your +accounts to your Ledger (or other) hardware wallet. + +Output of BIP-38 or JSON encrypted Paper Wallets is also supported, +for import into standard software cryptocurrency wallets. + +<./images/slip39.png> + + +[python-slip39] + +[SLIP-39 macOS/win32 App] + +[Hierarchical Deterministic (HD) Wallet] + + +[derivation path] + + +[Trezor Safe 3] + +[Ledger Nano] + ## The SLIP-39 App for Generation and Backup diff --git a/slip39/api.py b/slip39/api.py index 27ed2a1..d2c64a3 100644 --- a/slip39/api.py +++ b/slip39/api.py @@ -1010,7 +1010,7 @@ def create( Creates accountgroups derived from the Seed Entropy. By default, this is done in the SLIP-39 standard, using the master_secret Entropy directly. If a passphrase is supplied, this is also - used in the SLIP-39 standard fashion (not recommended -- not Trezor "Model T" compatible). + used in the SLIP-39 standard fashion (not recommended -- not Trezor compatible). If using_bip39, creates the Cryptocurrency accountgroups from the supplied master_secret Entropy, by generating the Seed from a BIP-38 Mnemonic produced from the provided entropy diff --git a/slip39/gui/SLIP-39-AS-BIP.org b/slip39/gui/SLIP-39-AS-BIP.org index 053e796..eced250 100644 --- a/slip39/gui/SLIP-39-AS-BIP.org +++ b/slip39/gui/SLIP-39-AS-BIP.org @@ -2,11 +2,12 @@ #+OPTIONS: toc:nil title:nil author:nil #+BEGIN_ABSTRACT -SLIP-39 Mnemonics can be used directly on a Trezor "Model T" to backup/restore the Seed. +SLIP-39 Mnemonics can be used directly on a Trezor to backup/restore the Seed. Also supports other Hardware Wallets that require a BIP-39 Mnemonic for Seed recovery, such as to your Ledger Nano. Recover your BIP-39 Seed Phrase from these SLIP-39 cards using the GUI (or -command-line) whenever you need it, to restore your Crypto accounts to your hardware wallet. +command-line, or [[https://iancoleman.io/slip39/]]) whenever you need it, to restore your Crypto +accounts to your hardware wallet. | Controls | Description | |----------+---------------------------------------------------------------------| @@ -38,12 +39,12 @@ command-line) whenever you need it, to restore your Crypto accounts to your hard Since BIP-39 uses the Seed Entropy *differently* than SLIP-39 does, this produces *different* wallets in the hardware wallet device! In other words, exactly the same 128- or 256-bit entropy - produces different wallets in a [[https://shop.trezor.io/product/trezor-model-t?offer_id=15&aff_id=10388][Trezor "Model T"]] recovered directly from SLIP-39 Mnemonics, - compared to the same Trezor or [[https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f][Ledger Nano X]] recovered from BIP-39. + produces different wallets in a [[https://affil.trezor.io/SHdv][Trezor Safe 3]] recovered directly from SLIP-39 Mnemonics, compared + to the same Trezor or [[https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f][Ledger Nano X]] recovered from BIP-39. This is usually not a problem: just ensure that if you're intending to use a hardware wallet that - natively supports SLIP-39 (like the Trezor "Model T"), *do not select* "Using BIP-39". Then, the - QR codes and Paper Wallets printed will match those produced in the hardware wallet after SLIP-39 + natively supports SLIP-39 (like the Trezor), *do not select* "Using BIP-39". Then, the QR codes + and Paper Wallets printed will match those produced in the hardware wallet after SLIP-39 recovery. If your hardware wallet only supports BIP-39 (or you're just backing up the Seed Entropy of an diff --git a/slip39/gui/SLIP-39-AS-BIP.txt b/slip39/gui/SLIP-39-AS-BIP.txt index d3642f5..59e929a 100644 --- a/slip39/gui/SLIP-39-AS-BIP.txt +++ b/slip39/gui/SLIP-39-AS-BIP.txt @@ -1,10 +1,11 @@ -SLIP-39 Mnemonics can be used directly on a Trezor "Model T" to -backup/restore the Seed. +SLIP-39 Mnemonics can be used directly on a Trezor to backup/restore the +Seed. Also supports other Hardware Wallets that require a BIP-39 Mnemonic for Seed recovery, such as to your Ledger Nano. Recover your BIP-39 Seed -Phrase from these SLIP-39 cards using the GUI (or command-line) whenever -you need it, to restore your Crypto accounts to your hardware wallet. +Phrase from these SLIP-39 cards using the GUI (or command-line, or +) whenever you need it, to restore your +Crypto accounts to your hardware wallet. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Controls Description @@ -48,15 +49,15 @@ you need it, to restore your Crypto accounts to your hardware wallet. Since BIP-39 uses the Seed Entropy *differently* than SLIP-39 does, this produces *different* wallets in the hardware wallet device! In other words, exactly the same 128- or 256-bit entropy produces - different wallets in a [Trezor "Model T"] recovered directly from - SLIP-39 Mnemonics, compared to the same Trezor or [Ledger Nano X] - recovered from BIP-39. + different wallets in a [Trezor Safe 3] recovered directly from SLIP-39 + Mnemonics, compared to the same Trezor or [Ledger Nano X] recovered + from BIP-39. This is usually not a problem: just ensure that if you're intending to - use a hardware wallet that natively supports SLIP-39 (like the Trezor - "Model T"), *do not select* "Using BIP-39". Then, the QR codes and - Paper Wallets printed will match those produced in the hardware wallet - after SLIP-39 recovery. + use a hardware wallet that natively supports SLIP-39 (like the + Trezor), *do not select* "Using BIP-39". Then, the QR codes and Paper + Wallets printed will match those produced in the hardware wallet after + SLIP-39 recovery. If your hardware wallet only supports BIP-39 (or you're just backing up the Seed Entropy of an existing BIP-39 Mnemonic using SLIP-39, and @@ -67,8 +68,7 @@ you need it, to restore your Crypto accounts to your hardware wallet. hardware after BIP-39 recovery. -[Trezor "Model T"] - +[Trezor Safe 3] [Ledger Nano X] diff --git a/slip39/gui/SLIP-39-LO.org b/slip39/gui/SLIP-39-LO.org index 123de13..52243ab 100644 --- a/slip39/gui/SLIP-39-LO.org +++ b/slip39/gui/SLIP-39-LO.org @@ -21,11 +21,11 @@ Select an appropriate level of Controls detail. * Create - A basic SLIP-39 Mnemonic creation interface. Default support for [[https://shop.trezor.io/product/trezor-model-t?offer_id=15&aff_id=10388][Trezor "Model T"]] with native + A basic SLIP-39 Mnemonic creation interface. Default support for [[https://affil.trezor.io/SHdv][Trezor Safe 3]] with native SLIP-39 Mnemonics recovery. Select "Using BIP-39" for a traditional BIP-39 Seed Phrase Mnemonic, to use any other hardware - wallets such as the [[https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f][Ledger Nano]] (or even the Trezor "Model T", in BIP-39 Recovery mode). + wallets such as the [[https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f][Ledger Nano]] (or even the Trezor, in BIP-39 Recovery mode). * Recovery diff --git a/slip39/gui/SLIP-39-LO.txt b/slip39/gui/SLIP-39-LO.txt index ec36f4e..a09b09c 100644 --- a/slip39/gui/SLIP-39-LO.txt +++ b/slip39/gui/SLIP-39-LO.txt @@ -25,15 +25,14 @@ Select an appropriate level of Controls detail. ════════ A basic SLIP-39 Mnemonic creation interface. Default support for - [Trezor "Model T"] with native SLIP-39 Mnemonics recovery. + [Trezor Safe 3] with native SLIP-39 Mnemonics recovery. Select "Using BIP-39" for a traditional BIP-39 Seed Phrase Mnemonic, to use any other hardware wallets such as the [Ledger Nano] (or even - the Trezor "Model T", in BIP-39 Recovery mode). + the Trezor, in BIP-39 Recovery mode). -[Trezor "Model T"] - +[Trezor Safe 3] [Ledger Nano] diff --git a/slip39/gui/SLIP-39-PASSPHRASE.org b/slip39/gui/SLIP-39-PASSPHRASE.org index ce5ec42..c8a8666 100644 --- a/slip39/gui/SLIP-39-PASSPHRASE.org +++ b/slip39/gui/SLIP-39-PASSPHRASE.org @@ -56,9 +56,8 @@ disclosure); a Passphrase is *not* recommended. Leave it empty! ** Hardware Wallet Doesn't Support Passphrase - The Trezor "Model T" doesn't presently support using a Passphrase on SLIP-39 recovery. So, if - you supply one here, you will not be able to use it when recovering your SLIP-39 Mnemonics on - your Trezor "Model T". + The Trezor doesn't presently support using a Passphrase on SLIP-39 recovery. So, if you supply + one here, you will not be able to use it when recovering your SLIP-39 Mnemonics on your Trezor. *** Use Trezor's "Hidden Wallets" Instead diff --git a/slip39/gui/SLIP-39-PASSPHRASE.txt b/slip39/gui/SLIP-39-PASSPHRASE.txt index 374ee5b..385ebb8 100644 --- a/slip39/gui/SLIP-39-PASSPHRASE.txt +++ b/slip39/gui/SLIP-39-PASSPHRASE.txt @@ -78,10 +78,9 @@ recommended. Leave it empty! 2.1 Hardware Wallet Doesn't Support Passphrase ────────────────────────────────────────────── - The Trezor "Model T" doesn't presently support using a Passphrase on - SLIP-39 recovery. So, if you supply one here, you will not be able to - use it when recovering your SLIP-39 Mnemonics on your Trezor "Model - T". + The Trezor doesn't presently support using a Passphrase on SLIP-39 + recovery. So, if you supply one here, you will not be able to use it + when recovering your SLIP-39 Mnemonics on your Trezor. 2.1.1 Use Trezor's "Hidden Wallets" Instead diff --git a/slip39/gui/SLIP-39-SD.org b/slip39/gui/SLIP-39-SD.org index c497e05..33b3dc1 100644 --- a/slip39/gui/SLIP-39-SD.org +++ b/slip39/gui/SLIP-39-SD.org @@ -31,9 +31,9 @@ BIP-39 Mnemonic using SLIP-39. importing using BIP-39 vs. SLIP-39! So, in order for us to compute and show you the correct Cryptocurrency wallet(s), you must - indicate whether you're importing using the SLIP-39 Mnemonics directly (ie. on a Trezor "Model - T"), *or* if you're recovering the BIP-39 Mnemonic, and using that on the hardware wallet (ie. on - a Ledger, or some other non-SLIP-39 hardware wallet). + indicate whether you're importing using the SLIP-39 Mnemonics directly (ie. on a Trezor), *or* if + you're recovering the BIP-39 Mnemonic, and using that on the hardware wallet (ie. on a Ledger, or + some other non-SLIP-39 hardware wallet). If you recover your Seed Entropy from a BIP-39 Mnemonic, we'll /assume/ you intend to *use* the BIP-39 Mnemonic on your hardware wallet, and we'll check "Recovering from BIP-39 on my Hardware diff --git a/slip39/gui/SLIP-39-SD.txt b/slip39/gui/SLIP-39-SD.txt index a1b0cc2..b50aa8d 100644 --- a/slip39/gui/SLIP-39-SD.txt +++ b/slip39/gui/SLIP-39-SD.txt @@ -35,7 +35,7 @@ your insecure/unreliable BIP-39 Mnemonic using SLIP-39. So, in order for us to compute and show you the correct Cryptocurrency wallet(s), you must indicate whether you're importing using the - SLIP-39 Mnemonics directly (ie. on a Trezor "Model T"), *or* if you're + SLIP-39 Mnemonics directly (ie. on a Trezor), *or* if you're recovering the BIP-39 Mnemonic, and using that on the hardware wallet (ie. on a Ledger, or some other non-SLIP-39 hardware wallet). diff --git a/slip39/layout/COVER-SLIP-39.org b/slip39/layout/COVER-SLIP-39.org index fef28fa..e5cedd9 100644 --- a/slip39/layout/COVER-SLIP-39.org +++ b/slip39/layout/COVER-SLIP-39.org @@ -2,9 +2,9 @@ #+OPTIONS: toc:nil author:nil #+BEGIN_ABSTRACT -SLIP-39 Mnemonic Cards for Hardware Wallets that natively support it, such as your Trezor "Model T". -Recover your Cryptocurrency accounts to your hardware wallet directly from these SLIP-39 cards, by -entering them on the screen of the device. +SLIP-39 Mnemonic Cards for Hardware Wallets that natively support it, such as your Trezor. Recover +your Cryptocurrency accounts to your hardware wallet directly from these SLIP-39 cards, by entering +them on the screen of the device. #+END_ABSTRACT - Collect these "SLIP-39" Card Mnemonics, with sufficient: diff --git a/slip39/layout/COVER-SLIP-39.txt b/slip39/layout/COVER-SLIP-39.txt index 8150cca..d56652c 100644 --- a/slip39/layout/COVER-SLIP-39.txt +++ b/slip39/layout/COVER-SLIP-39.txt @@ -4,9 +4,9 @@ SLIP-39 Mnemonic Cards for Hardware Wallets that natively support it, -such as your Trezor "Model T". Recover your Cryptocurrency accounts to -your hardware wallet directly from these SLIP-39 cards, by entering them -on the screen of the device. +such as your Trezor. Recover your Cryptocurrency accounts to your +hardware wallet directly from these SLIP-39 cards, by entering them on +the screen of the device. • Collect these "SLIP-39" Card Mnemonics, with sufficient: • Different Groups to satisfy Recovery Card Groups threshold diff --git a/slip39/recovery/__init__.py b/slip39/recovery/__init__.py index e83ab3b..a7df55d 100644 --- a/slip39/recovery/__init__.py +++ b/slip39/recovery/__init__.py @@ -78,9 +78,9 @@ def recover( widely used) SLIP-39 decryption with the given passphrase (empty, if None). We handle either str/bytes passphrase, and will en/decode as UTF-8 as necessary. - WARNING: SLIP-39 passphrase encryption is not Trezor "Model T" compatible, and is not widely - used; if you want to hide a wallet, use the Trezor "Hidden wallet" feature instead, where the - passphrase for each hidden wallet is entered on the device (leave this passphrase blank). + WARNING: SLIP-39 passphrase encryption is not Trezor compatible, and is not widely used; if you + want to hide a wallet, use the Trezor "Hidden wallet" feature instead, where the passphrase for + each hidden wallet is entered on the device (leave this passphrase blank). Optionally, if 'using_bip39' then generate the actual 512-bit wallet Seed from the SLIP-39 recovered 128- or 256-bit Seed Entropy, using standard BIP-39 Seed generation. diff --git a/slip39/recovery/main.py b/slip39/recovery/main.py index 081a94a..2bc4009 100644 --- a/slip39/recovery/main.py +++ b/slip39/recovery/main.py @@ -47,9 +47,8 @@ def main( argv=None ): python3 -m slip39 --secret = "ab04...7f" SLIP-39 Mnemonics may be encrypted with a passphrase; this is *not* Ledger-compatible, so it rarely -recommended! Typically, on a Trezor "Model T", you recover using your SLIP-39 Mnemonics, and then -use the "Hidden wallet" feature (passwords entered on the device) to produce alternative sets of -accounts. +recommended! Typically, on a Trezor, you recover using your SLIP-39 Mnemonics, and then use the +"Hidden wallet" feature (passwords entered on the device) to produce alternative sets of accounts. BIP-39 Mnemonics can be backed up as SLIP-39 Mnemonics, in two ways: