usePublicClient ​
Hook for getting Viem PublicClient instance.
Import ​
ts
import { usePublicClient } from 'wagmi'import { usePublicClient } from 'wagmi'Usage ​
tsx
import { usePublicClient } from 'wagmi'
function App() {
const client = usePublicClient()
}import { usePublicClient } from 'wagmi'
function App() {
const client = usePublicClient()
}ts
import { http, createConfig } from 'wagmi'
import { mainnet, sepolia } from 'wagmi/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})import { http, createConfig } from 'wagmi'
import { mainnet, sepolia } from 'wagmi/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})WARNING
If you want to optimize bundle size, you should use useClient along with Viem's tree-shakable actions instead. Since Public Client has all public actions attached directly to it.
Parameters ​
ts
import { type UsePublicClientParameters } from 'wagmi'import { type UsePublicClientParameters } from 'wagmi'chainId ​
config['chains'][number]['id'] | undefined
ID of chain to use when getting Viem Public Client.
ts
import { usePublicClient } from 'wagmi'
import { mainnet } from 'wagmi/chains'
import { config } from './config'
function App() {
const client = usePublicClient({
chainId: mainnet.id,
})
}import { usePublicClient } from 'wagmi'
import { mainnet } from 'wagmi/chains'
import { config } from './config'
function App() {
const client = usePublicClient({
chainId: mainnet.id,
})
}ts
import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})import { http, createConfig } from '@wagmi/core'
import { mainnet, sepolia } from '@wagmi/core/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})config ​
Config | undefined
Config to use instead of retrieving from the from nearest WagmiProvider.
tsx
import { usePublicClient } from 'wagmi'
import { config } from './config'
function App() {
const client = usePublicClient({
config,
})
}import { usePublicClient } from 'wagmi'
import { config } from './config'
function App() {
const client = usePublicClient({
config,
})
}ts
import { http, createConfig } from 'wagmi'
import { mainnet, sepolia } from 'wagmi/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})import { http, createConfig } from 'wagmi'
import { mainnet, sepolia } from 'wagmi/chains'
export const config = createConfig({
chains: [mainnet, sepolia],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})Return Type ​
ts
import { type UsePublicClientReturnType } from 'wagmi'import { type UsePublicClientReturnType } from 'wagmi'PublicClient
Viem PublicClient instance.