Skip to main content

Pleth: Ethereum Library For Humans

Project description

Python SDK for ETH

Pleth is a project that aims to provide human-friendly interfaces for common ethereum operations. Using pleth, you can easily and happily complete everything you want to do on eth.

Installation

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

Usage

By default, pleth is configured on the develop. To switch networks, use pleth.config.current = pleth.config.mainnet.

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.2.0.tar.gz (13.8 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.2.0-py2.py3-none-any.whl (13.3 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for pleth-1.2.0.tar.gz
Algorithm Hash digest
SHA256 4035910a2eac3446978c8d4049f289fd1ea69047a10fd5649daca3b9b3e24be3
MD5 d1337596db37693dffaf4239b4b7d8db
BLAKE2b-256 c82e13b7574b1658ec5e2846a6a1374b8661f9ce549f079bcd248e6842cfcb6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pleth-1.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 13.3 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.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f8ed01a9d1889d8688041ebd2d2372d61b3eed478310ca7bb1d113fb76107f14
MD5 1acb51ccf21c9ec8936517c8eecfd23e
BLAKE2b-256 009a140f7c3ef69a39282bc57682eec5de0bc4fb9381531326556711abdd6447

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