An web3.py 7.14 benotzt HTTPProvider Requests, während AsyncHTTPProvider aiohttp benotzt. Hir request_kwargs erreechen ënnerschiddlech HTTP-Clienten.

Fir en synchrone HTTPS JSON-RPC-Endpunkt:

from web3 import Web3

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

Behält rpc_url als den tatsächlechen Node-Endpunkt. De Wäert an der Map bezeechent den Intermédiaire. Fir en ëffentlechen RPC-Node op enger erlaabter ëffentlecher Proxy-Route liwwert d'HTTP-Proxy-Lëscht Kandidaten fir d'HTTP-Proxy-Wäerter an deem een oder deem anere Beispill.

Den asynchrone Provider benotzt amplaz d'Eenzuel proxy mat engem URL-Wäert:

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)

D'Proxyen an den asynchrone Wee ze kopéieren erzeugt an aiohttp eng Feeler vun engem onerwaarten Schlësselwuert. Souwuel d'Schreifweis wéi och den Typ vum Wäert musse sech änneren.

Schlësst den asynchrone Provider mat await provider.disconnect() a sengem Botz-Wee. Dës Astellunge gehéieren zu den HTTP-Provideren; e WebSocket-Provider huet seng eegen Transport-Interface.

Ähnlech Artikelen