diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f5bf49f..ccaa456 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,11 +2,12 @@ name: Release on: push: - branches: - - master + tags: + - '*' jobs: pypi-publish: + if: startsWith(github.ref, 'refs/tags') name: Upload release to PyPI runs-on: ubuntu-latest environment: diff --git a/App.org b/App.org index 1b391b5..53618f2 100644 --- a/App.org +++ b/App.org @@ -179,18 +179,22 @@ cryptocurrency accounts related to the Seed. * Recommended Vendors To assist you in obtaining various SLIP-39 compatible components, we have established some - relationship with reliable vendors. + relationships with reliable vendors. If you do nothing else -- get a Hardware Wallet! + + Regardless of whether or not you decide to use safer SLIP-39 Mnemonics, or just continue on with + your BIP-39 Mnemonic phrase: using a Hardware Wallet or two to secure your Seed and all of its + derived crypto wallets is the safest way to access your cryptocurrency! ** Trezor - 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. + The inexpensive [[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 @@ -211,16 +215,12 @@ cryptocurrency accounts related to the Seed. The [[https://shop.ledger.com/pages/ledger-nano-s-plus?r=2cd1cb6ae51f][Ledger Nano S Plus]] has a large screen, at a reasonable price point, and connects via USB-C. #+BEGIN_EXPORT html - + #+END_EXPORT The [[https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f][Ledger Nano X]] has a large screen and supports connectivity via Bluetooth, for much easier connectivity with mobile phone and laptop wallet software. - #+BEGIN_EXPORT html - - #+END_EXPORT - ** Netcoins.app In Canada, one of the more highly regulatory-compliant cryptocurrency exchanges is [[https://netcoins.app/r?ac=5YO1MZ][Netcoins.app diff --git a/App.pdf b/App.pdf index 3f23940..67baf55 100644 Binary files a/App.pdf and b/App.pdf differ diff --git a/App.txt b/App.txt index 1102f01..5739e2a 100644 --- a/App.txt +++ b/App.txt @@ -230,16 +230,22 @@ Table of Contents ═════════════════════ To assist you in obtaining various SLIP-39 compatible components, we - have established some relationship with reliable vendors. + have established some relationships with reliable vendors. If you do + nothing else – get a Hardware Wallet! + + Regardless of whether or not you decide to use safer SLIP-39 + Mnemonics, or just continue on with your BIP-39 Mnemonic phrase: using + a Hardware Wallet or two to secure your Seed and all of its derived + crypto wallets is the safest way to access your cryptocurrency! 2.1 Trezor ────────── - 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. + The inexpensive [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 Safe 3 for this reason. No other hardware wallet yet supports direct, on-screen SLIP-39 Seed recovery. diff --git a/README.pdf b/README.pdf index 7a13c44..32156e2 100644 Binary files a/README.pdf and b/README.pdf differ diff --git a/README.txt b/README.txt index 23835fb..b25d96f 100644 --- a/README.txt +++ b/README.txt @@ -135,7 +135,7 @@ Table of Contents │ slip39 --secret "seven replace great luggage fox rent general tower guess inside smile sing" └──── - SLIP39-2024-11-18+07.08.50-ETH-0x6E6268F14B922cb924C7683A415B30C2bf967000.pdf + SLIP39-2024-11-21+08.15.42-ETH-0x6E6268F14B922cb924C7683A415B30C2bf967000.pdf <./images/SLIP39-backup-BIP39.png> @@ -369,14 +369,14 @@ Table of Contents └──── ┌──── - │ 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 + │ 2024-11-21 08:15:43 slip39 It is recommended to not use '-s|--secret '; specify '-' to read from input + │ 2024-11-21 08:15:43 slip39 It is recommended to not use '-w|--wallet '; specify '-' to read from input + │ 2024-11-21 08:15:43 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 9141 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-21 08:15:43 slip39.layout ETH m/44'/60'/0'/0/0 : 0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1 + │ 2024-11-21 08:15:43 slip39.layout BTC m/84'/0'/0'/0/0 : bc1q9yscq3l2yfxlvnlk3cszpqefparrv7tk24u6pl + │ 2024-11-21 08:15:43 slip39.layout DOGE m/44'/3'/0'/0/0 : DN8PNN3dipSJpLmyxtGe4EJH38EhqF8Sfy + │ 2024-11-21 08:15:43 slip39.layout LTC m/84'/2'/0'/0/0 : ltc1qe5m2mst9kjcqtfpapaanaty40qe8xtusmq4ake + │ 2024-11-21 08:15:48 slip39.layout Writing SLIP39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-21+08.15.46-ETH-0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1.pdf └──── @@ -396,9 +396,9 @@ Table of Contents └──── ┌──── - │ 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 - + │ 2024-11-21 08:15:49 slip39.recovery Recovered 128-bit Encrypted SLIP-39 Seed Entropy using 2 groups comprising 2 mnemonics + │ 2024-11-21 08:15:49 slip39.recovery Seed decoded from SLIP-39 Mnemonics w/ no passphrase + │ 2024-11-21 08:15:49 slip39.recovery Recovered SLIP-39 secret; To re-generate SLIP-39 wallet, send it to: python3 -m slip39 --secret - │ ffffffffffffffffffffffffffffffff └──── @@ -417,13 +417,13 @@ Table of Contents └──── ┌──── - │ 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 + │ 2024-11-21 08:15:50 slip39 It is recommended to not use '-w|--wallet '; specify '-' to read from input + │ 2024-11-21 08:15:50 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 30285 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-21 08:15:50 slip39.layout ETH m/44'/60'/0'/0/0 : 0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1 + │ 2024-11-21 08:15:50 slip39.layout BTC m/84'/0'/0'/0/0 : bc1q9yscq3l2yfxlvnlk3cszpqefparrv7tk24u6pl + │ 2024-11-21 08:15:50 slip39.layout DOGE m/44'/3'/0'/0/0 : DN8PNN3dipSJpLmyxtGe4EJH38EhqF8Sfy + │ 2024-11-21 08:15:50 slip39.layout LTC m/84'/2'/0'/0/0 : ltc1qe5m2mst9kjcqtfpapaanaty40qe8xtusmq4ake + │ 2024-11-21 08:15:55 slip39.layout Writing SLIP39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-21+08.15.53-ETH-0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1.pdf └──── @@ -633,13 +633,13 @@ Table of Contents └──── ┌──── - │ 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 + │ 2024-11-21 08:15:57 slip39 It is recommended to not use '-s|--secret '; specify '-' to read from input + │ 2024-11-21 08:15:57 slip39 It is recommended to not use '-w|--wallet '; specify '-' to read from input + │ 2024-11-21 08:15:57 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 4694 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-21 08:15:57 slip39.layout ETH m/44'/60'/0'/0/0 : 0xb44A2011A99596671d5952CdC22816089f142FB3 + │ 2024-11-21 08:15:57 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qcupw7k8enymvvsa7w35j5hq4ergtvus3zk8a8s + │ 2024-11-21 08:16:01 slip39.layout Writing SLIP39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-21+08.15.59-ETH-0xb44A2011A99596671d5952CdC22816089f142FB3.pdf + │ SLIP39-2024-11-21+08.15.59-ETH-0xb44A2011A99596671d5952CdC22816089f142FB3.pdf └──── @@ -723,13 +723,13 @@ Table of Contents └──── ┌──── - │ 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 + │ 2024-11-21 08:16:02 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 30077 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-21 08:16:02 slip39.layout ETH m/44'/60'/0'/0/0 : 0x9FF67Ce0593D9c7F94CDfB67eDA83c8f3399CEFb + │ 2024-11-21 08:16:02 slip39.layout BTC m/84'/0'/0'/0/0 : bc1q9rrn4x0dhcnalfp2m8fdz0xqfnvlj85jlnacse │ ...later, after recovering SLIP-39 mnemonics... - │ 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 + │ 2024-11-21 08:16:02 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 5773 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-21 08:16:02 slip39.layout ETH m/44'/60'/0'/0/0 : 0x9FF67Ce0593D9c7F94CDfB67eDA83c8f3399CEFb + │ 2024-11-21 08:16:02 slip39.layout BTC m/84'/0'/0'/0/0 : bc1q9rrn4x0dhcnalfp2m8fdz0xqfnvlj85jlnacse └──── @@ -750,12 +750,12 @@ Table of Contents └──── ┌──── - │ 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 + │ 2024-11-21 08:16:03 slip39 Assuming BIP-39 seed entropy: Ensure you recover and use via a BIP-39 Mnemonic + │ 2024-11-21 08:16:03 slip39 Generated 128-bit SLIP-39 Mnemonics w/ identifier 4275 requiring 2 of 4 (extendable) groups to recover + │ 2024-11-21 08:16:03 slip39.layout ETH m/44'/60'/0'/0/0 : 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E + │ 2024-11-21 08:16:03 slip39.layout BTC m/84'/0'/0'/0/0 : bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 + │ 2024-11-21 08:16:06 slip39.layout Writing SLIP39 backup for BIP-39-encoded wallet for 'SLIP39' to: SLIP39-2024-11-21+08.16.06-ETH-0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E.pdf + │ SLIP39-2024-11-21+08.16.06-ETH-0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E.pdf └──── @@ -765,7 +765,7 @@ Table of Contents ┌──── │ echo -n "[[./$( \ - │ python3 -m slip39 --secret "zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo wrong" --output SLIP39-Example.pdf \ + │ python3 -m slip39 --secret "zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo wrong" --output SLIP39-Example.pdf \ │ )]]" │ └──── @@ -909,11 +909,11 @@ Table of Contents ┌──── │ │ - │ nonce: 325acfbf3180635a1f096e8679977a70b7704fc222010522b4cd8660 - │ 0: 79880c8d8cf650fe68af9da3a92cb4eb7229fd405fd7086abed948f6a2c7c7617ffcf1bad6ce4c78240541bcaf2a6... - │ 1: 60e6e208b91b13b752a06b6e52d2ac99315fd72de237939b3a42677de50ac4abe32038e3dce1d56f438e831599dd1... - │ 2: 2db8e9235c5ce62092061929dfca774344ed9e476561bb739a5d2687c356970cd2998a49c9fce183a6c1134c659ad... - │ 3: f05b465d4bc42c60b29044bcdb71e24e93f51a145dc1c08c968e48ce025d567cf5e94879def43b30b192019e886c2... + │ nonce: 93791b158cfeaa780a183aea43989273655940ceb181e2321d06987e + │ 0: 95c57c0a1cda08808642f717baf5520406a941efee90cf087eeeb33ae5447cfbfe77e365ad7f47e5c54f5e9bff88d... + │ 1: e6f4f9a8e389e07d3b830a0e9ba0f134030949b3317864ede19507e79f288d687299c3e35f30df180cb8e085ef4b6... + │ 2: def03710b296931c24448056f82d4cfeead53a2e835762d16819ab3a20285ceaaeba1f8362db67f935c007bec0a6d... + │ 3: 09ee6de19d77b9abc4b3d19ecec9f3cd10a382c2f04daee2821a6b6df5591e17f2e83a00bf5e2eaaa827a0a44c4a6... └──── @@ -954,7 +954,7 @@ Table of Contents └──── ┌──── - │ 2024-11-18 07:09:32 slip39.generator Decrypting accountgroups with nonce: acff9300ce141ad85c9ea0fb + │ 2024-11-21 08:16:15 slip39.generator Decrypting accountgroups with nonce: 70a2d20d748d76a5cb01d58f │ 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"]] @@ -976,16 +976,16 @@ Table of Contents └──── ┌──── - │ 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"] - │ --- 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"] + │ 2024-11-21 08:16:16 slip39.generator Decrypting accountgroups with nonce: 1f71686886ae44b4ae8535bd + │ --- 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"] └──── Then, it generates each client's sequence of addresses locally: you @@ -1006,28 +1006,28 @@ Table of Contents └──── ┌──── - │ 2024-11-18 07:09:34 slip39.generator Decrypting accountgroups with nonce: faaedc29cb5ff625ecd2beb4 - │ --- 0 - │ ETH m/0/0 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E - │ ETH m/0/1 0xd1a7451beB6FE0326b4B78e3909310880B781d66 - │ ETH m/0/2 0x578270B5E5B53336baC354756b763b309eCA90Ef - │ BTC m/0/0 bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 - │ BTC m/0/1 bc1qkd33yck74lg0kaq4tdcmu3hk4yruhjayxpe9ug - │ BTC m/0/2 bc1qvr7e5aytd0hpmtaz2d443k364hprvqpm3lxr8w - │ --- 1 - │ ETH m/0/0 0x9176A747BA67C1d7F80AaDC930180b4183AfB5c4 - │ ETH m/0/1 0xa1409B655aC3e09eF261de00BAa4e85bD2820AA4 - │ ETH m/0/2 0xae22C13Ef5891Ed835C24Ed5090542DFa748c21F - │ BTC m/0/0 bc1q8pqnqs573vx3qdp0xp6qdqzvnvy8px24rxh9lp - │ BTC m/0/1 bc1qwtc58u4mmnxa29u8j07e6lmqpnrs38vefy3y24 - │ BTC m/0/2 bc1qg9s8qzm0lcetfv6umhlm3evtca5zsqv7elqd5s - │ --- 2 - │ ETH m/0/0 0x32A8b066c5dbD37147766491A32A612d313fda25 - │ ETH m/0/1 0xff8b88b975f9C296531C1E93d5e4f28757b4571A - │ ETH m/0/2 0xc95Bdf50CA542E1B689f5C06e2D8bAd0625Dfa23 - │ BTC m/0/0 bc1q09zpchmkcnny90ghkg76gd69dvaf57qwcsrhes - │ BTC m/0/1 bc1qjytdyw6zramwt4nvvpte93hfry2d4xhhqn0xg4 - │ BTC m/0/2 bc1qcummre0pxv5xj4gvyut0t84vfwjd6eu7r387v4 + │ 2024-11-21 08:16:16 slip39.generator Decrypting accountgroups with nonce: 241d5d452dab493fb1667f95 + │ --- 0 + │ ETH m/0/0 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E + │ ETH m/0/1 0xd1a7451beB6FE0326b4B78e3909310880B781d66 + │ ETH m/0/2 0x578270B5E5B53336baC354756b763b309eCA90Ef + │ BTC m/0/0 bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 + │ BTC m/0/1 bc1qkd33yck74lg0kaq4tdcmu3hk4yruhjayxpe9ug + │ BTC m/0/2 bc1qvr7e5aytd0hpmtaz2d443k364hprvqpm3lxr8w + │ --- 1 + │ ETH m/0/0 0x9176A747BA67C1d7F80AaDC930180b4183AfB5c4 + │ ETH m/0/1 0xa1409B655aC3e09eF261de00BAa4e85bD2820AA4 + │ ETH m/0/2 0xae22C13Ef5891Ed835C24Ed5090542DFa748c21F + │ BTC m/0/0 bc1q8pqnqs573vx3qdp0xp6qdqzvnvy8px24rxh9lp + │ BTC m/0/1 bc1qwtc58u4mmnxa29u8j07e6lmqpnrs38vefy3y24 + │ BTC m/0/2 bc1qg9s8qzm0lcetfv6umhlm3evtca5zsqv7elqd5s + │ --- 2 + │ ETH m/0/0 0x32A8b066c5dbD37147766491A32A612d313fda25 + │ ETH m/0/1 0xff8b88b975f9C296531C1E93d5e4f28757b4571A + │ ETH m/0/2 0xc95Bdf50CA542E1B689f5C06e2D8bAd0625Dfa23 + │ BTC m/0/0 bc1q09zpchmkcnny90ghkg76gd69dvaf57qwcsrhes + │ BTC m/0/1 bc1qjytdyw6zramwt4nvvpte93hfry2d4xhhqn0xg4 + │ BTC m/0/2 bc1qcummre0pxv5xj4gvyut0t84vfwjd6eu7r387v4 └──── You'll notice that, after this elaborate exercise of generating @@ -1512,8 +1512,8 @@ Table of Contents └──── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - Valid random 12-word mnemonics: 6.01% - Or, about: 1 / 16.6 + Valid random 12-word mnemonics: 6.45% + Or, about: 1 / 15.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 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. @@ -1773,9 +1773,9 @@ Table of Contents │ ) 2>&1 └──── ┌──── - │ 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 - + │ 2024-11-21 08:16:29 slip39.recovery BIP-39 Language detected: english + │ 2024-11-21 08:16:29 slip39.recovery Recovered 512-bit BIP-39 secret from english mnemonic + │ 2024-11-21 08:16:29 slip39.recovery Recovered BIP-39 secret; To re-generate SLIP-39 wallet, send it to: python3 -m slip39 --secret - │ b6a6d8921942dd9806607ebc2750416b289adea669198769f2e15ed926c3aa92bf88ece232317b4ea463e84b0fcd3b53577812ee449ccc448eb45e6f544e25b6 └──── @@ -1789,26 +1789,26 @@ Table of Contents │ ) 2>&1 | tail -20 └──── ┌──── - │ 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 + │ 2024-11-21 08:16:30 slip39 7 sniff 19 improve 31 bolt 43 award 55 satisfy + │ 2024-11-21 08:16:30 slip39 8 quantity 20 theory 32 style 44 guilt 56 meaning + │ 2024-11-21 08:16:30 slip39 9 video 21 exclude 33 holiday 45 equation 57 vintage + │ 2024-11-21 08:16:30 slip39 10 premium 22 order 34 penalty 46 black 58 senior + │ 2024-11-21 08:16:30 slip39 11 package 23 carve 35 exhaust 47 election 59 rival + │ 2024-11-21 08:16:30 slip39 12 geology 24 charity 36 discuss 48 educate + │ 2024-11-21 08:16:30 slip39 6th 1 exchange 13 literary 25 artist 37 involve 49 phrase + │ 2024-11-21 08:16:30 slip39 2 kidney 14 fraction 26 triumph 38 undergo 50 check + │ 2024-11-21 08:16:30 slip39 3 decision 15 group 27 execute 39 amazing 51 club + │ 2024-11-21 08:16:30 slip39 4 spider 16 angel 28 repair 40 unwrap 52 spark + │ 2024-11-21 08:16:30 slip39 5 academic 17 evaluate 29 morning 41 thumb 53 guitar + │ 2024-11-21 08:16:30 slip39 6 short 18 chew 30 earth 42 plains 54 lungs + │ 2024-11-21 08:16:30 slip39 7 failure 19 view 31 worthy 43 craft 55 epidemic + │ 2024-11-21 08:16:30 slip39 8 papa 20 imply 32 loan 44 crisis 56 repeat + │ 2024-11-21 08:16:30 slip39 9 lilac 21 video 33 merchant 45 bracelet 57 material + │ 2024-11-21 08:16:30 slip39 10 brother 22 huge 34 database 46 engage 58 tension + │ 2024-11-21 08:16:30 slip39 11 formal 23 true 35 bucket 47 year 59 charity + │ 2024-11-21 08:16:30 slip39 12 exotic 24 discuss 36 slush 48 false + │ 2024-11-21 08:16:30 slip39.layout ETH m/44'/60'/0'/0/0 : 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E + │ 2024-11-21 08:16:30 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 @@ -1851,9 +1851,9 @@ Table of Contents │ ) 2>&1 └──── ┌──── - │ 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 - + │ 2024-11-21 08:16:31 slip39.recovery BIP-39 Language detected: english + │ 2024-11-21 08:16:31 slip39.recovery Recovered 128-bit BIP-39 entropy from english mnemonic (no passphrase supported) + │ 2024-11-21 08:16:31 slip39.recovery Recovered BIP-39 secret; To re-generate SLIP-39 wallet, send it to: python3 -m slip39 --secret - │ ffffffffffffffffffffffffffffffff └──── @@ -1871,26 +1871,26 @@ Table of Contents │ ) 2>&1 | tail -20 └──── ┌──── - │ 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 + │ 2024-11-21 08:16:31 slip39 4 skin 11 pecan 18 ruin + │ 2024-11-21 08:16:31 slip39 5 auction 12 theater 19 duration + │ 2024-11-21 08:16:31 slip39 6 easy 13 fused 20 artist + │ 2024-11-21 08:16:31 slip39 7 buyer 14 undergo + │ 2024-11-21 08:16:31 slip39 5th 1 group 8 observe 15 herald + │ 2024-11-21 08:16:31 slip39 2 typical 9 coding 16 birthday + │ 2024-11-21 08:16:31 slip39 3 decision 10 episode 17 pile + │ 2024-11-21 08:16:31 slip39 4 snake 11 parking 18 deadline + │ 2024-11-21 08:16:31 slip39 5 daisy 12 maiden 19 coding + │ 2024-11-21 08:16:31 slip39 6 hormone 13 activity 20 leaves + │ 2024-11-21 08:16:31 slip39 7 ordinary 14 arcade + │ 2024-11-21 08:16:31 slip39 6th 1 group 8 blanket 15 order + │ 2024-11-21 08:16:31 slip39 2 typical 9 maximum 16 aunt + │ 2024-11-21 08:16:31 slip39 3 decision 10 desktop 17 grownup + │ 2024-11-21 08:16:31 slip39 4 spider 11 ounce 18 dismiss + │ 2024-11-21 08:16:31 slip39 5 devote 12 careful 19 grin + │ 2024-11-21 08:16:31 slip39 6 submit 13 railroad 20 erode + │ 2024-11-21 08:16:31 slip39 7 escape 14 agree + │ 2024-11-21 08:16:31 slip39.layout ETH m/44'/60'/0'/0/0 : 0x824b174803e688dE39aF5B3D7Cd39bE6515A19a1 + │ 2024-11-21 08:16:31 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 @@ -1904,26 +1904,26 @@ Table of Contents │ ) 2>&1 | tail -20 └──── ┌──── - │ 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 + │ 2024-11-21 08:16:32 slip39 4 skin 11 domestic 18 dramatic + │ 2024-11-21 08:16:32 slip39 5 cause 12 secret 19 kind + │ 2024-11-21 08:16:32 slip39 6 snapshot 13 sniff 20 display + │ 2024-11-21 08:16:32 slip39 7 manager 14 helpful + │ 2024-11-21 08:16:32 slip39 5th 1 silent 8 terminal 15 unkind + │ 2024-11-21 08:16:32 slip39 2 birthday 9 robin 16 square + │ 2024-11-21 08:16:32 slip39 3 decision 10 huge 17 party + │ 2024-11-21 08:16:32 slip39 4 snake 11 standard 18 genuine + │ 2024-11-21 08:16:32 slip39 5 aide 12 domestic 19 petition + │ 2024-11-21 08:16:32 slip39 6 username 13 famous 20 purchase + │ 2024-11-21 08:16:32 slip39 7 task 14 surprise + │ 2024-11-21 08:16:32 slip39 6th 1 silent 8 trial 15 expect + │ 2024-11-21 08:16:32 slip39 2 birthday 9 facility 16 sack + │ 2024-11-21 08:16:32 slip39 3 decision 10 security 17 mansion + │ 2024-11-21 08:16:32 slip39 4 spider 11 tracks 18 elephant + │ 2024-11-21 08:16:32 slip39 5 cleanup 12 grill 19 explain + │ 2024-11-21 08:16:32 slip39 6 preach 13 animal 20 rich + │ 2024-11-21 08:16:32 slip39 7 forbid 14 island + │ 2024-11-21 08:16:32 slip39.layout ETH m/44'/60'/0'/0/0 : 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E + │ 2024-11-21 08:16:32 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 diff --git a/SLIP39-Example.pdf b/SLIP39-Example.pdf index 4d8d63c..536937b 100644 Binary files a/SLIP39-Example.pdf and b/SLIP39-Example.pdf differ diff --git a/requirements-gui.txt b/requirements-gui.txt index c9551f1..82e801d 100644 --- a/requirements-gui.txt +++ b/requirements-gui.txt @@ -1 +1 @@ -pysimplegui >=5.0.0,<5.1 +pysimplegui >=5.0.7,<5.1 diff --git a/slip39/version.py b/slip39/version.py index 62968a9..a9efbe7 100644 --- a/slip39/version.py +++ b/slip39/version.py @@ -1,2 +1,2 @@ -__version_info__ = ( 13, 0, 0 ) +__version_info__ = ( 13, 0, 1 ) __version__ = '.'.join( map( str, __version_info__ ))