Skip to main content

Jasmine Project Ethereum SDK (Python)

This SDK provides the following functionalities:

  1. Create/retrieve new/existing Ethereum accounts
  2. Transfer ETH and query ETH balance
  3. Deploy TFCManager smart contracts along with TFCToken ERC20 contracts.
  4. 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.
  5. 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.

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)

Source distribution for jasmine-eth 0.0.5
File Size Uploaded
jasmine_eth-0.0.5.tar.gz 14.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jasmine-eth 0.0.5
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page