SOCKS5 & more proxy providers for web3py.
Project description
Usage:
from __future__ import annotations
import asyncio
import sys
from os import environ as os_env
from python_socks import ProxyType
from web3 import AsyncWeb3
from web3_proxy import AdvAsyncHTTPProvider
async def main() -> None:
# NOTE: You can parse using func from `aiohttp_socks` lib
addr = os_env['PADDR']
logpass = os_env['PLOGPASS']
phost, pport = addr.split(':')
puser, ppasswd = logpass.split(':')
print('Connecting to:', phost, pport, puser, ppasswd)
provider = AdvAsyncHTTPProvider(
endpoint_uri='https://eth.drpc.org',
proxy_conn_kwargs={
# 'proxy_type': ProxyType.HTTP,
'proxy_type': ProxyType.SOCKS5,
'host': phost,
'port': pport,
'username': puser,
'password': ppasswd,
},
)
w3 = AsyncWeb3(provider)
block_number = await w3.eth.get_block_number()
print(f'Block number is {block_number}')
# NOTE: You can have warning of unclosed session after execution end
# due internal proxy connector..
if __name__ == '__main__':
async_loop = asyncio.get_event_loop()
async_loop.run_until_complete(main())
print('Complete!')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
web3_proxy-0.0.1.tar.gz
(11.6 kB
view hashes)
Built Distribution
web3_proxy-0.0.1-py3-none-any.whl
(12.8 kB
view hashes)
Close
Hashes for web3_proxy-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 593e0049eb67306b9b410701e2f5540577ee711a1fdff04eb100d03706c00605 |
|
MD5 | d2e71b12d3054cf526a89bdcfc17c552 |
|
BLAKE2b-256 | 2c20ec833b716b7747923125eddbf4a8cc76c93aab6a5d9453089e7b63e1ff60 |