Katika web3.py 7.14, HTTPProvider hutumia Requests ilhali AsyncHTTPProvider hutumia aiohttp. request_kwargs zao hufikia wateja tofauti wa HTTP.

Kwa kituo cha HTTPS JSON-RPC cha samtidishi:

from web3 import Web3

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

Weka rpc_url kama kituo halisi cha nodi. Thamani iliyo kwenye ramani inataja mpatanishi. Kwa nodi ya RPC ya umma kwenye njia ya proksi ya umma iliyoruhusiwa, orodha ya proksi za HTTP hutoa watahiniwa wa thamani za proksi za HTTP katika mifano yote miwili.

Mtoa huduma asinkroni badala yake hutumia proxy ya umoja yenye thamani ya URL:

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)

Kunakili proksi kwenye njia asinkroni huzalisha hitilafu ya neno muhimu isiyotarajiwa katika aiohttp. Tahajia na aina ya thamani vyote vinapaswa kubadilishwa.

Funga mtoa huduma asinkroni kwa await provider.disconnect() katika njia yake ya kusafisha. Mipangilio hii ni ya watoa huduma wa HTTP; mtoa huduma wa WebSocket ana kiolesura chake cha usafirishaji.

Makala zinazohusiana