accounts/scwallet: Update README for v2.2.1 support (#19425)

Update the app download link to the latest version, as requested in #19418
pull/19440/head
Guillaume Ballet 6 years ago committed by GitHub
parent 3fa76298e4
commit f0b878d56d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 63
      accounts/scwallet/README.md

@ -10,40 +10,72 @@
**WARNING: FOILLOWING THESE INSTRUCTIONS WILL DESTROY THE MASTER KEY ON YOUR CARD. ONLY PROCEED IF NO FUNDS ARE ASSOCIATED WITH THESE ACCOUNTS**
You can use status' [keycard-cli](https://github.com/status-im/keycard-cli) and you should get version 2.1.1 of their [smartcard application](https://github.com/status-im/status-keycard/releases/download/2.1.1/keycard_v2.1.1.cap)
You can use status' [keycard-cli](https://github.com/status-im/keycard-cli) and you should get _at least_ version 2.1.1 of their [smartcard application](https://github.com/status-im/status-keycard/releases/download/2.2.1/keycard_v2.2.1.cap)
You also need to make sure that the PCSC daemon is running on your system.
Then, you can install the application to the card by typing:
```
keycard install -a keycard_v2.1.cap
keycard install -a keycard_v2.2.1.cap && keycard init
```
Then you can initialize the application by typing:
At the end of this process, you will be provided with a PIN, a PUK and a pairing password. Write them down, you'll need them shortly.
Start `geth` with the `console` command. You will notice the following warning:
```
WARN [04-09|16:58:38.898] Failed to open wallet url=pcsc://044def09 err="smartcard: pairing password needed"
```
Write down the URL (`pcsc://044def09` in this example). Then ask `geth` to open the wallet:
```
keycard init
> personal.openWallet("pcsc://044def09")
Please enter the pairing password:
```
Then the card needs to be paired:
Enter the pairing password that you have received during card initialization. Same with the PIN that you will subsequently be
asked for.
If everything goes well, you should see your new account when typing `personal` on the console:
```
keycard pair
> personal
WARN [04-09|17:02:07.330] Smartcard wallet account derivation failed url=pcsc://044def09 err="Unexpected response status Cla=0x80, Ins=0xd1, Sw=0x6985"
{
listAccounts: [],
listWallets: [{
status: "Empty, waiting for initialization",
url: "pcsc://044def09"
}],
...
}
```
Finally, you need to have the card generate a new master key:
So the communication with the card is working, but there is no key associated with this wallet. Let's create it:
```
keycard shell <<END
keycard-select
keycard-set-pairing PAIRING_KEY PAIRING_INDEX
keycard-open-secure-channel
keycard-verify-pin CARD_PIN
keycard-generate-key
END
> personal.initializeWallet("pcsc://044def09")
"tilt ... impact"
```
You should get a list of words, this is your seed so write them down. Your wallet should now be initialized:
```
> personal.listWallets
[{
accounts: [{
address: "0x678b7cd55c61917defb23546a41803c5bfefbc7a",
url: "pcsc://044d/m/44'/60'/0'/0/0"
}],
status: "Online",
url: "pcsc://044def09"
}]
```
You're all set!
## Usage
1. Start `geth` with the `console` command
@ -66,4 +98,5 @@ personal.openWallet("pcsc://a4d73015")
## Known issues
* Starting geth with a valid card seems to make firefox crash.
* Starting geth with a valid card seems to make firefox crash.
* PCSC version 4.4 should work, but is currently untested

Loading…
Cancel
Save