> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tenderly.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Wagmi - интеграция с Node RPC

> Настройте Tenderly Node RPC как транспорт wagmi, связав createConfig, chains, connectors и HTTPS-эндпоинты по сетям в вашем React-dapp.

[Wagmi](https://wagmi.sh/) — это библиотека React Hooks, упрощающая интеграцию Ethereum в React-приложения. Она предлагает лёгкую установку, настройку сетей и разнообразные хуки для работы с кошельком, контрактами и транзакциями.

Такие библиотеки, как [Reown AppKit](/node-rpc/dapp-ui/reown), [ConnectKit](/node-rpc/dapp-ui/connectkit), [Dynamic](/node-rpc/dapp-ui/dynamic) и [RainbowKit](/node-rpc/dapp-ui/rainbowkit), построены поверх Wagmi.

## Настройка Wagmi

Создайте конфигурацию сетей с `transports`, содержащим Node RPC.

```ts title="wagmi-config.ts" showLineNumbers theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
import { createConfig, http } from 'wagmi'
import { mainnet, base, baseSepolia, optimism } from 'wagmi/chains'
import { injected, walletConnect, metaMask, safe } from 'wagmi/connectors'

const projectId = '<WALLETCONNECT_PROJECT_ID>'

export const config = createConfig({
  chains: [mainnet, base, baseSepolia, optimism],
  connectors: [
    injected(),
    walletConnect({ projectId }),
    metaMask(),
    safe(),
  ],
  transports: {
    [mainnet.id]: http(`https://mainnet.gateway.tenderly.co/${process.env.NEXT_PUBLIC_TENDERLY_NODE_ACCESS_KEY_MAINNET}`),
    [base.id]: http(`https://base.gateway.tenderly.co/${process.env.NEXT_PUBLIC_TENDERLY_NODE_ACCESS_KEY_BASE}`),
    [baseSepolia.id]: http(`https://base-sepolia.gateway.tenderly.co/${process.env.NEXT_PUBLIC_TENDERLY_NODE_ACCESS_KEY_BASE_SEPOLIA}`),
    [optimism.id]: http(`https://optimism.gateway.tenderly.co/${process.env.NEXT_PUBLIC_TENDERLY_NODE_ACCESS_KEY_OPTIMISM}`),
  },
})
```

### Оберните приложение в WagmiProvider

```tsx title="App.tsx" showLineNumbers theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}

const queryClient = new QueryClient();

export function App() {
  return (
    <WagmiProvider config={config}>
      <QueryClientProvider client={queryClient}>
        <Home />
      </QueryClientProvider>
    </WagmiProvider>
  )
}
```
