NetworkGatewaysProvider
Overview
The NetworkGatewaysProvider
discovers AR.IO gateways from the AR.IO Network using the AR.IO SDK. It provides dynamic access to the full network of verified gateways, making it the recommended choice for production applications.
Important
To avoid rate limits and improve performance, consider wrapping NetworkGatewaysProvider
with SimpleCacheGatewaysProvider
(for Node.js/server environments) or LocalStorageGatewaysProvider
(for browser environments). This enables caching of gateway lists and reduces unnecessary network requests.
Basic Usage
import { NetworkGatewaysProvider } from '@ar.io/wayfinder-core'
import { ARIO } from '@ar.io/sdk'
// use the top 10 gateways based on operator stake
const provider = new NetworkGatewaysProvider({
ario: ARIO.mainnet(),
sortBy: 'operatorStake',
sortOrder: 'desc',
limit: 10,
})
const gateways = await provider.getGateways()
console.log('Top gateways:', gateways)
Configuration Options
NetworkGatewaysProviderOptions
interface NetworkGatewayProviderOptions {
ario: ARIO
sortBy: 'operatorStake' | 'totalDelegatedStake' | 'startTimestamp'
sortOrder: 'desc'
limit: 10 // only consider the first 10 returned
blocklist: string[]
filter: () => boolean // any filter predicate to filter certain gateways
}
Related Documentation
- Gateway Providers Overview: Compare all gateway providers
- StaticGatewaysProvider: Static gateway configuration
- SimpleCacheGatewaysProvider: Caching wrapper
- Wayfinder Configuration: Main wayfinder setup
- Routing Strategies: How gateways are selected