Skip to main content

Pleth: Ethereum Library For Humans

Project description

Pleth: Ethereum Library For Humans

Pleth is a project that aims to provide human-friendly interfaces for common ethereum operations. Pleth is written in pure python and almost zero dependencies except the standard library.

Installation

$ pip install pleth
# or
$ git clone https://github.com/libraries/pleth
$ cd pleth
$ 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.17
$ 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.2.tar.gz (16.0 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.2-py2.py3-none-any.whl (16.0 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: pleth-1.2.2.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pleth-1.2.2.tar.gz
Algorithm Hash digest
SHA256 7128ccf8063f55305002085cdab756ac2223d5b4b96ce739670d6b6400d30b79
MD5 bd3108cd1f3b0d3ef9de976074e45a34
BLAKE2b-256 f4bf3fbc92987ab565d8c942f784c900ca0f2c9d513cd7b74dfa172a23300fa3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pleth-1.2.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pleth-1.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 88cfe070a55b423bd7bb3b672f7756b61be68605659c850b6e8ec1c4333e292e
MD5 1a1d7710bc4698976c14fedea7dbb6f9
BLAKE2b-256 10a8465a86aa6a5ebab30273ab28785d1104bf04700c078d69c4bebf14290115

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