Ethereum EIP20 Token Interface
Project description
This is a tiny library leveraging web3.py to make an interface for working with EIP20 tokens on Ethereum. (formerly ERC20)
It is currently in Pre-alpha, with 0 automated tests
Usage
Install
virtualenv -p python3 venv
. venv/bin/activate
pip install --pre ethtoken
Initialize
from ethtoken import token
# Use the ENS name that points to your token contract here:
omg = token("omg.thetoken.eth")
Use standard EIP20 methods
Most EIP20 methods are optional. ethtoken makes no attempt to verify which methods are implemented by a token contract.
Here’s an example with all the read functions working:
>>> omg.name()
'OMGToken'
>>> omg.symbol()
'OMG'
>>> omg.decimals()
18
>>> omg.totalSupply()
140245398245132780789239631
# Use the ENS name of the owner address here:
>>> omg.balanceOf('ethereumfoundation.eth')
308744633639977714804
Custom methods
ethtoken has a single custom method not in the EIP20 spec: token_balance.
>>> omg.token_balance("ethereumfoundation.eth")
Decimal('308.744633639977714804')
It returns the balance of an address, with the decimal point shifted according to the decimals() value on the contract. In other words, it is the human-readable number of tokens that the given address owns.
Completely Untested: Transfers
In theory, you could use this to send a token. I haven’t even tried it once yet. Just don’t use it. If you’re going to ignore me, don’t blame me if you lose tokens or ether.
This should theoretically transfer 1 giga units from 0x0 to 0xdead. (That’s 1 nanotoken, at 18 decimals). Of course, this won’t work if you don’t control the 0x0 address. (hint: you don’t)
from web3 import Web3
>>> omg.transfer(
'0x000000000000000000000000000000000000dEaD',
10 ** 9,
transact={
'from': '0x0000000000000000000000000000000000000000',
'gasPrice': Web3.toWei('0.1', 'gwei'),
},
)
Ownership Disclosure
I own some OmiseGo tokens, because anyone who had some ether during their airdrop got some. I don’t have any opinions on the company or token.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for ethtoken-0.0.1a2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1b3dfc9efe1dcfc818be8ac018e58ff07571ebd93c66aab647c487913167cf0 |
|
MD5 | 967414b35bb78a94b25f54f00f8a8a55 |
|
BLAKE2b-256 | 712e3830e0dd15f6d93ce99925eba02a16f81dc7db58a0ec360b887568b83a87 |