Skip to content

Commit

Permalink
Merge pull request #244 from selfcustody/main
Browse files Browse the repository at this point in the history
Update docs from main
  • Loading branch information
odudex authored Sep 18, 2023
2 parents 99f21fa + ba0bbc8 commit 72a1afb
Show file tree
Hide file tree
Showing 160 changed files with 546 additions and 510 deletions.
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ cd simulator
# Run simulator with the touch device amigo, then use mouse to navigate
poetry run python simulator.py --device maixpy_amigo_tft

# Run simulator with sd enabled and the small button-only m5stick, then use keyboard (arrow keys UP or DOWN and ENTER)
# Run simulator with sd enabled (you need the folder `simulator/sd`) on the small button-only device m5stick, then use keyboard (arrow keys UP or DOWN and ENTER)
poetry run python simulator.py --device maixpy_m5stickv --sd

# Run simulator with the rotary encoder device dock, then use keyboard (arrow keys UP or DOWN and ENTER)
Expand Down Expand Up @@ -164,8 +164,11 @@ cd simulator
# Run all sequences of commands on all devices and in all locales (languages)
./generate-all-screenshots.sh

# Run a specific sequence for a specific device (need to have the screenshots and the sd folder with the file settings.json inside)
# Run a specific sequence for a specific device's with sd enabled (you need the folder `simulator/sd`)
poetry run python simulator.py --sequence sequences/about.txt --sd --device maixpy_m5stickv

