Flow Wallet
  • 👋Welcome to Flow Wallet
  • Ecosystem Primers
    • ⭐Flow Reference Wallet Primer
  • FAQ
    • ❓FAQ
  • Features
    • ⛓️Account Linking
    • 🔌WalletConnect
    • 📖Human Readable Transactions
    • 💚Flow Client Library (FCL)
    • 🔓Secure Enclave
    • 🦺Account Recovery
  • Ecosystem Development
    • 🛠️Ecosystem Developer Grants
    • 🔌Integrate Flow EVM with Web3 SDKs
      • Wagmi
      • Rainbowkit
      • Etherjs
      • Web3js
      • Viem
      • Web3-Onboard
      • MIPD
      • Others SDKs
  • Download
    • 📲Download
  • Open Source
    • 💽Open Source
  • Tutorial
    • 🔐Mobile Wallet Backup Guide
    • 💸Move Assets between Flow and EVM
    • 📱Mobile Wallet Restore Guide
    • 💻Extension Wallet Backup Guide
    • 🖥️Extension Wallet Restore Guide
    • 🔁Extension Update Guide
    • 🪙FLOW wallet init token guide
    • 💾Extension Private Key and Seed Phrase Guide
    • ⛵Mobile Wallet Export Log Guide
Powered by GitBook
On this page
  1. Ecosystem Development
  2. Integrate Flow EVM with Web3 SDKs

MIPD

Integrate with MIPD

Connect wallet

// page.tsx

import { ethers, formatEther } from 'ethers'
import { createStore } from 'mipd'

const store = createStore()

const WalletConnect = () => {
    
    // get providers
    const providers = useSyncExternalStore(store.subscribe, store.getProviders, () => null) // return null of getSnapshot
    
    // find flow wallet provider or you can replace with others
    const getFlowWalletProvider = () => {
      return providers!.find(
        (provider: any) => provider.info.rdns === 'com.flowfoundation.wallet',
      );
    }
    
     // connect wallet func
    const connectWallet = async () => {
        const flowWalletProvider = getFlowWalletProvider()
        const accounts = await flowWalletProvider?.provider.request({
          method: 'eth_requestAccounts'
        });
        
        // wrap provider with etherjs
        let etherProvider = new ethers.BrowserProvider(flowWalletProvider?.provider)

        const network = await etherProvider.getNetwork();
        const chainId = network.chainId.toString()
        const balance = await etherProvider.getBalance(accounts[0])
    };
    
    
    return (
        <div>
            <button onClick={connectWallet}>Connect Wallet</button>
        <div/>
    )

}

PreviousWeb3-OnboardNextOthers SDKs

Last updated 4 months ago

See more detail on

🔌
https://github.com/Outblock/mipd-flow-evm-demo