Skip to content

@rainbow-me/[email protected]

Compare
Choose a tag to compare
@DanielSinclair DanielSinclair released this 21 Nov 08:12
· 205 commits to main since this release
dd122dc

Minor Changes

  • 9ce75a6: The RainbowButton component is the simplest way to add support for Rainbow Wallet to dApps that use wagmi and prefer a more custom connector experience over RainbowKit.

    1. Install @rainbow-me/rainbow-button and its peer dependencies

    The package is compatible with Next.js, React, and Vite. Ensure that you follow peer dependency warnings.

    npm install @rainbow-me/rainbow-button wagmi viem

    2. Configure with Wagmi and install the RainbowButton

    Pass an instance of the RainbowConnector to your Wagmi connector list, and wrap your app in the RainbowButtonProvider. Then drop-in the RainbowButton component into your wallet list.

    import "@rainbow-me/rainbow-button/styles.css";
    import {
      RainbowButtonProvider,
      RainbowConnector,
    } from "@rainbow-me/rainbow-button";
    
    const wagmiClient = createConfig({
      connectors: [new RainbowConnector({ chains, projectId })],
      publicClient,
    });
    
    function MyApp({ Component, pageProps }: AppProps) {
      return (
        <WagmiConfig config={wagmiClient}>
          <RainbowButtonProvider>{/* Your App */}</RainbowButtonProvider>
        </WagmiConfig>
      );
    }
    
    export const YourApp = () => {
      return <RainbowButton />;
    };

    You can also use the RainbowButton.Custom component for custom implementations and styling.

    <RainbowButton.Custom>
      {({ ready, connect }) => {
        return (
          <button type="button" disabled={!ready} onClick={connect}>
            Connect Rainbow
          </button>
        );
      }}
    </RainbowButton.Custom>

    3. And that's it!

    Now your users can enjoy a seamless connection experience for Rainbow — without any maintenance or headaches.

    A WalletButton component is also available in RainbowKit if you'd like to adopt support for additional wallets.