async function testProvider(provider) {
try {
// Test 1: Get block number
const blockNumber = await provider.getBlockNumber()
console.log('✓ Block number:', blockNumber)
// Test 2: Get network
const network = await provider.getNetwork()
console.log('✓ Network:', network.name, 'Chain ID:', network.chainId)
// Test 3: Get gas price
const gasPrice = await provider.getGasPrice()
console.log('✓ Gas price:', ethers.utils.formatUnits(gasPrice, 'gwei'), 'gwei')
// Test 4: Response time
const start = Date.now()
await provider.getBlockNumber()
const responseTime = Date.now() - start
console.log('✓ Response time:', responseTime, 'ms')
return {
working: true,
blockNumber,
network,
gasPrice: gasPrice.toString(),
responseTime
}
} catch (error) {
console.error('✗ Provider test failed:', error.message)
return {
working: false,
error: error.message
}
}
}
// Test your provider
const provider = new ethers.providers.JsonRpcProvider('https://rpc.hyperliquid.xyz/evm')
testProvider(provider).then(result => {
console.log('Test result:', result)
})