A cikin web3.py 7.14, HTTPProvider yana amfani da Requests yayin da AsyncHTTPProvider ke amfani da aiohttp. request_kwargs ɗinsu suna isa ga abokan cinikin HTTP daban-daban.

Don maƙasudin HTTPS JSON-RPC na aiki tare:

from web3 import Web3

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

Ka riƙe rpc_url a matsayin ainihin maƙasudin node. Ƙimar da ke cikin taswirar tana ambaton mai shiga tsakani. Don node na RPC na jama'a a kan hanyar wakilin jama'a da aka yarda da ita, jerin wakilan HTTP yana ba da 'yan takara don ƙimar wakilin HTTP a kowane misali.

Mai bayarwa na async a maimakon haka yana amfani da proxy ɗaya tare da ƙimar 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)

Kwafin wakilai zuwa hanyar async yana haifar da kuskuren kalmar da ba a zata ba a cikin aiohttp. Duka rubutun da nau'in ƙimar dole su canza.

Rufe mai bayarwa na async da await provider.disconnect() a hanyar tsaftacewarsa. Waɗannan saitunan na masu bayar da HTTP ne; mai bayar da WebSocket yana da nasa hanyar sadarwar.

Labarai masu alaƙa