Sodium Documentation
  • Overview
    • Security Architecture
    • Key Management
    • Sodium Network
    • Compatible With ERC-4337
    • Trusted Execution Environment
    • Roadmap
  • SDK
    • Connect Wallet
    • Sign Messages
    • Transfer
    • Wallet Connector
      • web3.js
      • web3-react-v8
      • viem
      • wagmi
      • rainbowkit
      • web3-modal-v2
  • Terms
    • Terms of Use for Sodium Wallet
    • Privacy Policy
    • Sodium List of Restricted Regions
Powered by GitBook
On this page
  1. SDK
  2. Wallet Connector

web3-react-v8

Previousweb3.jsNextviem

Last updated 2 years ago

Full Example

import { initializeConnector, Web3ReactHooks } from '@web3-react/core'
import { Connector } from '@web3-react/types'

// https://github.com/sodiumlabs/demo-dapp-web3-react/blob/main/src/connectors/sodium.ts
import { SodiumConnector } from './sodium'

export enum ConnectionType {
  SODIUM = 'SODIUM',
}

export interface Connection {
  connector: Connector
  hooks: Web3ReactHooks
  type: ConnectionType
}

const [web3Sodium, web3SodiumHooks] = initializeConnector<SodiumConnector>(
  (actions) =>
    new SodiumConnector({
      actions,
      config: {
        defaultNetworkId: 80001,
        walletAppURL: 'https://sodium-two.vercel.app',
        transports: {
          iframeTransport: {
            enabled: true,
          }
        },
      },
    })
)
export const sodiumConnection: Connection = {
  connector: web3Sodium,
  hooks: web3SodiumHooks,
  type: ConnectionType.SODIUM,
}


// connect
sodiumConnection.connector.activate();


// get provider
const provider = sodiumConnection.hooks.useProvider();

// signer
const signer = await provider!.getSigner()

// sign
const sig = await signer.signMessage(message)
console.log('signature:', sig)
https://github.com/sodiumlabs/demo-dapp-web3-react