Skip to main content

Comprehensive Python library for the Ontology BlockChain.

Project description

Python SDK For Ontology

Introduction

Ontology Python SDK function consists of four parts, RPC interface, wallet, asset, and identity. For RPC interface, it is responsible to interact with the Ontology blockchain, including querying and sending transactions. For wallet, it manages wallet file and store the encrypted private key of the asset account and identity. The function of asset can transfer ONT/ONG, check account balance, withdraw ONT/ONG and so on. The function of identity can send request to register ONT ID and get DDO object. In addition to these four parts, SDK also support constructing, deploying, and invoking a smart contract.

Preparations

Installation requires a Python 3.7 or later environment.

pip install ontology-python-sdk

RPC interface function list

Main Function
1 get_version()
2 get_block_by_hash (block_hash)
3 get_block_by_height (block_height)
4 get_block_count ()
5 get_current_block_hash ()
6 get_block_hash_by_height (block_height)
7 get_balance (account_address)
8 get_allowance (account_address)
9 get_storage (contract_address, key)
10 get_smart_contract_event_by_tx_hash (transaction_hash)
11 get_smart_contract_event_by_height (block_height)
12 get_raw_transaction (transaction_hash)
13 get_smart_contract (contract_address)
14 get_merkle_proof (transaction_hash)
15 send_raw_transaction (transaction)
16 send_raw_transaction_pre_exec (transaction)
17 get_node_count ()
18 get_gas_price ()

Wallet function list

The wallet function includes three parts, digit account, digit identity, and mnemonics and kestore interface. Mnemonics and kestore interface will be supported in the future.

Digit account

Main Function
1 import_account(label: str, encrypted_pri_key: str, pwd: str, base58_addr: str, salt: str)
2 create_account(label: str, pwd: str, salt: str, priv_key: bytes, account_flag: bool)
3 create_account_from_private_key(label: str, pwd: str, private_key: bytes)
4 get_account(address: str, pwd: str)
5 get_accounts()
6 get_default_account()
7 set_default_account_by_address(b58_address: str)
8 set_default_account_by_index(index: int)
9 get_default_account_address()

Digit identity

Main Function
1 import_identity(label: str, encrypted_pri_key: str, pwd: str, salt: str, address: str)
2 create_identity(label: str, pwd: str, salt: str, private_key: bytes)
3 create_identity_from_pri_key(label: str, pwd: str, private_key: bytes)

Asset function list

The asset includes native digit asset and Nep-5 smart constract digit asset. Nep-5 smart constract will be supported in the future.

Native digit asset

Main Function
1 new_transfer_transaction(asset: str, from_addr: str, to_addr: str, amount: int, payer: str, gas_limit: int, gas_price: int)
2 query_balance(asset: str, addr: str)
3 query_allowance(asset: str, b58_from_address: str, b58_to_address: str)
4 query_name(asset: str)
5 query_symbol(asset: str)
6 query_decimals(asset: str)
7 send_withdraw_ong_transaction(claimer: Account, recv_addr: str, amount: int, payer: Account, gas_limit: int, gas_price: int)
8 send_approve(asset: str, sender: Account, recv_addr: str, amount: int, payer: Account, gas_limit: int, gas_price: int)
9 send_transfer_from(asset: str, sender: Account, from_addr: str, recv_addr: str, amount: int,payer: Account, gas_limit: int, gas_price: int)

Identity function list

ONT ID

Main Function
1 new_registry_ontid_transaction(ont_id: str, pubkey: str, payer: str, gas_limit: int, gas_price: int)
2 new_add_attribute_transaction(ont_id: str, pubkey: str, attris: list, payer: str, gas_limit: int, gas_price: int)
3 new_remove_attribute_transaction(ont_id: str, pubkey: bytearray, path: str, payer: str, gas_limit: int, gas_price: int)
4 new_add_pubkey_transaction(ont_id: str, pubkey_or_recovery: bytes, new_pubkey: bytes, payer: str,gas_limit: int, gas_price: int)
5 new_remove_pubkey_transaction(ont_id: str, pubkey_or_recovery: bytes, remove_pubkey: bytes, payer: str, gas_limit: int, gas_price: int)
6 new_add_recovery_transaction(ont_id: str, pubkey: bytes, recovery: str, payer: str, gas_limit: int,gas_price: int)
7 new_get_ddo_transaction(ont_id: str)
8 parse_ddo(ont_id: str, ddo: str)

Site

License

The Ontology library (i.e. all code outside of the cmd directory) is licensed under the GNU Lesser General Public License v3.0, also included in our repository in the License file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ontology-python-sdk, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size ontology_python_sdk-0.1.1-py2.py3-none-any.whl (77.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page