跳到主要内容

Ethereum Provider

FoxWallet's ethereum provider is compatible with MetaMask.

GetProvider

function getProvider() {
const provider = window.foxwallet && window.foxwallet.ethereum;
if (!provider) {
window.open('https://foxwallet.com/download');
throw `Please guide users to download from FoxWallet official website`
}
return provider;
}

Example of requestAccounts

const Provider = getProvider();
const accounts = await Provider.request({ method: 'eth_requestAccounts' }); // string[], an array of a single, hexadecimal Ethereum address string.

Supported Connectors

WalletConnect

import { createWeb3Modal } from '@web3modal/wagmi/react'

createWeb3Modal({
//...
featuredWalletIds: [
'c7708575a2c3c9e6a8ab493d56cdcc56748f03956051d021b8cd8d697d9a3fd2', // FoxWallet
]
})

@rainbow-me/rainbowkit

import {
getDefaultWallets,
connectorsForWallets,
} from '@rainbow-me/rainbowkit';
import { foxWallet } from '@rainbow-me/rainbowkit/wallets';

const { wallets } = getDefaultWallets({ appName, projectId, chains });
const connectors = connectorsForWallets([
...wallets,
{
groupName: 'Popular',
wallets: [foxWallet({ projectId, chains })],
},
]);

@web3-onboard

import injectedModule from '@web3-onboard/injected-wallets'

const injected = injectedModule({
sort: wallets => {
const foxWallet = wallets.find(
({ label }) => label === ProviderLabel.FoxWallet
)

return (
[
foxWallet,
...wallets.filter(
({ label }) => label !== ProviderLabel.FoxWallet
)
].filter(wallet => wallet)
)
}
})