Skip to content
This repository has been archived by the owner on Aug 27, 2021. It is now read-only.

matter-labs-archive/zk-wallet-onboarding

 
 

Repository files navigation

Onboard

JavaScript library to easily onboard users to ethereum apps by enabling wallet selection, connection, wallet checks and real time state updates.

Install

npm install @mattermost/zk-wallet-onboarding

Quick Start

import Onboard from 'bnc-onboard'
import Web3 from 'web3'

// set a variable to store instantiated web3
let web3

// head to blocknative.com to create a key
const BLOCKNATIVE_KEY = 'blocknative-api-key'

// the network id that your dapp runs on
const NETWORK_ID = 1

// initialize onboard
const onboard = Onboard({
  dappId: BLOCKNATIVE_KEY,
  networkId: NETWORK_ID,
  subscriptions: {
    wallet: wallet => {
      // instantiate web3 when the user has selected a wallet
      web3 = new Web3(wallet.provider)
      console.log(`${wallet.name} connected!`)
    }
  },
  // Content shown in wallet select popup at the botton -> expandable teaser that can be used to onboard, describe or as a call-to-action
  popupContent: {
    teaser: "Can't find your wallet?",
    fullHtml: "Oh, dear... It's so sad :(",
    dismiss: "Dismiss"
  }
})

// Prompt user to select a wallet
await onboard.walletSelect()

// Run wallet checks to make sure that user is ready to transact
await onboard.walletCheck()

Documentation

For detailed documentation head to docs.blocknative.com

Packages

No packages published

Languages

  • TypeScript 83.1%
  • Svelte 15.7%
  • JavaScript 1.1%
  • Shell 0.1%