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 ପ୍ରୋଭାଇଡରର ନିଜସ୍ୱ ପରିବହନ ଇଣ୍ଟରଫେସ ଅଛି।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