wagmi 文档:https://wagmi.sh/docs/getting-started
- 获取地址
- 获取余额
- 创建合约对象
4.合约监听
5.读取合约方法
6.调用合约方法
7.获取Network、Provider、Signer
8.切换网络
1. 获取地址
// address?: string
// connector?: Connector
// isConnecting: boolean
// isReconnecting: boolean
// isConnected: boolean
// isDisconnected: boolean
// status: 'connecting' | 'reconnecting' | 'connected' | 'disconnected'
const account = useAccount({
onConnect({ address, connector, isReconnected }) {
console.log('Connected', { address, connector, isReconnected })
},
onDisconnect() {
console.log('Disconnected')
},
})
console.log('account==',account);
2. 获取余额
const balance = useBalance({
addressOrName:'自己的钱包地址'
})
console.log('balance==',balance.data?.formatted);
3. 创建合约对象
const contract = useContract({
addressOrName: '合约地址',
contractInterface: 合约ABI,
})
4.合约方法监听
function App() {
useContractEvent({
addressOrName: 合约地址,
contractInterface:合约ABI,
eventName: 'NewOwner', 合约监听方法
listener: (event) => console.log(event),
once: true, 监听一次
})
}
5.读取合约方法
const contractRead = useContractRead({
addressOrName: '合约地址',
contractInterface: 合约abi,
functionName: 'getSleep', 合约方法
args:[],参数
onSuccess(data) {
console.log('Success', data)
},
onError(error) {
console.log('Error', error)
},
})
6.调用合约方法
const { data, isError, isLoading, write } = useContractWrite({
addressOrName: '合约地址',
contractInterface: 合约abi,
functionName: 'feed合约方法',
args: [],参数
onError(error) {
console.log('Error', error)
},
onSuccess(data) {
console.log('Success', data)
},
})
7.获取Network、Provider、Signer
const { chain, chains } = useNetwork()
const provider = useProvider()
const { data: signer, isError, isLoading } = useSigner()
8.切换网络
const { chains, error, isLoading, pendingChainId, switchNetwork } =
useSwitchNetwork()
switchNetwork?.(chainId)
网友评论