rLogin Ledger Provider
A Ledger provider connection for rLogin. Still in beta and tested manually for now.
Allow users to connect to your dapp using a Ledger device. Currently works with USB and returns an EIP1193 provider.
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 --save
In 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]
})
- 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...ledgerProviderOptions
contains 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: true
for console logs that may help you debug.
Install dependencies:
yarn i
yarn test
Coverage report with:
yarn run test:coverage
yarn run lint
Auto-fix:
yarn run lint:fix
yarn run build