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/>
    )

}

See more detail on https://github.com/Outblock/mipd-flow-evm-demo

Last updated