Blockchain Hooks
useCurrentBlock()
useCurrentBlock()
Fetches the current block from the blockchain with automatic updates.
const { data, isLoading, error } = useCurrentBlock();
Features:
Auto-refreshes every 10 seconds
Caches data for 1 minute
Returns the latest block information as Connex.Thor.Block
Example:
function BlockInfo() {
const { data: block } = useCurrentBlock();
return <div>Current Block: {block?.number}</div>;
}
useTxReceipt()
useTxReceipt()
Polls the blockchain for a transaction receipt until it is found or times out.
const { data, isLoading, error } = useTxReceipt(txId, blockTimeout);
Parameters:
txId: (string) The transaction ID to monitor
blockTimeout: (optional number) Number of blocks to wait before timing out (default: 5)
Returns:
data: Transaction receipt (Connex.Thor.Transaction.Receipt)
isLoading: Boolean indicating if the receipt is being fetched
error: Error object if the operation fails
Example:
function TransactionStatus({ txId }) {
const { data: receipt, isLoading } = useTxReceipt(txId);
if (isLoading) return <div>Loading...</div>;
return <div>Transaction Status: {receipt?.reverted ? 'Failed' : 'Success'}</div>;
}
Utility Functions
useEvents()
useEvents()
Fetches events from the blockchain based on specified criteria.
const events = await getEvents({
abi,
contractAddress,
eventName,
filterParams,
mapResponse,
nodeUrl,
});
Last updated
Was this helpful?