diff options
author | Fabio Berger <me@fabioberger.com> | 2018-03-08 23:40:46 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-03-08 23:40:46 +0800 |
commit | 98e8105ec5a629ce67f34216df72e11422649c4e (patch) | |
tree | a30bc127779789aae5eff5457366264d09a9e31b /packages/subproviders/README.md | |
parent | 4a94a2b4e81d8b5d773ebeaa671b78ac4bf9a408 (diff) | |
parent | 03902b0b26fe443705dde20c42e78e1cb4bd3c4b (diff) | |
download | dexon-sol-tools-98e8105ec5a629ce67f34216df72e11422649c4e.tar dexon-sol-tools-98e8105ec5a629ce67f34216df72e11422649c4e.tar.gz dexon-sol-tools-98e8105ec5a629ce67f34216df72e11422649c4e.tar.bz2 dexon-sol-tools-98e8105ec5a629ce67f34216df72e11422649c4e.tar.lz dexon-sol-tools-98e8105ec5a629ce67f34216df72e11422649c4e.tar.xz dexon-sol-tools-98e8105ec5a629ce67f34216df72e11422649c4e.tar.zst dexon-sol-tools-98e8105ec5a629ce67f34216df72e11422649c4e.zip |
Merge branch 'development' into extractDocs
* development:
Added base-contract package to README
Update yarn.lock
Improve README
Feedback
README on derivation path
Use our dev seed derivation path.
README
Add ledger-node package as optional dependency
Force shouldGetChainCode to true in types
Nuke tests for now
Remove old ledger
Update ledgerco packages
Remove only
Fix a typo
Add PR name
Improve an error message when an inorrect number of constructor params is passed
Diffstat (limited to 'packages/subproviders/README.md')
-rw-r--r-- | packages/subproviders/README.md | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/packages/subproviders/README.md b/packages/subproviders/README.md index 67a6a92d2..4614342b2 100644 --- a/packages/subproviders/README.md +++ b/packages/subproviders/README.md @@ -42,6 +42,28 @@ const accounts = await ledgerSubprovider.getAccountsAsync(); A subprovider that enables your dApp to send signing requests to a user's Ledger Nano S hardware wallet. These can be requests to sign transactions or messages. +Ledger Nano (and this library) by default uses a derivation path of `44'/60'/0'`. This is different to TestRPC which by default uses `m/44'/60'/0'/0`. This is a configuration option in the Ledger Subprovider package. + +##### Ledger Nano S + Node-hid (usb) + +By default, node-hid transport support is an optional dependency. This is due to the requirement of native usb developer packages on the host system. If these aren't installed the entire `npm install` fails. We also no longer export node-hid transport client factories. To re-create this see our integration tests or follow the example below: + +```typescript +import Eth from '@ledgerhq/hw-app-eth'; +import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'; +async function ledgerEthereumNodeJsClientFactoryAsync(): Promise<LedgerEthereumClient> { + const ledgerConnection = await TransportNodeHid.create(); + const ledgerEthClient = new Eth(ledgerConnection); + return ledgerEthClient; +} + +// Create a LedgerSubprovider with the node-hid transport +ledgerSubprovider = new LedgerSubprovider({ + networkId, + ledgerEthereumClientFactoryAsync: ledgerEthereumNodeJsClientFactoryAsync, +}); +``` + #### Redundant RPC subprovider A subprovider which attempts to send an RPC call to a list of RPC endpoints sequentially, until one of them returns a successful response. @@ -104,10 +126,12 @@ yarn run test:unit In order to run the integration tests, make sure you have a Ledger Nano S available. +* Setup your Ledger with the development mnemonic seed: `concert load couple harbor equip island argue ramp clarify fence smart topic` * Plug it into your computer * Unlock the device * Open the on-device Ethereum app -* Make sure "browser support" is disabled +* Make sure "browser support" and "contract data" are disabled +* Start [TestRPC](https://github.com/trufflesuite/ganache-cli) locally at port `8545` Then run: @@ -115,6 +139,8 @@ Then run: yarn test:integration ``` +**Note:** We assume a derivation path of `m/44'/60'/0'/0` which is already configured in the tests. With this setup and derivation path, your first account should be `0x5409ed021d9299bf6814279a6a1411a7e866a631`, exactly like TestRPC. + #### All tests ```bash |