Jasmine Project Ethereum SDK (Python)
This SDK provides the following functionalities:
- Create/retrieve new/existing Ethereum accounts
- Transfer ETH and query ETH balance
- Deploy TFCManager smart contracts along with TFCToken ERC20 contracts.
- Claim TFC token through TFCManager using a signature signed by the TFCManager deployer account. Signing functionality is not provided in this SDK by now. Alternatively, use Golang SDK or JavaScript SDK.
- Perform ERC20 standard actions on TFC ERC20 token, including transfer, transferFrom and approve.
Installation
Requires Python >=3.6
pip install jasmine_eth
Usage
Instantiate an SDK object using Ethereum endpoint:
from jasmine_eth import SDK
sdk = SDK("http://localhost:8545")
Create/retrieve an Ethereum account
private_key = "0x4f3edf983ac636a65a842ce7c78d9aa706d3b113bce9c46f30d7d21715b23b1d"
account = sdk.retrieve_account(private_key) # retrieve account using private key
account = sdk.create_account() # create a new account
print(account.address) # Ethereum address
print(account.private_key) # account private key
Deploy TFCManager contract, which will implicitly deploy TFCToken ERC20 contract.
# make sure the account have enough ETH balance to deploy contracts
manager_address = await sdk.deploy_tfc_manager(account)
Get the TFCManager contract instance and TFCToken contract instance:
manager = sdk.get_tfc_manager(manager_address)
tfc_erc20_address = manager.tfc_token_address()
tfc = sdk.get_tfc_token(tfc_erc20_address)
Claim TFC:
amount: int = 1000000000000000000 # 1 TFC
nonce: int = 0
signature: str = "0x6b04573d9a5b813e65b7afc77ca931bf1a5787ed1732622034355c75b39fe934194501f3431b2fed46581eaa486cdb636eebcb7f852d2105af4a4b53a25dd27e1c"
# account claim the amount of TFC using signature signed by TFCManager deployer
await manager.claim_tfc(amount, nonce, signature, account)
Get TFC balance
balance: int = tfc.balance_of(account.address)
Transfer TFC
amount: int = 1000000000000000000 # 1 TFC
await tfc.transfer(recipient_account.address, amount, account)
await tfc.approve(spender_account.address, amount, account)
await tfc.transfer_from(account.address, recipient_account.address, amount, spender_account)
Note: All methods that involve sending transactions are async functions and should be awaited.
Metadata
Release files for jasmine-eth 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| jasmine_eth-0.0.5.tar.gz | 14.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jasmine_eth-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.8 kB
Release files / jasmine_eth-0.0.5.tar.gz
| Download URL | jasmine_eth-0.0.5.tar.gz |
|---|---|
| Size | 14.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aae03518ab0d19d810c8dc482f0ec70b60f1f42cf5ab17226ae08a4e9d8008c6
|
|
BLAKE2b-256 checksum How to use checksums |
54d01773cca9b84d8e61969b0ad732ac99b330a4f5dbed3b505735329650c76f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0.post20201207 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.12
|
Release files / jasmine_eth-0.0.5-py3-none-any.whl
| Download URL | jasmine_eth-0.0.5-py3-none-any.whl |
|---|---|
| Size | 22.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1e02cadfc8a4ff1d14c7bbeca6523c63a68b0b51a124af8af0aca15978d8477
|
|
BLAKE2b-256 checksum How to use checksums |
ce1880827c4aca46e84f8971c3077c370f1c0b8c62e1d3c6f15aa40148b8c538
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0.post20201207 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.12
|
Security for jasmine-eth 0.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.