Setup
Configure your application with the Gorbag provider to enable wallet integration.
Provider Configuration
Based on the test-dapp implementation, wrap your application with the ConnectionProvider and WalletProvider:
JAVASCRIPT
1// _app.js2import '../styles/globals.css';3import { WalletProvider } from '../components/WalletProvider';4import { Toaster } from 'react-hot-toast';56export default function App({ Component, pageProps }) {7 return (8 <WalletProvider>9 <Toaster />10 <Component {...pageProps} />11 </WalletProvider>12 );13}WalletProvider Implementation
The WalletProvider sets up the Gorbag wallet adapter with the required dependencies:
JAVASCRIPT
1// components/WalletProvider.js2import { useMemo } from 'react';3import { ConnectionProvider, WalletProvider as SolanaWalletProvider } from '@solana/wallet-adapter-react';4import { WalletModalProvider } from '@solana/wallet-adapter-react-ui';5import { GorbagWalletAdapter } from '@gorbag/wallet-adapter';67// Styles for the wallet adapter UI8require('@solana/wallet-adapter-react-ui/styles.css');910export const WalletProvider = ({ children }) => {11 // Initialize the Gorbag wallet adapter12 const wallets = useMemo(() => [13 new GorbagWalletAdapter({})14 ], []);1516 // Using Gorbagana RPC endpoint (replace with actual Gorbagana endpoint)17 const endpoint = 'https://api.devnet.solana.com'; // Placeholder - replace with actual Gorbagana endpoint1819 return (20 <ConnectionProvider endpoint={endpoint}>21 <SolanaWalletProvider wallets={wallets} autoConnect={false}>22 <WalletModalProvider>23 {children}24 </WalletModalProvider>25 </SolanaWalletProvider>26 </ConnectionProvider>27 );28};Alternative Setup for Other Frameworks
For other frameworks like React without Next.js:
JAVASCRIPT
1import React from 'react';2import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react';3import { WalletModalProvider } from '@solana/wallet-adapter-react-ui';4import { GorbagWalletAdapter } from '@gorbag/wallet-adapter';5import { useMemo } from 'react';67require('@solana/wallet-adapter-react-ui/styles.css');89export const AppProvider = ({ children }) => {10 const wallets = useMemo(() => [11 new GorbagWalletAdapter({})12 ], []);1314 const endpoint = 'https://api.devnet.solana.com'; // Replace with Gorbagana endpoint1516 return (17 <ConnectionProvider endpoint={endpoint}>18 <WalletProvider wallets={wallets} autoConnect={false}>19 <WalletModalProvider>20 {children}21 </WalletModalProvider>22 </WalletProvider>23 </ConnectionProvider>24 );25};2627// Use in your main app28function App() {29 return (30 <AppProvider>31 {/* Your app components */}32 </AppProvider>33 );34}Environment Configuration
Set up your environment variables for different networks:
BASH
1// .env2NEXT_PUBLIC_RPC_ENDPOINT=https://api.devnet.solana.com3# For mainnet, use your Gorbagana mainnet endpoint when available