UNPKG

veroquibusdam

Version:

Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardised spec compliant web3 providers for all supported wallets, framework agnostic modern javascript UI with code splitting, CSS customization, mul

115 lines (92 loc) 2.16 kB
# @web3-onboard/keystone ## Wallet module for connecting Keystone hardware wallets to web3-onboard ### Install `npm i @web3-onboard/keystone` ### Options ```typescript type KeystoneOptions = { customNetwork?: CustomNetwork filter?: Platform[] containerElement?: string } interface CustomNetwork { networkId: number genesis: GenesisBlock hardforks: Hardfork[] bootstrapNodes: BootstrapNode[] } interface GenesisBlock { hash: string timestamp: string | null gasLimit: number difficulty: number nonce: string extraData: string stateRoot: string } interface Hardfork { name: string block: number | null } interface BootstrapNode { ip: string port: number | string network?: string chainId?: number id: string location: string comment: string } ``` ### Usage ```typescript import Onboard from '@web3-onboard/core' import keystoneModule from '@web3-onboard/keystone' const keystone = keystoneModule() const onboard = Onboard({ // ... other Onboard options wallets: [ keystone //... other wallets ] }) const connectedWallets = await onboard.connectWallet() console.log(connectedWallets) ``` ### Filtering Platforms You may decide that on certain platforms you do not want to display this wallet as a selectable option. To do that you can use the `filter` init option which is an array of platforms that you would like this wallet to **not** be displayed to the end user: ```typescript import Onboard from '@web3-onboard/core' import keystoneModule from '@web3-onboard/keystone' const keystone = keystoneModule({ filter: ['Safari'] }) const onboard = Onboard({ // ... other Onboard options wallets: [ keystone //... other wallets ] }) const connectedWallets = await onboard.connectWallet() console.log(connectedWallets) ``` The following is a list of the platforms that can be filtered: ```typescript type Platform = | 'Windows Phone' | 'Windows' | 'macOS' | 'iOS' | 'Android' | 'Linux' | 'Chrome OS' | 'Android Browser' | 'Chrome' | 'Chromium' | 'Firefox' | 'Microsoft Edge' | 'Opera' | 'Safari' | 'desktop' | 'mobile' | 'tablet' ```