Skip to content

Commit

Permalink
docs structural update
Browse files Browse the repository at this point in the history
  • Loading branch information
odudex committed Oct 20, 2023
1 parent 20ef2d6 commit dc5e1cd
Show file tree
Hide file tree
Showing 16 changed files with 266 additions and 263 deletions.
5 changes: 3 additions & 2 deletions docs/faq.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down Expand Up @@ -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).
Original file line number Diff line number Diff line change
@@ -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
<img src="../../img/maixpy_m5stickv/standard-qr-code-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/standard-qr-code-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/standard-qr-code-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/standard-qr-code-150.png" align="right">

This mode is optimized for scanning, the raw QR code will be displayed

<div style="clear: both"></div>

### Lines Mode
<img src="../../img/maixpy_m5stickv/lines-qr-code-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/lines-qr-code-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/lines-qr-code-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/lines-qr-code-150.png" align="right">

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.

<div style="clear: both"></div>

### Zoomed Regions Mode
<img src="../../img/maixpy_m5stickv/zoomed-qr-code-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/zoomed-qr-code-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/zoomed-qr-code-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/zoomed-qr-code-150.png" align="right">

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.

<div style="clear: both"></div>

### Highlighted Regions Mode
<img src="../../img/maixpy_m5stickv/regions-qr-code-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/regions-qr-code-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/regions-qr-code-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/regions-qr-code-150.png" align="right">

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.

<div style="clear: both"></div>

### Grided Mode
<img src="../../img/maixpy_m5stickv/grided-qr-code-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/grided-qr-code-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/grided-qr-code-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/grided-qr-code-150.png" align="right">

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.

Expand Down
Original file line number Diff line number Diff line change
@@ -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.

<img src="../../img/maixpy_amigo_tft/print-qr-printing-150.png">
<img src="../../img/maixpy_m5stickv/print-qr-printing-125.png">
<img src="../../../img/maixpy_amigo_tft/print-qr-printing-150.png">
<img src="../../../img/maixpy_m5stickv/print-qr-printing-125.png">

<video width="430" height="300" controls>
<source src="../../img/printing-qr.mp4" type="video/mp4"></source>
<source src="../../../img/printing-qr.mp4" type="video/mp4"></source>
</video>

<video width="400" height="300" controls>
<source src="../../img/scanning-printed-qr.mp4" type="video/mp4"></source>
<source src="../../../img/scanning-printed-qr.mp4" type="video/mp4"></source>
</video>


<img src="../../img/maixpy_m5stickv/print-qr-prompt-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/print-qr-prompt-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/print-qr-prompt-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/print-qr-prompt-150.png" align="right">

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?`.

Expand Down
6 changes: 6 additions & 0 deletions docs/getting-started/features/sd-card-update.en.md
Original file line number Diff line number Diff line change
@@ -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.
36 changes: 36 additions & 0 deletions docs/getting-started/features/tools.en.md
Original file line number Diff line number Diff line change
@@ -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.

<img src="../../../img/maixpy_amigo_tft/tools-options-150.png">
<img src="../../../img/maixpy_m5stickv/tools-options-125.png">

### Check SD Card
<img src="../../../img/maixpy_m5stickv/check-sd-card-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/check-sd-card-150.png" align="right">

You can check if a SD card can be detected and read by your device and explore its content.

<div style="clear: both"></div>

### Delete Mnemonic
<img src="../../../img/maixpy_m5stickv/delete-mnemonic-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/delete-mnemonic-150.png" align="right">

Delete any stored encrypted mnemonic, on device's internal memory or SD card.

<div style="clear: both"></div>

### Print Test QR
<img src="../../../img/maixpy_m5stickv/print-test-qr-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/print-test-qr-150.png" align="right">

Quickly print a test QR code to check and optimize your printer setup.

<div style="clear: both"></div>

### Create QR Code
<img src="../../../img/maixpy_m5stickv/create-qr-code-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/create-qr-code-150.png" align="right">

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.

<div style="clear: both"></div>
2 changes: 1 addition & 1 deletion docs/getting-started/index.en.md
Original file line number Diff line number Diff line change
@@ -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:

Expand Down
4 changes: 2 additions & 2 deletions docs/getting-started/installing/from-gui.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down
6 changes: 1 addition & 5 deletions docs/getting-started/installing/from-pre-built-release.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
2 changes: 1 addition & 1 deletion docs/getting-started/installing/index.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
36 changes: 0 additions & 36 deletions docs/getting-started/tools.en.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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).

<img src="../../img/maixpy_amigo_tft/new-mnemonic-options-150.png">
<img src="../../img/maixpy_m5stickv/new-mnemonic-options-125.png">
<img src="../../../img/maixpy_amigo_tft/new-mnemonic-options-150.png">
<img src="../../../img/maixpy_m5stickv/new-mnemonic-options-125.png">

## Camera
<img src="../../img/maixpy_m5stickv/new-mnemonic-via-snapshot-sha256-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/new-mnemonic-via-snapshot-sha256-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/new-mnemonic-via-snapshot-sha256-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/new-mnemonic-via-snapshot-sha256-150.png" align="right">

(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.

Expand All @@ -15,8 +15,8 @@ At the start screen, once you select `New Mnemonic`, you will be taken to a seco
## Dice Rolls

### Via D6
<img src="../../img/maixpy_m5stickv/new-mnemonic-via-d6-roll-1-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/new-mnemonic-via-d6-roll-1-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/new-mnemonic-via-d6-roll-1-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/new-mnemonic-via-d6-roll-1-150.png" align="right">

Choose between 12 or 24 words.

Expand All @@ -25,23 +25,23 @@ The entropy in a single roll of a D6 is 2.585 bits ( log<sub>2</sub>(6) ); there
<div style="clear: both"></div>

### Via D20
<img src="../../img/maixpy_m5stickv/new-mnemonic-via-d20-roll-1-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/new-mnemonic-via-d20-roll-1-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/new-mnemonic-via-d20-roll-1-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/new-mnemonic-via-d20-roll-1-150.png" align="right">

Since a D20 has more possible outcomes, the entropy is increased per roll to 4.322 bits ( log<sub>2</sub>(20) ). This means that only 30 rolls are necessary to create a 12-word mnemonic and 60 rolls for a 24-word mnemonic.

<div style="clear: both"></div>

### How it works
<img src="../../img/maixpy_m5stickv/new-mnemonic-via-d6-roll-string-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/new-mnemonic-via-d6-roll-string-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/new-mnemonic-via-d6-roll-string-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/new-mnemonic-via-d6-roll-string-150.png" align="right">

For dice rolls, Krux keeps track of every roll you enter and displays the cumulative string of outcomes after each roll.

<div style="clear: both"></div>

<img src="../../img/maixpy_m5stickv/new-mnemonic-via-d6-roll-sha256-125.png" align="right">
<img src="../../img/maixpy_amigo_tft/new-mnemonic-via-d6-roll-sha256-150.png" align="right">
<img src="../../../img/maixpy_m5stickv/new-mnemonic-via-d6-roll-sha256-125.png" align="right">
<img src="../../../img/maixpy_amigo_tft/new-mnemonic-via-d6-roll-sha256-150.png" align="right">

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.

Expand Down
Loading

0 comments on commit dc5e1cd

Please sign in to comment.