@rsksmart/rlogin-ledger-provider
v1.0.5-alpha
Published
rLogin - Ledger EIP-1193 provider
Downloads
1,533
Readme
A Ledger provider connection for rLogin. Still in beta and tested manually for now.
Features
Allow users to connect to your dapp using a Ledger device. Currently works with USB and returns an EIP1193 provider.
Implementation
The implementation is a bit different for Ledger because it is not a Web3Modal supported provider.
Add the dependecy to your project
yarn add @rsksmart/rlogin-ledger-provider --saveIn your dapp, your rLogin implementation should be similar to this:
import RLogin from '@rsksmart/rlogin'
import { ledgerProviderOptions } from '@rsksmart/rlogin-ledger-provider'
// ...
const rLogin = new RLogin({
cacheProvider: false,
providerOptions: {
// ... other providers, i.e. WalletConnect or Portis, etc
'custom-ledger': {
...ledgerProviderOptions,
options: {
rpcUrl: 'https://public-node.testnet.rsk.co',
chainId: 31
}
}
},
supportedChains: [30, 31]
})Implementation notes
- Similar to the Portis connector, you can only specify a single chainId to connect to.
- The
custom-needs to be added because Ledger is not a Web3Modal supported provider. The...ledgerProviderOptionscontains the Ledger's text and image and connects rLogin to the provider. - Ledger has two apps that work with RSK:
- The RSK App will only work with RSK Mainnet as it uses the correct derivation path of
44'/137'/0'/0/0 - To use RSK Testnet, you must use the Ethereum App on the Ledger. It will use the standard Ethereum derivation path of
44'/60'/0'/0/0. As of writing, no Ledger app will accept the RSK Testnet derivation path.
- The RSK App will only work with RSK Mainnet as it uses the correct derivation path of
- pass
debug: truefor console logs that may help you debug.
Run for development
Install dependencies:
yarn iRun unit tests
yarn testCoverage report with:
yarn run test:coverageRun linter
yarn run lintAuto-fix:
yarn run lint:fixBuild for production
yarn run build