If you have Nix installed, you can use nix-shell
to enter a shell where
keysmith
, quill
and dfx
are available. Be sure to do this before turning off
all communications (wifi, bluetooth and Ethernet) if you are using the same
machine to run air-gapped commands.
However, do be aware that your machine may have spyware on it, there have even been reported cases of stealthy code that monitors the clipboard, and swaps out things it recognizes as crypto addresses with its own addresses.
# On air-gapped machine:
keysmith generate -o seed.txt
keysmith private-key -o private.pem
keysmith account -i 0
ACCOUNT=<account displayed above>
# On connected machine:
# Transfer tokens to the $ACCOUNT. Note that this is usually done at Coinbase
# or your exchange. I don't give a command here, but I can't presume where
# your non-self-custodied tokens might becoming from, and I don't want to
# offer a command that isn't appropriate for your circumstances.
# Confirm the transfer by checking the account balance:
dfx ledger --network=https://ic0.app balance $ACCOUNT
dfx ledger --network=https://ic0.app balance $ACCOUNT
AMOUNT=100000 # Amount of tokens to be staked
# On air-gapped machine:
quill --pem-file private.pem neuron-stake \
--amount $AMOUNT --name 1 > ~/dl/stake.txt
# On connected machine:
quill send ~/dl/stake.txt
NEURON=<neuron-id from the last output, without underscores>
DELAY=252460800 # 8 years; halve this for 4 years
# On air-gapped machine:
quill --pem-file private.pem neuron-manage $NEURON \
--additional-dissolve-delay-seconds $DELAY > ~/dl/lock.txt
# On connected machine:
quill send ~/dl/lock.txt
PRINCIPAL=<Principal Id shown in the Neuron tab of the NNS App>
# On air-gapped machine:
quill --pem-file private.pem neuron-manage $NEURON \
--add-hot-key $PRINCIPAL > ~/dl/add-hot-key.txt
# On connected machine:
quill send ~/dl/add-hot-key.txt