aboutsummaryrefslogtreecommitdiffstats
path: root/packages/subproviders/README.md
diff options
context:
space:
mode:
authorBrandon Millman <brandon.millman@gmail.com>2018-03-09 00:43:16 +0800
committerBrandon Millman <brandon.millman@gmail.com>2018-03-09 00:43:16 +0800
commit098dae9a7e57385505f0f272fd76d44f43fa1e34 (patch)
treebcd47532910e5804746ec88c8d9f6b85c157d6e1 /packages/subproviders/README.md
parent5b5037a844f49c17deeaf695fc8ed57832038da6 (diff)
parentaaa7affa46450bb48639e9b90c2a2e8adb28826c (diff)
downloaddexon-sol-tools-098dae9a7e57385505f0f272fd76d44f43fa1e34.tar
dexon-sol-tools-098dae9a7e57385505f0f272fd76d44f43fa1e34.tar.gz
dexon-sol-tools-098dae9a7e57385505f0f272fd76d44f43fa1e34.tar.bz2
dexon-sol-tools-098dae9a7e57385505f0f272fd76d44f43fa1e34.tar.lz
dexon-sol-tools-098dae9a7e57385505f0f272fd76d44f43fa1e34.tar.xz
dexon-sol-tools-098dae9a7e57385505f0f272fd76d44f43fa1e34.tar.zst
dexon-sol-tools-098dae9a7e57385505f0f272fd76d44f43fa1e34.zip
Merge branch 'development' into feature/sra-reporter
* development: (68 commits) Update list of packages and organize them alphabetically Fix prettier issues Add support for going back to previous hashes via the browser back button to wiki Scroll to previous hashed elements when user clicks back button Add back strict null checks to react-shared package and fix issues remove ability to have implicit dependencies and add missing deps update license remove no-implicit-this Add example & screenshot to npmignore Remove `;` to be nice to windows users Use unencoded @ symbol, browser will fix Fix external type links Add comment about commented out CSS exception Update prettier since the previous version had a bug when dealing with css files Fix css files with prettier Added base-contract package to README Prettify test jsons Update yarn.lock Improve README Feedback ...
Diffstat (limited to 'packages/subproviders/README.md')
-rw-r--r--packages/subproviders/README.md28
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