Skip to main content

Python SDK for ETH

Project description

Python SDK for ETH

Python ETH is an experimental project that aims to provide human-friendly interfaces for common ETH operations. Note that Python ETH is not a complete SDK, but only implements the ETH functions that I am interested in.

Installation

$ git clone https://github.com/mohanson/pyeth
$ cd pyeth
$ python -m pip install --editable .

Usage

example/addr.py

Calculate the address from a private key.

$ python example/addr.py --prikey 0x1

# 0x7e5f4552091a69125d5dfcb7b8c2659029395bdf

example/balance.py

Get the balance by an address.

$ python example/balance.py --addr 0x7e5f4552091a69125d5dfcb7b8c2659029395bdf

# 39934.9989371221

example/collision.py

Generate a random private key and check whether there are assets under the private key.

$ python example/collision.py --net mainnet

example/scan_erc20.py

Print all usdt transfer events in the last block.

$ python example/scan_erc20.py

# 0x4d74d6fb5a75d121cda9f9dfbd0bd074999b43731f17140606ea57eccb5a7192
# 0x11b815efb8f581194ae79006d24e0d814b7697f6 0xa69babef1ca67a37ffaf7a485dfff3382056e78c 135241.983213
# ...

example/scan_eth.py

Get the latest block and print out the transaction hash, sender, receiver and value(in ether).

$ python example/scan_eth.py --net mainnet

# 0x41733e4e2b1537c9be99ad591c2e2a608dbff547ebd91acbb65e9a205aceb3ff
# 0x9ab23085cb3e847d37819a712512dfd5d60c8d88 0x429cf888dae41d589d57f6dc685707bec755fe63 1.9937829e-11
# ...

example/storage.py

Publish a storage contract, then store a number 42 in the contract, and finally read this number.

$ python example/storage.py --action deploy --prikey 0x1
# hash = 0xc4a663c8a867d1d6fcbb8b57794eb732baa1bf6cb4c1b0c1cee278e00c8fd644
# addr = 0x930b793f778bbf43fab1080abf1840e018831cde

$ python example/storage.py --action set --addr 0x930b793f778bbf43fab1080abf1840e018831cde --prikey 0x1
# hash = 0x95c3fab08f6f4dcac14db157c2c2936417ae528acf9637fd50f772ac617072b5

$ python example/storage.py --action get --addr 0x930b793f778bbf43fab1080abf1840e018831cde
# data = 0x000000000000000000000000000000000000000000000000000000000000002a

example/transfer.py

Transfer ether to other.

$ python example/transfer.py --prikey 0x1 --to 0x2b5ad5c4795c026514f8317c7a215e218dccd6cf --value 0.05
# 0xfdeb27f32a21c793562daa8fa2780546e3304620a9925337c7df5e4e9819ef3a

Test

$ git clone https://github.com/ethereum/go-ethereum --branch release/1.14
$ cd go-ethereum
$ make geth

$ geth --dev --http
$ geth --exec "eth.sendTransaction({from: eth.accounts[0], to: '0x7e5f4552091a69125d5dfcb7b8c2659029395bdf', value: web3.toWei(10000, 'ether')})" attach /tmp/geth.ipc
$ pytest -v

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

pleth-1.1.1.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pleth-1.1.1-py2.py3-none-any.whl (13.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pleth-1.1.1.tar.gz.

File metadata

  • Download URL: pleth-1.1.1.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for pleth-1.1.1.tar.gz
Algorithm Hash digest
SHA256 1f5317b90a741fee43ac9a95fc243565907009b60bd4162961575e5b1728474a
MD5 340bf92b7b1a0618a1bcbab675405cec
BLAKE2b-256 b4cb694c9c1718b15c57eb595bd267119cac091540901b745f43fd6345862ec7

See more details on using hashes here.

File details

Details for the file pleth-1.1.1-py2.py3-none-any.whl.

File metadata

  • Download URL: pleth-1.1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for pleth-1.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 53a13efe29a3e429bfd790ef4ec162d361e13c1f22cd3739dd29ff2824c0219b
MD5 53a27b7ad4bf9fbaf2225e4b839cc052
BLAKE2b-256 8003433544be60233cc7608e88e166b3ef9d60396c189219b24f0d4dcede4639

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