aboutsummaryrefslogtreecommitdiffstats
path: root/packages/subproviders/README.md
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-03-08 23:40:46 +0800
committerFabio Berger <me@fabioberger.com>2018-03-08 23:40:46 +0800
commit98e8105ec5a629ce67f34216df72e11422649c4e (patch)
treea30bc127779789aae5eff5457366264d09a9e31b /packages/subproviders/README.md
parent4a94a2b4e81d8b5d773ebeaa671b78ac4bf9a408 (diff)
parent03902b0b26fe443705dde20c42e78e1cb4bd3c4b (diff)
downloaddexon-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.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