web3.py 7.14 bertsioan HTTPProvider-ek Requests erabiltzen du eta AsyncHTTPProvider-ek aiohttp. Haien request_kwargs HTTP bezero desberdinetara iristen dira.

HTTPS JSON-RPC amaierako puntu sinkroniko baterako:

from web3 import Web3

client = Web3(Web3.HTTPProvider(
    rpc_url,
    request_kwargs={
        'proxies': {'https': 'http://proxy.example:8080'},
        'timeout': 20,
    },
))

Mantendu rpc_url nodoaren benetako amaierako puntu gisa. Mapako balioak bitartekaria izendatzen du. Baimendutako proxy publiko bide batean dagoen RPC nodo publiko baterako, HTTP proxy zerrendak HTTP proxy balioetarako hautagaiak eskaintzen ditu bi adibideetan.

Proveedore asinkronoak, aldiz, proxy singularra erabiltzen du URL balio batekin:

from aiohttp import ClientTimeout
from web3 import AsyncHTTPProvider, AsyncWeb3

provider = AsyncHTTPProvider(
    rpc_url,
    request_kwargs={
        'proxy': 'http://proxy.example:8080',
        'timeout': ClientTimeout(total=20),
    },
)
async_client = AsyncWeb3(provider)

Proxyak bide asinkronora kopiatzeak ustekabeko gako-hitz errore bat eragiten du aiohttp-en. Bai idazkera eta bai balio mota aldatu behar dira.

Itxi proveedore asinkronoa await provider.disconnect() erabiliz bere garbiketa bidean. Ezarpen hauek HTTP proveedoreei dagozkie; WebSocket proveedoreak bere garraio interfaze propioa du.

Erlazionatutako artikuluak