Skip to main content

No project description provided

Project description

Python Web3 CLI

A simple and powerful Ethereum command-line interface built with web3.py.

Language - Python PyPI - License PyPI PyPI - Downloads

Features

  • Config: Manage RPC URLs and private keys securely via a local .env file.
  • Account: Check ETH balance for any address or your default account.
  • Blockchain: Retrieve detailed information for blocks and transactions.
  • Transfers: Send ETH to any Ethereum address.
  • Rich UI: Beautiful terminal output using the rich library.

Installation

pip install python-web3-cli

Usage

1. Configuration

Set your RPC provider (e.g., Infura, Alchemy, or public nodes):

web3-cli config WEB3_RPC_URL https://eth.llamarpc.com

Set your private key to enable sending ETH:

web3-cli config WEB3_PRIVATE_KEY your_private_key_here

2. Commands

Check Balance

# Check your own balance (requires private key in config)
web3-cli balance

# Check balance of a specific address
web3-cli balance 0x...

Get Block Info

web3-cli block latest
web3-cli block 17000000

Get Transaction Info

web3-cli tx 0x...

Send ETH

web3-cli send 0x... 0.01

3. Advanced Features

Smart Contract Interaction

You can call contract functions using their signature or a full JSON ABI.

Read Data (Call)

# Using function signature (defaults to view/uint256)
web3-cli contract call 0x... "balanceOf(address)" 0x...

# Using full ABI file
web3-cli contract call 0x... name --abi ./erc20.json

Write Data (Transact)

web3-cli contract transact 0x... "transfer(address,uint256)" 0x... 1000000

Proxy Calls

To call a proxy contract, provide the proxy address and the ABI of the implementation:

web3-cli contract call [PROXY_ADDR] "someMethod()" --abi ./implementation.json

Multi-sig & Offline Signing

Sign a transaction (without sending)

web3-cli sign 0x... 0.1

This outputs a raw hex string that can be shared or saved.

Send a pre-signed transaction

web3-cli send-raw <RAW_HEX>

Advanced State & Event Queries

Get contract bytecode

web3-cli contract code 0x...

Read raw storage slot

web3-cli contract storage 0x... 0

Get transaction receipt (execution status)

web3-cli receipt 0x...

Query event logs

web3-cli logs --address 0x... --from-block 17000000

Account & Security

Create a new account

web3-cli account create

Sign a message (EIP-191)

web3-cli account sign-message "Hello Web3"

Verify a signature

web3-cli account verify-message "Hello Web3" <signature> <address>

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_web3_cli-0.1.0.tar.gz (8.9 kB view details)

Uploaded Source

File details

Details for the file python_web3_cli-0.1.0.tar.gz.

File metadata

  • Download URL: python_web3_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for python_web3_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e4bdc233f1735ae9b1f1fac94f80bfd0d1a0618c2c3520ae6f6ba26acaa6b738
MD5 8db6d4c627446173be999b58db2a6bd7
BLAKE2b-256 2cb884e2eaa47337ee33e612ea60ad0e7df6bb59bbd6439c55883a6230ba058f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page