Socket
Socket
Sign inDemoInstall

web3client

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    web3client

Batteries-included client to interact with blockchains and smart contracts


Maintainers
1

Readme

Batteries-included client to interact with blockchains and smart contracts; used by web3cli and crabada.py.

Features

  • Easily create a client to interact with EVM-compatible chains
  • Works with Ethereum, Binance, Avalanche, Arbitrum One, zkSync Era, etc.
  • Subscribe to pending transactions in the mempool and new blocks
  • Flexible logging of RPC calls and transactions
  • Interact with tokens and ETH with the same dual interface
  • Includes a client for Compound V2 operations, and its clones
  • Save gas by setting an upper limit on the base fee
  • Need more flexibility? Use directly the underlying web3.py client

Install

pip3 install -U web3client

Examples

  • Stream pending transactions on the zkSync Era network:

    from web3client.base_client import BaseClient
    
    client = BaseClient("wss://mainnet.era.zksync.io/ws")
    client.subscribe(lambda tx, _, __: print(f"Pending tx: {tx}"))
    
  • Send 1 ETH and 100 USDC to Unicef, using a dual client:

    from web3client.erc20_client import DualClient
    
    rpc = "https://cloudflare-eth.com"
    private_key = "0x..."
    unicef = "0xA59B29d7dbC9794d1e7f45123C48b2b8d0a34636"
    USDC = "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
    
    usdc_client = DualClient(rpc, private_key=private_key, contract_address=USDC)
    usdc_client.send_eth(unicef, 1)
    usdc_client.transfer(unicef, 100)
    

More examples

Please find more examples

Test suite web3test

web3client comes with several pytest plugins you can use to test your scripts:

  • web3test-ape: fixtures of accounts and smart contracts (erc20, compound, etc)
  • web3test-web3client: fixtures of clients for various smart contracts
  • web3test-web3factory: fixtures of clients for various chains

To use one or more plugins in your script, add the following lines at the top of your `conftest.py``:

pytest_plugins = [
    "web3test-ape", "web3test-web3client", "web3test-web3factory"
]

The order of the plugins in the aray is important.

It doesn't work 😡

Don't panic! Instead...

  1. Please check if your issue is listed in the Issues tab.
  2. If not, consider writing a new issue 🙂

Contributing

All contributions are welcome! To start improving web3client, please refer to our contribution guide.

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc