From dc5e1cdae5b8a0102981188897bc99af0ada797a Mon Sep 17 00:00:00 2001 From: odudex Date: Fri, 20 Oct 2023 15:02:35 -0300 Subject: [PATCH 1/2] docs structural update --- docs/faq.en.md | 5 +- .../{ => features}/QR-transcript-tools.en.md | 20 +-- .../{ => features}/encrypted-mnemonics.en.md | 0 .../{ => features}/printing.en.md | 14 +- .../features/sd-card-update.en.md | 6 + docs/getting-started/features/tools.en.md | 36 +++++ docs/getting-started/index.en.md | 2 +- .../getting-started/installing/from-gui.en.md | 4 +- .../installing/from-pre-built-release.en.md | 6 +- docs/getting-started/installing/index.en.md | 2 +- docs/getting-started/tools.en.md | 36 ----- .../{ => usage}/generating-a-mnemonic.en.md | 24 +-- .../{ => usage}/loading-a-mnemonic.en.md | 56 +++---- .../navigating-the-main-menu.en.md | 44 +++--- .../{ => usage}/using-a-multisig-wallet.en.md | 140 +++++++++--------- .../using-a-single-sig-wallet.en.md | 134 ++++++++--------- 16 files changed, 266 insertions(+), 263 deletions(-) rename docs/getting-started/{ => features}/QR-transcript-tools.en.md (65%) rename docs/getting-started/{ => features}/encrypted-mnemonics.en.md (100%) rename docs/getting-started/{ => features}/printing.en.md (72%) create mode 100644 docs/getting-started/features/sd-card-update.en.md create mode 100644 docs/getting-started/features/tools.en.md delete mode 100644 docs/getting-started/tools.en.md rename docs/getting-started/{ => usage}/generating-a-mnemonic.en.md (72%) rename docs/getting-started/{ => usage}/loading-a-mnemonic.en.md (66%) rename docs/getting-started/{ => usage}/navigating-the-main-menu.en.md (78%) rename docs/getting-started/{ => usage}/using-a-multisig-wallet.en.md (65%) rename docs/getting-started/{ => usage}/using-a-single-sig-wallet.en.md (63%) diff --git a/docs/faq.en.md b/docs/faq.en.md index b706c27f3..7a1af5e9a 100644 --- a/docs/faq.en.md +++ b/docs/faq.en.md @@ -23,7 +23,7 @@ For mnemonics, Krux recognizes: 1. BIP-39 Plaintext (Used by Krux and [https://iancoleman.io/bip39/](https://iancoleman.io/bip39/)) 2. SeedSigner [SeedQR and CompactSeedQR](https://github.com/SeedSigner/seedsigner/blob/dev/docs/seed_qr/README.md) Formats 3. [UR Type `crypto-bip39`](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md) -4. Encrypted QR Code (Format created by Krux, [more info here](../encrypted-qr-codes)) +4. Encrypted QR Code (Format created by Krux, [more info here](getting-started/features/encrypted-mnemonics.md)) For loading wallets, Krux recognizes: @@ -69,6 +69,7 @@ Some Amigo screens have inverted x coordinates while others don’t. If after flashing `maixpy_amigo_tft` to your device you notice that the buttons on keypad input screens appear to be in the wrong order, please try flashing `maixpy_amigo_ips` instead (or vice versa) which should correct the issue. ## Why isn't Krux detecting my microSD card or presenting an error? -Starting from version 23.09.0, Krux supports SD card hot plugging. If you are using older versions, it may only detect the SD card at boot, so make sure Krux is turned off when inserting the microSD into it. Also check if the SD card is in MBR/DOS FAT32 format, you can also test the card a few times using Krux [Tools>Check SD Card](../getting-started/tools/#check-sd-card) to see if it worked. +Starting from version 23.09.0, Krux supports SD card hot plugging. If you are using older versions, it may only detect the SD card at boot, so make sure Krux is turned off when inserting the microSD into it. To test the card compatibility use Krux [Tools>Check SD Card](getting-started/features/tools.md/#check-sd-card). +Make sure the SD card is using MBR/DOS partition table and FAT32 format. Here is some [supported microSD cards](https://github.com/m5stack/m5-docs/blob/master/docs/en/core/m5stickv.md#tf-cardmicrosd-test), and here is the MaixPy FAQ explaining [Why my micro SD card cannot be read](https://wiki.sipeed.com/soft/maixpy/en/others/maixpy_faq.html#Micro-SD-card-cannot-be-read). \ No newline at end of file diff --git a/docs/getting-started/QR-transcript-tools.en.md b/docs/getting-started/features/QR-transcript-tools.en.md similarity index 65% rename from docs/getting-started/QR-transcript-tools.en.md rename to docs/getting-started/features/QR-transcript-tools.en.md index fbc5beb31..e9d44b2d4 100644 --- a/docs/getting-started/QR-transcript-tools.en.md +++ b/docs/getting-started/features/QR-transcript-tools.en.md @@ -1,40 +1,40 @@ When you export a mnemonic, encrypted mnemonic or a generic text QR code, alternative visualization modes will be available. To change modes swipe sideways, or press `Page` buttons if the device doesn't have touchscreen. ### Standard Mode - - + + This mode is optimized for scanning, the raw QR code will be displayed
### Lines Mode - - + + If you are good at transcribing things like handwritten text, with this mode one QR code line will be highlighted at a time. Press `Enter` to highlight the next line.
### Zoomed Regions Mode - - + + QR codes will be split into regions, of 5x5 or 7x7 "blocks". One QR code region will be shown at a time. Press `Enter` to display the next region.
### Highlighted Regions Mode - - + + QR codes will be split into regions, of 5x5 or 7x7 "blocks". One QR code region will be highlighted at a time. Press `Enter` to highlight the next region.
### Grided Mode - - + + Grids will be added to a standard QR code. In a dark room, if you place a sheet of paper over the device's screen, you'll notice QR code will be visible and it will be possible to copy it directly from above. Be careful to don't damage your screen with pen and markers, use an insulating plastic tape or film to protect the device if you use this method. diff --git a/docs/getting-started/encrypted-mnemonics.en.md b/docs/getting-started/features/encrypted-mnemonics.en.md similarity index 100% rename from docs/getting-started/encrypted-mnemonics.en.md rename to docs/getting-started/features/encrypted-mnemonics.en.md diff --git a/docs/getting-started/printing.en.md b/docs/getting-started/features/printing.en.md similarity index 72% rename from docs/getting-started/printing.en.md rename to docs/getting-started/features/printing.en.md index 69dcaf707..a37cae57a 100644 --- a/docs/getting-started/printing.en.md +++ b/docs/getting-started/features/printing.en.md @@ -1,19 +1,19 @@ -Krux has the ability to print all QR codes it generates, including mnemonic, xpub, wallet backup, and signed PSBT, via a locally-connected thermal printer over its serial port. Consult the [part list](../../parts) page for supported printers. +Krux has the ability to print all QR codes it generates, including mnemonic, xpub, wallet backup, and signed PSBT, via a locally-connected thermal printer over its serial port. Consult the [part list](../../parts.md) page for supported printers. - - + + - - + + Once connected and powered on, all screens that display a QR code will begin showing a follow-up screen asking if you want to `Print to QR?`. diff --git a/docs/getting-started/features/sd-card-update.en.md b/docs/getting-started/features/sd-card-update.en.md new file mode 100644 index 000000000..5b106ef57 --- /dev/null +++ b/docs/getting-started/features/sd-card-update.en.md @@ -0,0 +1,6 @@ +### Upgrade via microSD card +Once you've installed the initial firmware on your device via USB, you can either continue updating the device by flashing or you can perform upgrades via microSD card to keep the device airgapped. + +To perform an upgrade, simply copy the `firmware.bin` and `firmware.bin.sig` files to the root of a FAT-32(MBR) formatted microSD card, insert the card into your device, and reboot the device. If it detects the new firmware file and is able to verify the signature, you will be prompted to install it. + +Once installation is complete, eject the microSD card and delete the firmware files before reinserting and rebooting. \ No newline at end of file diff --git a/docs/getting-started/features/tools.en.md b/docs/getting-started/features/tools.en.md new file mode 100644 index 000000000..5d7a9cc84 --- /dev/null +++ b/docs/getting-started/features/tools.en.md @@ -0,0 +1,36 @@ +Here are some useful tools that are available as soon as Krux starts! These are offered as a complement to managing your device and wallets. + + + + +### Check SD Card + + + +You can check if a SD card can be detected and read by your device and explore its content. + +
+ +### Delete Mnemonic + + + +Delete any stored encrypted mnemonic, on device's internal memory or SD card. + +
+ +### Print Test QR + + + +Quickly print a test QR code to check and optimize your printer setup. + +
+ +### Create QR Code + + + +Enter a text input to create, print or transcript a QR code that can be later used as an encryption key or as a passphrase. + +
\ No newline at end of file diff --git a/docs/getting-started/index.en.md b/docs/getting-started/index.en.md index f1ae756fd..f684e9230 100644 --- a/docs/getting-started/index.en.md +++ b/docs/getting-started/index.en.md @@ -1,6 +1,6 @@ Krux is open-source Bitcoin signing firmware for devices with the K210 chipset. -Signing operations in Krux are done offline via QR code or via SD card. You can create/load your BIP-39 mnemonic, or import a wallet descriptor, and sign transactions all without having to plug the device into your computer (except to initially flash the firmware). It reads QR codes with its camera and outputs QR codes to its screen, or to paper via an optional [thermal printer attachment](../getting-started/printing.en.md). +Signing operations in Krux are done offline via QR code or via SD card. You can create/load your BIP-39 mnemonic, or import a wallet descriptor, and sign transactions all without having to plug the device into your computer (except to initially flash the firmware). It reads QR codes with its camera and outputs QR codes to its screen, or to paper via an optional [thermal printer attachment](../getting-started/features/printing.en.md). Krux does not come with its own desktop wallet software. Instead, you can use Krux with third-party wallet coordinators to create/manage wallets, and send transactions from your online computer or mobile device while keeping your keys offline. Krux was built to be vendor agnostic and works with many popular wallet coordinators, including: diff --git a/docs/getting-started/installing/from-gui.en.md b/docs/getting-started/installing/from-gui.en.md index d449869ff..164980f94 100644 --- a/docs/getting-started/installing/from-gui.en.md +++ b/docs/getting-started/installing/from-gui.en.md @@ -10,7 +10,7 @@ Keep in mind that this is software under development in the alpha stage and may ### Requirements #### Hardware -You will need a K210-based device such as the M5StickV, Maix Amigo, Maix Dock, or Maix Bit and a USB-C cable to continue. Consult the [part list](../../parts) for more information. +You will need a K210-based device such as the M5StickV, Maix Amigo, Maix Dock, or Maix Bit and a USB-C cable to continue. Consult the [part list](../../parts.md) for more information. #### Download the latest release @@ -86,7 +86,7 @@ Clicking on the dropdown arrow brings up a list of officially supported K210 dev Now we will select which firmware we want to flash, i.e. the [latest official release](https://github.com/selfcustody/krux/releases) or the [test binaries](https://github.com/odudex/krux_binaries). -The difference between the two releases is that, while in the first one we can [verify its integrity and authenticity](/krux/getting-started/installing/#verify-the-files), in the second one we will have no means of verifying it. However, the test binaries will contain the newest features that are being developed and discussed by the kruxer community. +The difference between the two releases is that, while in the first one we can [verify its integrity and authenticity](from-pre-built-release.md/#verify-the-files), in the second one we will have no means of verifying it. However, the test binaries will contain the newest features that are being developed and discussed by the kruxer community. ##### Official release diff --git a/docs/getting-started/installing/from-pre-built-release.en.md b/docs/getting-started/installing/from-pre-built-release.en.md index eed66ae2c..e779fdd7b 100644 --- a/docs/getting-started/installing/from-pre-built-release.en.md +++ b/docs/getting-started/installing/from-pre-built-release.en.md @@ -77,8 +77,4 @@ If after flashing `maixpy_amigo_tft` to your device you notice that the buttons Prefer a different language? Krux has support for multiple languages. Once at the start screen, go to `Settings`, followed by `Locale`, and select the locale you wish to use. If you have a microSD card inserted into the device, your preference will be automatically saved to a `settings.json` file at the root of the card. ### Upgrade via microSD card -Once you've installed the initial firmware on your device via USB, you can either continue updating the device by flashing or you can perform upgrades via microSD card to keep the device airgapped. - -To perform an upgrade, simply copy the `firmware.bin` and `firmware.bin.sig` files to the root of a FAT-32 formatted microSD card, insert the card into your device, and reboot the device. If it detects the new firmware file and is able to verify the signature, you will be prompted to install it. - -Once installation is complete, eject the microSD card and delete the firmware files before reinserting and rebooting. +Once you've installed the initial firmware on your device via USB, you can either continue updating the device by flashing or you can perform upgrades [via microSD](../features/sd-card-update.md) card to keep the device airgapped. diff --git a/docs/getting-started/installing/index.en.md b/docs/getting-started/installing/index.en.md index 595bcbdd0..7c4683d92 100644 --- a/docs/getting-started/installing/index.en.md +++ b/docs/getting-started/installing/index.en.md @@ -7,6 +7,6 @@ This page summarizes how to install Krux from four different ways. ### Requirements -In any form, there is a basic requirement for all of them: You will need a K210-based device such as the M5StickV, Maix Amigo, Maix Dock, or Maix Bit and a USB-C cable to continue. Consult the [part list](../../parts) for more information. +In any form, there is a basic requirement for all of them: You will need a K210-based device such as the M5StickV, Maix Amigo, Maix Dock, or Maix Bit and a USB-C cable to continue. Consult the [part list](../../parts.md) for more information. After the first firmware install, if you wish to perform further airgapped updates or use other features that uses the SD card, you will also need a [supported microSD card](https://github.com/m5stack/m5-docs/blob/master/docs/en/core/m5stickv.md#tf-cardmicrosd-test). We cannot guarantee that a microSD card is compatible and will work in your device; you'll need to test it on the device to be sure. \ No newline at end of file diff --git a/docs/getting-started/tools.en.md b/docs/getting-started/tools.en.md deleted file mode 100644 index 23c81f9fa..000000000 --- a/docs/getting-started/tools.en.md +++ /dev/null @@ -1,36 +0,0 @@ -Here are some useful tools that are available as soon as Krux starts! These are offered as a complement to managing your device and wallets. - - - - -### Check SD Card - - - -You can check if a SD card can be detected and read by your device and explore its content. - -
- -### Delete Mnemonic - - - -Delete any stored encrypted mnemonic, on device's internal memory or SD card. - -
- -### Print Test QR - - - -Quickly print a test QR code to check and optimize your printer setup. - -
- -### Create QR Code - - - -Enter a text input to create, print or transcript a QR code that can be later used as an encryption key or as a passphrase. - -
\ No newline at end of file diff --git a/docs/getting-started/generating-a-mnemonic.en.md b/docs/getting-started/usage/generating-a-mnemonic.en.md similarity index 72% rename from docs/getting-started/generating-a-mnemonic.en.md rename to docs/getting-started/usage/generating-a-mnemonic.en.md index 3493ee942..533338ed1 100644 --- a/docs/getting-started/generating-a-mnemonic.en.md +++ b/docs/getting-started/usage/generating-a-mnemonic.en.md @@ -1,12 +1,12 @@ Krux has support for creating 12 and 24-word mnemonic seed phrases. Since true entropy is difficult to produce, especially with an embedded device, we recommend to outsource entropy generation using dice rolls, but it is also possible to use camera as a source of entropy to quickly create a mnemonic. At the start screen, once you select `New Mnemonic`, you will be taken to a second menu where you can choose to create a mnemonic via camera, via rolls of a D6 (standard six-sided die) or D20 (20-sided die). - - + + ## Camera - - + + (Experimental!) Choose between 12 or 24 words, then take a random picture and Krux will generate a mnemonic from the hash of the image bytes. @@ -15,8 +15,8 @@ At the start screen, once you select `New Mnemonic`, you will be taken to a seco ## Dice Rolls ### Via D6 - - + + Choose between 12 or 24 words. @@ -25,23 +25,23 @@ The entropy in a single roll of a D6 is 2.585 bits ( log2(6) ); there
### Via D20 - - + + Since a D20 has more possible outcomes, the entropy is increased per roll to 4.322 bits ( log2(20) ). This means that only 30 rolls are necessary to create a 12-word mnemonic and 60 rolls for a 24-word mnemonic.
### How it works - - + + For dice rolls, Krux keeps track of every roll you enter and displays the cumulative string of outcomes after each roll.
- - + + When you have entered your final roll, Krux will hash this string using SHA256 and output the resulting hash to the screen so that you can verify it for yourself. diff --git a/docs/getting-started/loading-a-mnemonic.en.md b/docs/getting-started/usage/loading-a-mnemonic.en.md similarity index 66% rename from docs/getting-started/loading-a-mnemonic.en.md rename to docs/getting-started/usage/loading-a-mnemonic.en.md index 79066488d..4ef5c8a9f 100644 --- a/docs/getting-started/loading-a-mnemonic.en.md +++ b/docs/getting-started/usage/loading-a-mnemonic.en.md @@ -1,11 +1,11 @@ Once you have either a 12- or 24-word mnemonic, choose `Load Mnemonic` on Krux's start menu, and you will be presented with several input methods: - - + + ## Input Methods - - + + ### Via Camera @@ -20,9 +20,9 @@ It's unpleasant having to manually enter 12 or 24 words every time you want to u 1. **Plain text QR**: The mnemonic words encoded as text, with words separated by spaces. 2. [SeedQR](https://github.com/SeedSigner/seedsigner/blob/dev/docs/seed_qr/README.md): Basically, it is the mnemonic words of the respective BIP-39 numbers concatenated, encoded as text. 3. [Compact SeedQR](https://github.com/SeedSigner/seedsigner/blob/dev/docs/seed_qr/README.md#compactseedqr-specification): Basically, it is the mnemonic words bits concatenated as bytes. -4. [Encrypted Mnemonic](../../encrypted-qr-codes): A specification created by Krux that encrypts the mnemonic words bits and adds some information about the encryption used. +4. [Encrypted Mnemonic](../features/encrypted-mnemonics.md): A specification created by Krux that encrypts the mnemonic words bits and adds some information about the encryption used. -After opening your wallet via one of the manual methods you can use Krux to create QR codes of all types above, transcript them to paper or metal using the transcription helpers or attach a thermal printer to your Krux and print out the mnemonic. Check out the [Printing section](printing.md) for more information. +After opening your wallet via one of the manual methods you can use Krux to create QR codes of all types above, transcript them to paper or metal using the transcription helpers or attach a thermal printer to your Krux and print out the mnemonic. Check out the [Printing section](../features/printing.md) for more information. You can also use [an offline QR code generator for this](https://iancoleman.io/bip39/) (ideally on an airgapped device). #### Tiny Seed @@ -31,16 +31,16 @@ You can also use [an offline QR code generator for this](https://iancoleman.io/b Krux devices have machine vision capabilities that allow users to scan these metal plates and instantly load mnemonics engraved on them. To properly scan them place the Tiny Seed over a black background and paint the punched bits black to increase contrast. ### Via Manual Input - - + + Manually type `Words`, `Word Numbers`, `Tiny Seed` (toggle the bits or punches) or [`Stackbit`](https://stackbit.me) (model 1248 metal plate backup).
#### Words - - + + Enter each word of your BIP-39 mnemonic one at a time. Krux will disable impossible-to-reach letters as you type and will attempt to autocomplete your words to speed up the process. @@ -49,8 +49,8 @@ On your 12th or 24th word, you can leave the word blank to have Krux generate th
#### Word Numbers - - + + ##### Decimal @@ -64,24 +64,24 @@ On your 12th or 24th word, you can leave the word blank to have Krux generate th
#### Tiny Seed (Bits) - - + + Enter each word of your BIP-39 mnemonic words in their binary form, toggling necessary bits to recreate each of the word's respective number. Last word will have checksum bits dynamically toggled while you fill previous bits.
#### Stackbit 1248 - - + + Enter mnemonic BIP-39 word's numbers using Stackbit 1248 metal plate backup method, where each of the four digits of the word's number is a sum of marked (punched) numbers 1,2,4 and 8. For example, to enter the word "pear", number 1297, you have to punch (1)(2)(1+8=9)(1+2+4=7)
### From Storage - - + + You can retrieve mnemonics previously stored on device's internal flash or external (SD card). All stored mnemonics are encrypted, to load them you'll have to enter the same key you used to encrypt them. @@ -90,36 +90,36 @@ You can retrieve mnemonics previously stored on device's internal flash or exter ## Wallet loading sequence ### Confirm Mnemonic Words - - + + Once you have entered your mnemonic, you will be presented with the full list of words to confirm.
### Passphrase - - + + -After confirming the mnemonic words, you can optionally choose to type or scan a BIP-39 passphrase. You can create a QR code from your passphrase offline in [Tools](tools.md#create-qr-code) section. +After confirming the mnemonic words, you can optionally choose to type or scan a BIP-39 passphrase. You can create a QR code from your passphrase offline in [Tools](../features/tools.md#create-qr-code) section.
### Fingerprint - - + + The wallet's fingerprint, if you have it noted down, will help you make sure you entered the correct mnemonic and passphrase(optional) and will load the expected wallet.
### Single-sig or Multisig - - + + After loading your mnemonic and passphrase(optional), you will be asked if you want to use it as part of a `Single-sig` or `Multisig` wallet. -Your choice here will subtly change the generated xpub that is used to set up your device in your wallet coordinator software. You can learn more about the difference in the following guides for using [single-sig](../using-a-single-sig-wallet) and [multisig](../using-a-multisig-wallet) wallets. +Your choice here will subtly change the generated xpub that is used to set up your device in your wallet coordinator software. You can learn more about the difference in the following guides for using [single-sig](using-a-single-sig-wallet.md) and [multisig](using-a-multisig-wallet.md) wallets. Now, onto the main menu... diff --git a/docs/getting-started/navigating-the-main-menu.en.md b/docs/getting-started/usage/navigating-the-main-menu.en.md similarity index 78% rename from docs/getting-started/navigating-the-main-menu.en.md rename to docs/getting-started/usage/navigating-the-main-menu.en.md index b9ba69821..8139f326c 100644 --- a/docs/getting-started/navigating-the-main-menu.en.md +++ b/docs/getting-started/usage/navigating-the-main-menu.en.md @@ -1,14 +1,14 @@ After entering your mnemonic, you will find yourself on Krux's main menu. Below is a breakdown of the entries available: - - + + ### Mnemonic This will open a new submenu with several options to backup your mnemonic. #### Words - - + + Display the mnemonic words as text so you can write them down. @@ -35,8 +35,8 @@ This metal backup format represent BIP39 mnemonic word numbers index on its bina
### Encrypt Mnemonic - - + + Here you can backup your mnemonic by storing them encrypted on a device's flash, on a SD card, or QR code format. The encryption method and parameters can be modified in settings. @@ -59,8 +59,8 @@ The encrypted mnemonic will be converted to a QR code. When you scan this QR cod
### Extended Public Key - - + + This option displays your master extended public key (xpub) as text as well as a QR code. @@ -71,8 +71,8 @@ If a thermal printer is attached, you can print both QR codes.
### Wallet Descriptor - - + + When you first select this option, you will be prompted to load a wallet. At this point, the camera will turn on and you will need to scan a wallet backup QR code from your wallet coordinator software. If scanned successfully, you will see a preview of the wallet to confirm. @@ -85,8 +85,8 @@ Note that you currently can't change the wallet once one has been loaded. To do ### Address #### Scan Address - - + + This option turns on the camera and allows you to scan in a QR code of a receive address. Upon scanning, it will render its own QR code of the address back to the display along with the (text) address below it. You could use this feature to scan the address of someone you want to send coins to and display the QR back to your wallet coordinator rather than copy-pasting an address. @@ -99,32 +99,32 @@ This option exists as an extra security check to verify that the address your wa
#### Receive Addresses - - + + List your wallet receiving addresses, you can browse to select an arbitrary address to show your QRCode and print if you want
#### Change Addresses - - + + List your wallet change addresses, you can browse to select an arbitrary address to show your QRCode and print if you want
### Sign - - + + Under *Sign*, you can choose to sign a PSBT or a message (sha256 hash).
#### PSBT - - + + This option turns on the camera and allows you to scan an animated QR code of a PSBT generated by your wallet coordinator software. Upon scanning, you will be shown a preview of how much BTC is being sent, who is receiving it, and the fee that is being paid. Amounts are displayed according to the locale and the International Bureau of Weights and Measures, while still using the idea behind the [Satcomma standard format](https://medium.com/coinmonks/the-satcomma-standard-89f1e7c2aede). @@ -133,8 +133,8 @@ If you confirm, a signed PSBT will be generated and an animated QR code will be
#### Message - - + + This option turns on the camera and allows you to scan a QR code of a message or the sha256 hash of one. Upon scanning, you will be shown a preview of the message's sha256 hash to confirm before signing. diff --git a/docs/getting-started/using-a-multisig-wallet.en.md b/docs/getting-started/usage/using-a-multisig-wallet.en.md similarity index 65% rename from docs/getting-started/using-a-multisig-wallet.en.md rename to docs/getting-started/usage/using-a-multisig-wallet.en.md index 0c27c7098..9e3803b47 100644 --- a/docs/getting-started/using-a-multisig-wallet.en.md +++ b/docs/getting-started/usage/using-a-multisig-wallet.en.md @@ -1,101 +1,101 @@ -This guide assumes you have already created a mnemonic for each cosigner that will be in your multisig wallet. If that is not the case, head over to the [Generating a Mnemonic](../generating-a-mnemonic) page and complete those steps first. +This guide assumes you have already created a mnemonic for each cosigner that will be in your multisig wallet. If that is not the case, head over to the [Generating a Mnemonic](generating-a-mnemonic.md) page and complete those steps first. When entering your mnemonics into Krux, make sure to select `Multisig` for all keys in your multisignature scheme. The choice of `Single-sig` vs. `Multisig` at this point will change the derivation path used to generate your master extended public key (xpub) which will affect how wallet software handles it. - - + + Selecting `Multisig` will derive an xpub using the derivation path `m/48'/0'/0'/2'` on mainnet and `m/48'/1'/0'/2'` on testnet, which indicates to wallet software that a [Multisig Wallet script type](https://github.com/bitcoin/bips/blob/master/bip-0048.mediawiki) should be used, specifically the Native Segwit script `P2WSH`, or just `wsh`. -**Note:** While not required, the load of the `Wallet Descriptor` is strongly recommended to load your multisig wallet into Krux before signing a PSBT as it will allow the device to verify that the transaction it is signing has the correct list of cosigners as defined in the wallet. It is also useful if you wish to [print a backup](../printing) of the wallet or visually inspect the list of cosigners being output by your wallet coordinator. +**Note:** While not required, the load of the `Wallet Descriptor` is strongly recommended to load your multisig wallet into Krux before signing a PSBT as it will allow the device to verify that the transaction it is signing has the correct list of cosigners as defined in the wallet. It is also useful if you wish to [print a backup](../features/printing.md) of the wallet or visually inspect the list of cosigners being output by your wallet coordinator. ## Specter Desktop ### Create the wallet In Specter Desktop, you will need to import your public key by adding a new device. Press the *Add new device* button on the left side of the app. - + Krux is not listed as one of the available device types on the *Add Device* screen, so you will need to select the *Other* option. - + You will be taken to the *Upload Keys* screen where you can choose to *Scan QR code*. - + On your Krux, navigate to the *Extended Public Key* option under the main menu and show the **first** QR code to Specter Desktop. - - + + It should import the xpub and display the *Purpose* as *#0 Multisig Sig (Segwit)*. - + Give the device a name and press *Continue*. You should see the new device in the devices list on the left side of the app. - + Repeat this process for every key that will be in your multisig wallet. Once all key devices have been added, you can make a wallet using them. Press the *Add new wallet* button on the left side of the app. - + Choose to create a *Multisignature wallet* when it asks which type of wallet you want on the following screen. - + Select the devices you just added and press *Continue*. - + Give your wallet a name, make sure to select *Segwit* for the wallet type, and decide how many of your keys are required to sign a transaction, then press *Create wallet*. - + Congrats, you just created a multisig wallet! ### Load the wallet into Krux Load the wallet into Krux by going to the *Settings* page in Specter Desktop, then click the *Export* tab. There, press the *Export* button to display a QR code of your wallet. - + In Krux, select the *Wallet* menu item option and scan the QR code. - - + + If it worked, Krux should display the wallet information that it loaded: - - + + ### Receive coins The *Receive* screen should show your first receive address that you can send funds to. - + ### Send coins Go to *Send* in Specter Desktop, fill in the recipient address, amount, and any extra information you wish to supply, and click *Create unsigned transaction*. - + You will now see a screen listing the devices in your wallet. Select the device you want to sign the transaction (PSBT) with. Specter Desktop will display an animated QR code of the PSBT that you can scan with Krux by going to *Sign > PSBT* in its main menu. After scanning, Krux should display info about the transaction for you to confirm before signing. - - + + Once you have confirmed, Krux will begin animating a QR code of the signed transaction that you can scan into Specter Desktop. - - + + In Specter Desktop, click *Scan signed transaction* and show it the QR. Each part of the QR code that is read will receive a ghost icon to indicate progress. - + Once all parts of the QR code have been read, you should see a checkmark next to your device indicating its signature was added. @@ -103,7 +103,7 @@ Repeat this process for the remaining keys in your wallet until you have a quoru After the final signature, a window will popup asking you to broadcast the transaction. Click *Send transaction* and your transaction should be broadcasted to the network! - + Congratulations, you have learned how to send a transaction using Specter Desktop πŸŽ‰ @@ -111,24 +111,24 @@ Congratulations, you have learned how to send a transaction using Specter Deskto ### Create the wallet In Sparrow, create a new wallet by going to *File > New Wallet* and give it a name. - + On the wallet screen, make sure to select a *Multi Signature* policy type with the *Native Segwit (P2WSH)* script type. Here you can decide how many keys will be in your multisig and how many should be required to sign a transaction. - + Now, you will need to import your public key. To do so, press the *Airgapped Hardware Wallet* button under *Keystores*. On the screen that pops up, Krux is not listed as one of the available device types, so look for the *Specter DIY* option and click its *Scan...* button. - + On your Krux, navigate to the *Extended Public Key* option under the main menu and show the **first** QR code to Sparrow. - - + + It should import the xpub and show a key under *Keystores* like the following: - + Repeat this process for every key that will be in your multisig wallet. @@ -139,45 +139,45 @@ Congrats, you just created a multisig wallet! ### Load the wallet into Krux Load the wallet into Krux by going back to the *Settings* page in Sparrow, then click the *Export...* button at the bottom of the screen and find *Specter Desktop* in the options list that pops up. Click its *Show...* button to display a QR code that you can import into Krux. - + In Krux, select the *Wallet* menu item option and scan the QR code. - - + + If it worked, Krux should display the wallet information that it loaded: - - + + ### Receive coins Navigate to the *Receive* screen where you should see your first receive address that you can send funds to. - + ### Send coins Go to the *Send* screen, fill in the recipient address, amount, and any extra information you wish to supply, and click the blue *Create Transaction* button. - + On the next screen, make sure that the *Signing Wallet* is the one you created and that the *Sighash* is set to *All*. Click the blue *Finalize Transaction for Signing* button. - + On the next screen, click *Show QR* to make Sparrow display an animated QR code of the PSBT that you can scan with Krux by going to *Sign > PSBT* in its main menu. - + After scanning, Krux should display info about the transaction for you to confirm before signing. - - + + Once you have confirmed, Krux will begin animating a QR code of the signed transaction that you can scan into Sparrow. - - + + In Sparrow, click *Scan QR* and show it the QR. A progress bar will indicate how many parts of the QR have been read. @@ -187,7 +187,7 @@ Repeat this process for the remaining keys in your wallet until you have a quoru After the final signature, the bar will fill and two new buttons appear. Click the blue *Broadcast Transaction* button and your transaction should be broadcasted to the network! - + Congratulations, you have learned how to send a transaction using Sparrow πŸŽ‰ @@ -195,87 +195,87 @@ Congratulations, you have learned how to send a transaction using Sparrow πŸŽ‰ ### Create the wallet In BlueWallet, create a new wallet by either pressing the *+* button or scrolling to the right until you see the *Add now* button. - + On the screen that pops up, add a name for your wallet, tap on *Vault*, and tap *Create* to begin creating a multisig wallet. - + On the following screen, you can proceed with the defaults or adjust the number of cosigners (default is 2-of-3) as needed by going into the Vault Settings. Make sure to leave the script type as `p2wsh`. - + - + Continue and you will be taken to a screen where you can import your keys. Tap *Import* under the first *Vault Key*. - + Tap again on *Scan or import a file* to begin scanning a QR code. On your Krux, navigate to the *Extended Public Key* option under the main menu and show the **first** QR code to BlueWallet. - - + + You should see a green checkmark next to the key if successful. - + Repeat this process for every key that will be in your multisig wallet. Once all keys have been added, tap *Create*. - + From here, you can send or receive. - + Congrats, you just created a multisig wallet! ### Load the wallet into Krux Load the wallet into Krux by tapping the ellipsis in the top-right to see the wallet settings. - + From here, tap *Export Coordination Setup* in order to display a QR code of your wallet. - + In Krux, select the *Wallet* menu item option and scan the QR code. - - + + If it worked, Krux should display the wallet information that it loaded: - - + + ### Receive coins Navigate to the *Receive* screen where you should see your first receive address that you can send funds to. - + ### Send coins Go to the *Send* screen, fill in the recipient address, amount, and any extra information you wish to supply, and tap *Next*. - + You should see an animated QR code of the PSBT that you can scan with Krux by going to *Sign > PSBT* in its main menu. After scanning, Krux should display info about the transaction for you to confirm before signing. - - + + Once you have confirmed, Krux will begin animating a QR code of the signed transaction that you can scan into BlueWallet. - - + + Once all parts of the QR code have been read, you can then choose to broadcast the transaction, sending it to the network! diff --git a/docs/getting-started/using-a-single-sig-wallet.en.md b/docs/getting-started/usage/using-a-single-sig-wallet.en.md similarity index 63% rename from docs/getting-started/using-a-single-sig-wallet.en.md rename to docs/getting-started/usage/using-a-single-sig-wallet.en.md index 14e48e820..72e1c58ff 100644 --- a/docs/getting-started/using-a-single-sig-wallet.en.md +++ b/docs/getting-started/usage/using-a-single-sig-wallet.en.md @@ -1,103 +1,103 @@ -This guide assumes you have already created a mnemonic. If that is not the case, head over to the [Generating a Mnemonic](../generating-a-mnemonic) page and complete those steps first. +This guide assumes you have already created a mnemonic. If that is not the case, head over to the [Generating a Mnemonic](generating-a-mnemonic.md) page and complete those steps first. When entering your mnemonic into Krux, make sure to select `Single-sig` before proceeding. The choice of `Single-sig` vs. `Multisig` at this point will change the derivation path used to generate your master extended public key (xpub) which will affect how wallet software handles it. - - + + Selecting `Single-sig` will derive an xpub using the derivation path `m/84'/0'/0'` on mainnet and `m/84'/1'/0'` on testnet, which indicates to wallet software that a [Segregated Witness (Segwit) script type](https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki) should be used. For single-sig wallets, this script is `P2WPKH`, or just `wpkh`. -**Note:** The load of the `Wallet Descriptor` step is unnecessary for signing PSBTs with Single-sig wallets since the script type (`wpkh`) and key are already known. However, this can be useful if you wish to [print a backup](../printing) of the wallet or want an additional sanity check. +**Note:** The load of the `Wallet Descriptor` step is unnecessary for signing PSBTs with Single-sig wallets since the script type (`wpkh`) and key are already known. However, this can be useful if you wish to [print a backup](../features/printing.md) of the wallet or want an additional sanity check. ## Specter Desktop ### Create the wallet In Specter Desktop, you will need to import your public key by adding a new device. Press the *Add new device* button on the left side of the app. - + Krux is not listed as one of the available device types on the *Add Device* screen, so you will need to select the *Other* option. - + You will be taken to the *Upload Keys* screen where you can choose to *Scan QR code*. - + On your Krux, navigate to the *Extended Public Key* option under the main menu and show the **first** QR code to Specter Desktop. - - + + It should import the xpub and display the *Purpose* as *#0 Single Sig (Segwit)*. - + Give the device a name and press *Continue*. You should see the new device in the devices list on the left side of the app. - + After you've added a device with your key to Specter Desktop, you can make a wallet using it. Press the *Add new wallet* button on the left side of the app. - + Choose to create a *Single key wallet* when it asks which type of wallet you want on the following screen. - + Select the device you just added. - + Give your wallet a name and make sure to select *Segwit* for the wallet type, then press *Create wallet*. - + Congrats, you just created a single-sig wallet with your key! ### Load the wallet into Krux Load the wallet into Krux by going to the *Settings* page in Specter Desktop, then click the *Export* tab. There, press the *Export* button to display a QR code of your wallet. - + In Krux, select the *Wallet* menu item option and scan the QR code. - - + + If it worked, Krux should display the wallet information that it loaded: - - + + ### Receive coins Navigate to the *Receive* screen where you should see a receive address that you can send funds to. - + ### Send coins Go to *Send* in Specter Desktop, fill in the recipient address, amount, and any extra information you wish to supply, and click *Create unsigned transaction*. - + You will now see a screen listing the devices in your wallet. Select the device you want to sign the transaction (PSBT) with. Specter Desktop will display an animated QR code of the PSBT that you can scan with Krux by going to *Sign > PSBT* in its main menu. After scanning, Krux should display info about the transaction for you to confirm before signing. - - + + Once you have confirmed, Krux will begin animating a QR code of the signed transaction that you can scan into Specter Desktop. - - + + In Specter Desktop, click *Scan signed transaction* and show it the QR. Each part of the QR code that is read will receive a ghost icon to indicate progress. - + Once all parts of the QR code have been read, you should see a window popup asking you to broadcast the transaction. Click *Send transaction* and your transaction should be broadcasted to the network! - + Congratulations, you have learned how to send a transaction using Specter Desktop πŸŽ‰ @@ -105,24 +105,24 @@ Congratulations, you have learned how to send a transaction using Specter Deskto ### Create the wallet In Sparrow, create a new wallet by going to *File > New Wallet* and give it a name. - + On the wallet screen, make sure to select a *Single Signature* policy type with the *Native Segwit (P2WPKH)* script type. - + Now, you will need to import your public key. To do so, press the *Airgapped Hardware Wallet* button under *Keystores*. On the screen that pops up, Krux is not listed as one of the available device types, so look for the *Specter DIY* option and click its *Scan...* button (You can also use the Jade, Keystone or Passport options available on Sparrow, they all have an animated QR code that is easy to be scanned by Krux). - + On your Krux, navigate to the *Extended Public Key* option under the main menu and show the **first** QR code to Sparrow. - - + + It should import the xpub and show a key under *Keystores* like the following: - + If everything looks right, click the blue *Apply* button to create your wallet. @@ -131,51 +131,51 @@ Congrats, you just created a single-sig wallet with your key! ## Load the wallet into Krux Load the wallet into Krux by going back to the *Settings* page in Sparrow, then click the *Export...* button at the bottom of the screen and find *Specter Desktop* in the options list that pops up. Click its *Show...* button to display a QR code that you can import into Krux. - + In Krux, select the *Wallet* menu item option and scan the QR code. - - + + If it worked, Krux should display the wallet information that it loaded: - - + + ## Receive coins Navigate to the *Receive* screen where you should see a receive address that you can send funds to. - + ## Send coins Go to the *Send* screen, fill in the recipient address, amount, and any extra information you wish to supply, and click the blue *Create Transaction* button. - + On the next screen, make sure that the *Signing Wallet* is the one you created and that the *Sighash* is set to *All*. Click the blue *Finalize Transaction for Signing* button. - + On the next screen, click *Show QR* to make Sparrow display an animated QR code of the PSBT that you can scan with Krux by going to *Sign > PSBT* in its main menu. - + After scanning, Krux should display info about the transaction for you to confirm before signing. - - + + Once you have confirmed, Krux will begin animating a QR code of the signed transaction that you can scan into Sparrow. - - + + In Sparrow, click *Scan QR* and show it the QR. A progress bar will indicate how many parts of the QR have been read. Once all parts of the QR code have been read, you should see the signature bar fill and two new buttons appear. Click the blue *Broadcast Transaction* button and your transaction should be broadcasted to the network! - + Congratulations, you have learned how to send a transaction using Sparrow πŸŽ‰ @@ -183,69 +183,69 @@ Congratulations, you have learned how to send a transaction using Sparrow πŸŽ‰ ### Create the wallet In BlueWallet, create a new wallet by either pressing the *+* button or scrolling to the right until you see the *Add now* button. - + On the screen that pops up, tap *Import wallet* to import your public key. - + On the following screen, tap *Scan or import a file* and it will begin trying to scan a QR code. - + On your Krux, navigate to the *Extended Public Key* option under the main menu and **make sure to show the second, zpub QR code** to BlueWallet. - - + + It should import the key and create a watch-only wallet. From here, you can send or receive. - + Congrats, you just created a single-sig wallet with your key! ## Load the wallet into Krux Load the wallet into Krux by tapping the ellipsis in the top-right to see the wallet settings. - + From here, tap *Export/Backup* in order to display a QR code of your wallet. - + In Krux, select the *Wallet* menu item option and scan the QR code. - - + + If it worked, Krux should display the wallet information that it loaded: - - + + ## Receive coins Navigate to the *Receive* screen where you should see a receive address that you can send funds to. - + -Note that you can verify the receive address belongs to your wallet by using the [Scan Address](../navigating-the-main-menu/#scan-address) option. +Note that you can verify the receive address belongs to your wallet by using the [Scan Address](navigating-the-main-menu.md#scan-address) option. ## Send coins Go to the *Send* screen, fill in the recipient address, amount, and any extra information you wish to supply, and tap *Next*. - + You should see an animated QR code of the PSBT that you can scan with Krux by going to *Sign > PSBT* in its main menu. After scanning, Krux should display info about the transaction for you to confirm before signing. - - + + Once you have confirmed, Krux will begin animating a QR code of the signed transaction that you can scan into BlueWallet. - - + + Once all parts of the QR code have been read, you can then choose to broadcast the transaction, sending it to the network! From 0b60a3dfc7a4e7853555ce51f2d4a4a008226a4b Mon Sep 17 00:00:00 2001 From: odudex Date: Fri, 20 Oct 2023 15:14:05 -0300 Subject: [PATCH 2/2] docs structural updates II --- mkdocs.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 71770f3db..909ec4d6d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -67,16 +67,17 @@ nav: - From GUI application: getting-started/installing/from-gui.en.md - From source: getting-started/installing/from-source.en.md - Basic Usage: - - Generating a Mnemonic: getting-started/generating-a-mnemonic.en.md - - Loading a Mnemonic: getting-started/loading-a-mnemonic.en.md - - Navigating the Main Menu: getting-started/navigating-the-main-menu.en.md - - Using a Single-sig Wallet: getting-started/using-a-single-sig-wallet.en.md - - Using a Multisig Wallet: getting-started/using-a-multisig-wallet.en.md + - Generating a Mnemonic: getting-started/usage/generating-a-mnemonic.en.md + - Loading a Mnemonic: getting-started/usage/loading-a-mnemonic.en.md + - Navigating the Main Menu: getting-started/usage/navigating-the-main-menu.en.md + - Using a Single-sig Wallet: getting-started/usage/using-a-single-sig-wallet.en.md + - Using a Multisig Wallet: getting-started/usage/using-a-multisig-wallet.en.md - Features: - - Encrypted Mnemonics: getting-started/encrypted-mnemonics.en.md - - Printing: getting-started/printing.en.md - - Tools: getting-started/tools.en.md - - Transcribing QR codes: getting-started/QR-transcript-tools.en.md + - Encrypted Mnemonics: getting-started/features/encrypted-mnemonics.en.md + - Printing: getting-started/features/printing.en.md + - SD Card Updates: getting-started/features/sd-card-update.en.md + - Tools: getting-started/features/tools.en.md + - Transcribing QR Codes: getting-started/features/QR-transcript-tools.en.md - Settings: getting-started/settings.en.md - Devices and Part List: parts.en.md - FAQ: faq.en.md