ICP custody with seed phrase and air-gapped machine
From Internet Computer Wiki
Revision as of 01:38, 10 November 2021 by Diego.prats (talk | contribs) (→Getting your hardware and software ready)
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
- [1](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.