Before diving into the example, make sure you have two things setup:
Make sure to have NEXT_PUBLIC_RPC_PROVIDER_URL set up in your .env file.
You can use the public default one (https://aeneid.storyrpc.io) or any other RPC here.
Make sure to have NEXT_PUBLIC_TOMO_CLIENT_ID set up in your .env file. Do this by logging into the Tomo Dashboard and creating a project.
Make sure to have NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID set up in your .env file. Do this by logging into Reown (prev. WalletConnect) and creating a project.
"use client";import '@tomo-inc/tomo-evm-kit/styles.css';import { getDefaultConfig, TomoEVMKitProvider } from "@tomo-inc/tomo-evm-kit";import { WagmiProvider } from "wagmi";import { QueryClientProvider, QueryClient } from "@tanstack/react-query";import { PropsWithChildren } from "react";import { aeneid } from "@story-protocol/core-sdk";const config = getDefaultConfig({ appName: "Test Story App", clientId: process.env.NEXT_PUBLIC_TOMO_CLIENT_ID as string, projectId: process.env.NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID as string, chains: [aeneid], ssr: true, // If your dApp uses server side rendering (SSR)});const queryClient = new QueryClient();export default function Web3Providers({ children }: PropsWithChildren) { return ( <WagmiProvider config={config}> <QueryClientProvider client={queryClient}> <TomoEVMKitProvider> {children} </TomoEVMKitProvider> </QueryClientProvider> </WagmiProvider> );}