Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mohanson/pyeth
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.
https://github.com/mohanson/pyeth
Last synced: about 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/mohanson/pyeth
- Owner: mohanson
- License: mit
- Created: 2024-03-21T06:19:10.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-10-28T02:11:37.000Z (about 2 months ago)
- Last Synced: 2024-10-28T06:03:00.890Z (about 2 months ago)
- Language: Python
- Homepage:
- Size: 61.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
```sh
$ 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.
```sh
$ python example/addr.py --prikey 0x1# 0x7e5f4552091a69125d5dfcb7b8c2659029395bdf
```**example/balance.py**
Get the balance by an address.
```sh
$ 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.
```sh
$ python example/collision.py --net mainnet
```**example/scan_erc20.py**
Print all usdt transfer events in the last block.
```sh
$ 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).
```sh
$ 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.
```sh
$ 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.
```sh
$ python example/transfer.py --prikey 0x1 --to 0x2b5ad5c4795c026514f8317c7a215e218dccd6cf --value 0.05
# 0xfdeb27f32a21c793562daa8fa2780546e3304620a9925337c7df5e4e9819ef3a
```## Test
```sh
$ 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