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 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 Distribution
Built Distribution
Hashes for ethtoken-0.0.1a4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31866fed979254565ad33224d89330cd9cec187ef09d65fdbbe73005ddf6d230 |
|
MD5 | 1c2d3d11bc38ce681e2c9eb1b9905f42 |
|
BLAKE2b-256 | ce0e44fc7c399ee3004304210cfc54870f4c7e4acbebedc26a6e4bbf42ca7e3a |