Rainbow logo
RainbowKit
2.2.0

自定义钱包

自定义钱包

创建自定义钱包

注意:此API不稳定,很可能在不久的将来发生变化。 我们将随着时间推移增加更多内置钱包。 如果您对任何特定的钱包有兴趣,请告诉我们

钱包函数类型提供帮助你定义自己的自定义钱包。 您的Wallet函数返回值上可以配置以下属性:

PropTypeDefault
id*string
name*string
rdnsstring
shortNamestring | undefined
iconUrl*string | (() => Promise<string>)
iconAccentstring
iconBackground*string
installedboolean | undefined
downloadUrlsDownloadUrls | undefined
hidden(args) => boolean | undefined
createConnector*RainbowKitConnector
mobileobject
desktopobject
qrCodeobject
extensionobject
createConnector*(details: WalletDetailsParams) => CreateConnectorFn
PropTypeDefault
androidstring
iosstring
mobilestring
qrCodestring
chromestring
edgestring
firefoxstring
operastring
safaristring
browserExtensionstring

例如,要使用 WalletConnect 创建一个自定义钱包:

import { Wallet, getWalletConnectConnector } from '@rainbow-me/rainbowkit';
export interface MyWalletOptions {
projectId: string;
}
export const rainbow = ({ projectId }: MyWalletOptions): Wallet => ({
id: 'my-wallet',
name: 'My Wallet',
iconUrl: 'https://my-image.xyz',
iconBackground: '#0c2f78',
downloadUrls: {
android: 'https://play.google.com/store/apps/details?id=my.wallet',
ios: 'https://apps.apple.com/us/app/my-wallet',
chrome: 'https://chrome.google.com/webstore/detail/my-wallet',
qrCode: 'https://my-wallet/qr',
},
mobile: {
getUri: (uri: string) => uri,
},
qrCode: {
getUri: (uri: string) => uri,
instructions: {
learnMoreUrl: 'https://my-wallet/learn-more',
steps: [
{
description:
'We recommend putting My Wallet on your home screen for faster access to your wallet.',
step: 'install',
title: 'Open the My Wallet app',
},
{
description:
'After you scan, a connection prompt will appear for you to connect your wallet.',
step: 'scan',
title: 'Tap the scan button',
},
],
},
},
extension: {
instructions: {
learnMoreUrl: 'https://my-wallet/learn-more',
steps: [
{
description:
'We recommend pinning My Wallet to your taskbar for quicker access to your wallet.',
step: 'install',
title: 'Install the My Wallet extension',
},
{
description:
'Be sure to back up your wallet using a secure method. Never share your secret phrase with anyone.',
step: 'create',
title: 'Create or Import a Wallet',
},
{
description:
'Once you set up your wallet, click below to refresh the browser and load up the extension.',
step: 'refresh',
title: 'Refresh your browser',
},
],
},
},
createConnector: getWalletConnectConnector({ projectId }),
});

然后,您可以在钱包列表中添加您的自定义钱包。