# Sequence screenshots are scaled to fit in docs. Use --no-screenshot-scale to get full size
poetry run python simulator.py --sequence sequences/home-options.txt --device maixpy_amigo_tft --no-screenshot-scale
```

## Live debug a device
Expand Down
3 changes: 3 additions & 0 deletions docs/css/custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.md-typeset img {
margin: 0 0 0.4em 0.8em !important;
}
25 changes: 12 additions & 13 deletions docs/faq.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,21 @@ As mentioned above, some wallet software does not support the descriptor key exp
Currently, the way to properly create a single-sig wallet in BlueWallet is to export the second QR code that Krux displays which contains the zpub. BlueWallet can then correctly infer the derivation path when creating the wallet.

## Why isn't Krux scanning my QR code?
The level of detail that you see is what Krux sees. If the QR code shown on the device's screen is blurry, the camera lens of the device may be out of focus. It can be adjusted by rotating it (with your fingertip) clockwise or counter-clockwise to achieve a clearer result.
The level of detail that you see is what Krux sees. If the QR code shown on the device's screen is blurry, the camera lens of the device may be out of focus. It can be adjusted by rotating it (with your fingertip or a tweezers) clockwise or counter-clockwise to achieve a clearer result.

If you have adjusted the lens already, the device may be too far away or too close to the code to read it. Start by holding the device as close to the QR code as possible and pulling away slowly until all or most of the QR code is viewable within the screen. If the code on the screen looks crisp, Krux should read it quickly and give you immediate feedback.

If you are in a dark environment, you can hold down the ENTER button of the M5StickV or Maix Amigo to turn on their LED light to potentially increase visibility.
If you are in a dark environment, you can hold down the ENTER button of the M5StickV or Maix Amigo to turn on their LED light to potentially increase visibility. M5stickV and Amigo also has an anti-glare mode to better capture images with incident light, to enable/disable the anti-glare just push the PAGE button.

## Why am I getting an error when I try to scan a QR code?
If Krux is recognizing that it sees a QR code but is displaying an error message after reading it, the likely reason is that the QR code is not in a format that Krux understands.

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 Formats
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))

For loading wallets, Krux recognizes:

Expand All @@ -44,12 +45,12 @@ For PSBTs, Krux recognizes:
Additionally, Krux recognizes animated QR codes that use either the plaintext `pMofN` or binary [`UR`](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-005-ur.md) encodings.

## Why can't my computer read the QR code that Krux displays?
If you are using an M5StickV, the small screen makes it difficult for laptop webcams to capture enough detail to parse the QR codes it displays. In the future, more work will be done to support displaying lower density QR codes. For now, a workaround you can do is to take a picture or video of the QR code with a better-quality camera (such as your phone), then enlarge and display the photo or video to your webcam. Alternatively, it may be simpler to use a mobile wallet such as BlueWallet with the M5StickV since phone cameras don't seem to have issues reading the small QR codes.
If you are using an M5StickV, the small screen makes it difficult for laptop webcams to capture enough detail to parse the QR codes it displays. In the future, more work will be done to support displaying lower density QR codes. For now, a workaround you can do is to take a picture or video of the QR code with a better-quality camera (such as your phone), then enlarge and display the photo or video to your webcam. Alternatively, it may be simpler to use a mobile wallet such as BlueWallet with the M5StickV since phone cameras don't seem to have issues reading the small QR codes. You can also save the PSBT on a microSD card for Krux to sign and then save the signed transaction to the microSD card to transfer the file to the computer or phone.

## Why isn't my Amigo device being recognized?
Make sure you’re using the bottom USB-C port, not the one on the left side.
## Why isn't my Amigo device being recognized when connected to the computer USB?
Make sure you’re using the bottom USB-C port, not the one on the left side. It is also possible that there is some incompatibility with the cable used, try a few before investigating further.

## Why won't my (Linux) OS list a serial port after connecting my device?
## Why won't my Linux OS list a serial port after connecting my device?
If you get the following error when trying to flash your device: `Failed to find device via USB. Is it connected and powered on?`
Make sure your device is being detected and serial ports are being mounted by running:
```bash
Expand All @@ -62,17 +63,15 @@ If you don't see them, your OS may not be loading the correct drivers to create
sudo apt-get remove brltty
```

## Why won't my (Apple) OS list a serial port after connecting my device?
## Why won't my Apple OS list a serial port after connecting my device?
Some users reported that they were able to make their Apple devices recognize Krux devices only after they connected them through an USB dock instead of connecting them directly.

## Why are the buttons on my Amigo in the wrong order?
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.

## Why isn't Krux detecting my microSD card?
## Why does the option to save to SD not appear?
First, make sure you are using a [supported microSD card](https://github.com/m5stack/m5-docs/blob/master/docs/en/core/m5stickv.md#tf-cardmicrosd-test). We hope to add support for more cards in the future.

Second, make sure that Krux is powered off when you insert your microSD into the device. The firmware does not have support for hot plugging and can only detect the card on boot.
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).
21 changes: 7 additions & 14 deletions docs/getting-started/QR-transcript-tools.en.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,41 @@
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">

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

<br><br><br><br>
<br><br><br><br>
<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">

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.

<br><br><br><br>
<br><br><br><br>
<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">

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.

<br><br><br><br>
<br><br><br><br>
<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">

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.

<br><br><br><br>
<br><br><br><br>
<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">

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

<div style="clear: both"></div>
18 changes: 6 additions & 12 deletions docs/getting-started/generating-a-mnemonic.en.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,44 @@
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_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">

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

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

# 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">

Choose between 12 or 24 words.

The entropy in a single roll of a D6 is 2.585 bits ( log<sub>2</sub>(6) ); therefore a minimum of a 50 rolls will be required for 128 bits of entropy, enough to generate a 12-word mnemonic. For 24 words, or an entropy of 256 bits, a minimum of 99 rolls will be required.

<br><br><br><br>
<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">

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.

<br><br><br><br>
<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">

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

<br><br><br><br>
<br><br><br><br>
<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">
Expand All @@ -57,7 +51,7 @@ Krux then takes this hash, runs [`unhexlify`](https://docs.python.org/3/library/

Note: For 12-word mnemonics, only the first half of the SHA256 hash is used (128 bits), while 24-word mnemonics use the full hash (256 bits).

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

# Alternatives
See [here](https://vault12.com/securemycrypto/cryptocurrency-security-how-to/seed-phrase-creation/) for good methods to generate a mnemonic manually, or visit [Ian Coleman's BIP-39 Tool](https://iancoleman.io/bip39/) offline or on an airgapped device to generate one automatically.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ For `dock` the `-b` parameter changes, so run:

When the flashing process completes, you should see the Krux logo:

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

If after 30 seconds you still see a black screen, try power cycling the device by holding down the power button for six seconds.

Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/installing/from-source.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ If the flashing fails try one of the following common solutions:

When the flashing process completes, you should see the Krux logo:

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

If after 30 seconds you still see a black screen, try power cycling the device by holding down the power button for six seconds.

Expand Down
6 changes: 3 additions & 3 deletions docs/getting-started/installing/index.en.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
This page summarizes how to install Krux from four diffent ways.
This page summarizes how to install Krux from four different ways.

- [Fom pre-built official release](../installing/from-pre-built-release.en.md)
- [From pre-built official release](../installing/from-pre-built-release.en.md)
- [From pre-built test release](../installing/from-test-release.en.md)
- [From GUI application](../installing/from-gui.en.md)
- [From source](../installing/from-source.en.md)
Expand All @@ -9,4 +9,4 @@ This page summarizes how to install Krux from four diffent ways.

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.

If you wish to perform airgapped firmware updates or want persistent settings, you will also need a [supported microSD card](https://github.com/m5stack/m5-docs/blob/master/docs/en/core/m5stickv.md#tf-cardmicrosd-test).
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.
Loading

0 comments on commit 72a1afb

Please sign in to comment.