web3.py פּראָקסי סעטינגס: HTTPProvider קעגן AsyncHTTPProvider
ניצט Requests-סטיל פּראָקסיס פֿאַר HTTPProvider און אַ aiohttp-סטיל פּראָקסי פֿאַר AsyncHTTPProvider, אַנשטאָט אָפּקאָפּירן די זעלבע request_kwargs צווישן זיי.
אין web3.py 7.14 ניצט HTTPProvider Requests בשעת AsyncHTTPProvider ניצט aiohttp. זייערע request_kwargs דערגרייכן פֿאַרשײדענע HTTP קליענטן.
פֿאַר אַ סינכראָן HTTPS JSON-RPC ענדפּוינט:
from web3 import Web3
client = Web3(Web3.HTTPProvider(
rpc_url,
request_kwargs={
'proxies': {'https': 'http://proxy.example:8080'},
'timeout': 20,
},
))האַלט rpc_url ווי דעם עמעטן ענדפּוינט פֿון דעם נאָד. דער ווערט אין דער מאַפּע באַנענט דעם מיטלמאַן. פֿאַר אַ פּובליק RPC נאָד אויף אַ דערלויבטער פּובליקער פּראָקסי רוטע, דער HTTP פּראָקסי ליסטע צושטעלט קאַנדידאַטן פֿאַר די HTTP פּראָקסי ווערטן אין ביידע ביישפּילן.
דער אַסינכראָנער פּראָוויידער ניצט אַנשטאָט אַן איינצאָל proxy מיט אַ 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)אָפּקאָפּירן פּראָקסיס אין דעם אַסינכראָנעם וועג פֿירט צו אַן אומגעריכטן שליסלוואָרט טעות אין aiohttp. סײַ די אויסלייג סײַ דער ווערט טיפּ דאַרף זיך ענדערן.
פֿאַרמאַך דעם אַסינכראָנעם פּראָוויידער מיט await provider.disconnect() אין זיין רייניקונג וועג. די סעטינגס געהערן צו די HTTP פּראָוויידערס; אַ WebSocket פּראָוויידער האָט זיין אייגענעם טראַנספּאָרט אינטערפֿייס.