Difference between revisions of "ICP custody with seed phrase and air-gapped machine"
From Internet Computer Wiki
Diego.prats (talk | contribs) |
Diego.prats (talk | contribs) |
||
Line 9: | Line 9: | ||
You will need to install the following into your '''[https://en.wikipedia.org/wiki/Air_gap_(networking) air-gapped] computer''': | You will need to install the following into your '''[https://en.wikipedia.org/wiki/Air_gap_(networking) air-gapped] computer''': | ||
− | #keysmith | + | #'''keysmith''' |
##https://github.com/dfinity/keysmith keysmith | ##https://github.com/dfinity/keysmith keysmith | ||
##You will use this to generate important artifacts like `seed phrase` and `private key`s | ##You will use this to generate important artifacts like `seed phrase` and `private key`s | ||
− | #openSSSL | + | #'''openSSSL''' |
− | ## | + | ##https://wiki.openssl.org/index.php/Binaries |
##required by quill` | ##required by quill` | ||
− | #quill | + | #'''quill''' |
##https://github.com/dfinity/quill | ##https://github.com/dfinity/quill | ||
##you will use this to craft messages like "create neuron" for the Internet Computer | ##you will use this to craft messages like "create neuron" for the Internet Computer | ||
##You can install it by downloading the binary for your operating system or by cloning and compiling the code | ##You can install it by downloading the binary for your operating system or by cloning and compiling the code | ||
##note that once installed, the command to execute is `target/release/quill` | ##note that once installed, the command to execute is `target/release/quill` | ||
− | #qrencode | + | #'''qrencode''' |
##https://github.com/fukuchi/libqrencode | ##https://github.com/fukuchi/libqrencode | ||
##Generates QR codes for bridging the air gap | ##Generates QR codes for bridging the air gap | ||
##Tip: if you have Homebrew, you can install via `brew install qrencode` | ##Tip: if you have Homebrew, you can install via `brew install qrencode` | ||
− | #jq | + | #'''jq''' |
##https://github.com/stedolan/jq | ##https://github.com/stedolan/jq | ||
##Required for creating multiple QR codes | ##Required for creating multiple QR codes | ||
##Tip: if you have Homebrew, you can install via `brew install jq` | ##Tip: if you have Homebrew, you can install via `brew install jq` | ||
− | #Copy and paste the following bash script into a file named `quill-qr.sh`: | + | #'''Copy and paste the following bash script into a file named `quill-qr.sh`:''' |
Warning: Only tested on MacOSX and Linux. | Warning: Only tested on MacOSX and Linux. |
Revision as of 01:39, 10 November 2021
Getting your hardware and software ready
What you will need:
- air-gapped computer (not connected to the internet)
- networked smartphone
You will need to install the following into your air-gapped computer:
- keysmith
- https://github.com/dfinity/keysmith keysmith
- You will use this to generate important artifacts like `seed phrase` and `private key`s
- openSSSL
- https://wiki.openssl.org/index.php/Binaries
- required by quill`
- quill
- https://github.com/dfinity/quill
- you will use this to craft messages like "create neuron" for the Internet Computer
- You can install it by downloading the binary for your operating system or by cloning and compiling the code
- note that once installed, the command to execute is `target/release/quill`
- qrencode
- https://github.com/fukuchi/libqrencode
- Generates QR codes for bridging the air gap
- Tip: if you have Homebrew, you can install via `brew install qrencode`
- jq
- https://github.com/stedolan/jq
- Required for creating multiple QR codes
- Tip: if you have Homebrew, you can install via `brew install jq`
- Copy and paste the following bash script into a file named `quill-qr.sh`:
Warning: Only tested on MacOSX and Linux.
bash #!/usr/bin/env bash URL=https://p5deo-6aaaa-aaaab-aaaxq-cai.raw.ic0.app IFS=$'\n' read -r -d -a messages < <( cat - | jq -M 'if . | type != "array" then [.] else . end' | jq -rcM .[] && printf '\0' ) for message in "${messages[@]}" do echo "$URL/?msg=$(echo "$message" | gzip -c | base64 | tr -d '\n' | sed -e 's/+/%2B/g' -e 's/\//%2F/g' -e 's/=/%3D/g')" | qrencode > qr.png open qr.png echo ENTER TO CONTINUE... read < /dev/tty clear done
Because an air-gapped computer is not connected to the internet, it can be a bit awkward to install these. The most common way to do it is to download them to a networked computer and transfer the files to the air-gapped computer via CD or USB drive. Others install these on a networked computer *and then* air-gap it.