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 ප්‍රොක්සි අගයන් සඳහා අපේක්ෂකයන් සපයයි.

අසමමුහුර්ත සපයන්නා ඒ වෙනුවට URL අගයක් සහිත ඒකවචන proxy භාවිත කරයි:

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 සපයන්නාට තමන්ගේම ප්‍රවාහන අතුරුමුහුණතක් ඇත.

අදාළ ලිපි