wavespy API¶
client module¶
wavespy.client¶
This module provides API client class
-
class
wavespy.client.
BaseClient
(node_address='https://nodes.wavesplatform.com', matcher_address='https://matcher.waves.exchange', chain_id=None, api_key=None, raise_exception=True, request_params=None, online=True)[source]¶ Bases:
object
Base class for API clients
- Parameters
node_address (str) – node url
matcher_address (str) – node url
chain_id (str) – chain id
api_key (str) – API key for private methods
raise_exception (bool) – raise WavesClientException on request error
request_params (dict) – request params dict e.g. timeout, proxies. May vary by client, see client lib docs
online (bool) – send requests to node if true, else return prepared request with data
-
class
wavespy.client.
WavesClient
(node_address='https://nodes.wavesplatform.com', matcher_address='https://matcher.waves.exchange', chain_id=None, api_key=None, raise_exception=True, request_params=None, online=True)[source]¶ Bases:
wavespy.client.BaseClient
Waves API client class based on requests HTTP client Class method names usually consist of a API endpoint, like /blocks/height is blocks_height or /utils/seed/{length} is utils_seed_length, also HTTP methods may affect class method name like POST /address is address_create or DELETE /address is address_delete. Check out node API documentation at https://nodes.wavesplatform.com/api-docs/index.html
-
address_balance_confirmed
(address, confirmations)[source]¶ Get confirmed address balance
- Parameters
address –
confirmations –
- Returns
- Return type
-
address_balance_details
(address)[source]¶ Get address details
- Parameters
address –
- Returns
- Return type
-
address_data_address
(address, matches=None)[source]¶ Get full address data
- Parameters
address –
- Returns
- Return type
-
address_data_key
(address, key)[source]¶ Get address data by key
- Parameters
address – address in base58
key – string key
- Returns
- Return type
-
address_delete
(address)[source]¶ Delete address from node
- Parameters
address – address in base58
- Returns
- Return type
-
address_effective_balance
(address)[source]¶ Address effective balance
- Parameters
address –
- Returns
- Return type
-
address_effective_balance_confirmed
(address, confirmations)[source]¶ Get confirmed address effective balance
- Parameters
address –
confirmations –
- Returns
- Return type
-
address_public_key
(public_key)[source]¶ Get address by public key
- Parameters
public_key –
- Returns
- Return type
-
address_script_info
(address)[source]¶ Get address script info
- Parameters
address – address in base58
- Returns
- Return type
-
address_sign_text
(address, message)[source]¶ Sign text
- Parameters
address –
message – message string
- Returns
- Return type
-
address_verify_text
(address, message_data)[source]¶ Verify text
- Parameters
address –
message_data –
- Returns
- Return type
-
alias_broadcast_create
(transaction_data)[source]¶ Create alias
- Parameters
transaction_data –
- Returns
-
alias_by_address
(address)[source]¶ Get alias by address
- Parameters
address – waves address
- Returns
- Return type
-
alias_by_alias
(alias)[source]¶ Get address by alias
- Parameters
alias (str) – alias (without preifx and chain id)
- Returns
- Return type
-
asset_broadcast_burn
(transaction_data)[source]¶ Burn asset (v1)
- Parameters
transaction_data –
- Returns
- Return type
-
asset_broadcast_issue
(transaction_data)[source]¶ Issue asset (v1)
- Parameters
transaction_data –
- Returns
- Return type
-
asset_broadcast_reissue
(transaction_data)[source]¶ Reissue asset (transaction v1)
- Parameters
transaction_data –
- Returns
- Return type
-
asset_broadcast_transfer
(transfer_data)[source]¶ Broadcast asset transfer transaction (v1)
- Parameters
transfer_data –
- Returns
- Return type
-
asset_distribution_at_height
(asset_id, height, limit)[source]¶ Get asset distribution at height
- Parameters
asset_id –
height –
limit –
- Returns
- Return type
-
assets_balance_asset
(address, asset_id)[source]¶ Get asset balance
- Parameters
address –
asset_id –
- Returns
- Return type
-
assets_details
(asset_id, full=None)[source]¶ Get asset details
- Parameters
asset_id –
full –
- Returns
- Return type
-
assets_nft_balance
(address, limit, after=None)[source]¶ Get NFT balance (node version 1.0 and higher)
- Parameters
address –
limit –
after –
- Returns
- Return type
-
blocks_address
(address, height_from, height_to)[source]¶ Get blocks generated by address
- Parameters
address –
height_from –
height_to –
- Returns
- Return type
-
blocks_child
(block_signature)[source]¶ Get successor of specified block
- Parameters
block_signature –
- Returns
- Return type
-
blocks_delay
(signature, block_number)[source]¶ Get blocks delay by signature and block number
- Parameters
signature –
block_number –
- Returns
- Return type
-
blocks_headers_at
(block_height)[source]¶ Get headers of block at height
- Parameters
block_height –
- Returns
- Return type
-
blocks_headers_sequence
(height_from, height_to)[source]¶ Get headers of blocks at heights
- Parameters
height_from –
height_to –
- Returns
- Return type
-
blocks_height_signature
(block_signature)[source]¶ Get signature of block at height
- Parameters
block_signature –
- Returns
- Return type
-
blocks_signature
(signature)[source]¶ Get block by signature
- Parameters
signature –
- Returns
- Return type
-
consensus_base_target_block
(block_id)[source]¶ Get consensus base target block
- Parameters
block_id –
- Returns
-
consensus_generating_balance_address
(address)[source]¶ Get address generating balance
- Parameters
address –
- Returns
- Return type
-
consensus_generation_signature
()[source]¶ Get generation signature of a last block
- Returns
- Return type
-
consensus_generation_signature_block
(signature, block_id)[source]¶ Get generation signature of a block with specified id
- Parameters
signature –
block_id –
- Returns
- Return type
-
leasing_broadcast_cancel_lease
(transaction_data)[source]¶ Create cancel lease transaction
- Parameters
transaction_data –
- Returns
- Return type
-
leasing_broadcast_lease
(transaction_data)[source]¶ Create lease transaction
- Parameters
transaction_data –
- Returns
- Return type
-
matcher_balance_reserved
(public_key)[source]¶ Get reserved balance of open orders
- Parameters
public_key –
- Returns
- Return type
-
matcher_debug_all_snapshot_offsets
()[source]¶ Get all snapshots’ offsets in the queue TODO:
- Returns
- Return type
-
matcher_delete_asset_rate
(asset_id)[source]¶ Delete rate for the specified asset TODO:
- Parameters
asset_id –
- Returns
- Return type
-
matcher_order_status
(amount_asset, price_asset, order_id)[source]¶ Get order status for asset pair
- Parameters
amount_asset –
price_asset –
order_id –
- Returns
- Return type
-
matcher_orderbook_get_asset_pair_status
(amount_asset_id, price_asset_id)[source]¶ Get orderbook status for asset pair
- Parameters
amount_asset_id –
price_asset_id –
- Returns
- Return type
-
matcher_orderbook_history
(public_key)[source]¶ Get orderbook history for a public key
- Returns
- Return type
-
matcher_orderbook_remove
(amount_asset_id, price_asset_id)[source]¶ Remove orderbook for asset pair
- Parameters
amount_asset_id –
price_asset_id –
- Returns
- Return type
-
matcher_orderbook_tradable_balance
(amount_asset, price_asset, address)[source]¶ Get tradable balance for asset pair
- Parameters
amount_asset –
price_asset –
address –
- Returns
- Return type
-
matcher_orders_address
(address)[source]¶ Get address order history for an address
- Parameters
address –
- Returns
- Return type
-
matcher_orders_cancel_order
(order_id, transaction_data)[source]¶ Cancel order by id
- Parameters
order_id –
transaction_data –
- Returns
- Return type
-
matcher_orders_cancel_order_without_signature
(order_id)[source]¶ Cancel order with API key
- Parameters
order_id –
- Returns
- Return type
-
matcher_set_asset_rate
(asset_id, rate)[source]¶ Asset rates TODO:
- Parameters
asset_id –
rate –
- Returns
- Return type
-
matcher_transactions_order
(order_id)[source]¶ Get exchange transactions created on DEX for the given order
- Parameters
order_id –
- Returns
- Return type
-
matcher_v1_orderbook_get_asset_pair
(amount_asset_id, price_asset_id, depth=None)[source]¶ Get orderbook for asset pair (API v1)
- Parameters
amount_asset_id –
price_asset_id –
depth –
- Returns
- Return type
-
request
(method, endpoint, params=None, data=None, json_data=None, headers=None, matcher=False)[source]¶ Make a request to API
- Parameters
method – HTTP method
endpoint – API endpoint
params – query params
data – body data
json_data – body data in json
headers – HTTP headers
matcher – matcher request
- Returns
handled result if online else request params dict
- Return type
WavesClientResponse or dict
-
transaction_broadcast
(transaction_data)[source]¶ Broadcast new transaction
- Parameters
transaction_data –
- Returns
- Return type
-
transaction_calculate_fee
(transaction_data)[source]¶ Calculate transaction fee
- Parameters
transaction_data –
- Returns
- Return type
-
transaction_info
(transaction_id)[source]¶ Get transaction info
- Parameters
transaction_id –
- Returns
- Return type
-
transaction_sign
(transaction_data)[source]¶ Sign transaction
- Parameters
transaction_data –
- Returns
- Return type
-
transaction_sign_address
(signer_address, transaction_data)[source]¶ Sign address transaction
- Parameters
signer_address –
transaction_data –
- Returns
- Return type
-
transaction_unconfirmed_info
(transaction_id)[source]¶ Get unconfirmed transaction info
- Parameters
transaction_id –
- Returns
- Return type
-
transactions_address
(address, limit, after=None)[source]¶ Get address transactions
- Parameters
address – Waves address
limit – transaction limit
after – show transactions after transaction id
- Returns
- Return type
-
utils_hash_fast
(message)[source]¶ Get FastCryptographicHash for message
- Parameters
message –
- Returns
-
utils_hash_secure
(message)[source]¶ Get SecureCryptographicHash for message
- Parameters
message –
- Returns
-
utils_script_compile
(code)[source]¶ Compile string code (deprecated on node version 1.0 and higher)
- Parameters
code –
- Returns
-
-
class
wavespy.client.
WavesClientResponse
(successful, endpoint, response_data=None, error_code=None, error_message=None)[source]¶ Bases:
object
API client response. Any API method of WavesClient returns WavesClientResponse with response data or error (if raise_exception is False)
- Parameters
successful – is request was successful
response_data – data, returned in response
error_code – error code in response (key “code”)
error_message – error message in response (key “message” if response has json else response body as text)
async_client module¶
wavespy.async_client¶
This module provides async API client class
-
class
wavespy.async_client.
WavesAsyncClient
(node_address='https://nodes.wavesplatform.com', matcher_address='https://matcher.waves.exchange', chain_id=None, api_key=None, raise_exception=True, request_params=None, online=True)[source]¶ Bases:
wavespy.client.BaseClient
Waves async API client class based on aiohttp.client
-
async
address_balance
(address)[source]¶ Address waves balance
- Parameters
address –
- Returns
- Return type
-
async
address_balance_confirmed
(address, confirmations)[source]¶ Get confirmed address balance
- Parameters
address –
confirmations –
- Returns
- Return type
-
async
address_balance_details
(address)[source]¶ Get address details
- Parameters
address –
- Returns
- Return type
-
async
address_data
(address_data)[source]¶ Set address data
- Parameters
address_data –
- Returns
- Return type
-
async
address_data_address
(address, matches=None)[source]¶ Get full address data
- Parameters
address –
- Returns
- Return type
-
async
address_data_key
(address, key)[source]¶ Get address data by key
- Parameters
address – address in base58
key – string key
- Returns
- Return type
-
async
address_delete
(address)[source]¶ Delete address from node
- Parameters
address – address in base58
- Returns
- Return type
-
async
address_effective_balance
(address)[source]¶ Address effective balance
- Parameters
address –
- Returns
- Return type
-
async
address_effective_balance_confirmed
(address, confirmations)[source]¶ Get confirmed address effective balance
- Parameters
address –
confirmations –
- Returns
- Return type
-
async
address_public_key
(public_key)[source]¶ Get address by public key
- Parameters
public_key –
- Returns
- Return type
-
async
address_script_info
(address)[source]¶ Get address script info
- Parameters
address – address in base58
- Returns
- Return type
-
async
address_sign_text
(address, message)[source]¶ Sign text
- Parameters
address –
message – message string
- Returns
- Return type
-
async
address_verify_text
(address, message_data)[source]¶ Verify text
- Parameters
address –
message_data –
- Returns
- Return type
-
async
addresses_sequence
(address_from, address_to)[source]¶ Get address sequence
- Returns
- Return type
-
async
alias_broadcast_create
(transaction_data)[source]¶ Create alias
- Parameters
transaction_data –
- Returns
-
async
alias_by_address
(address)[source]¶ Get alias by address
- Parameters
address – waves address
- Returns
- Return type
-
async
alias_by_alias
(alias)[source]¶ Get address by alias
- Parameters
alias (str) – alias (without preifx and chain id)
- Returns
- Return type
-
async
asset_broadcast_burn
(transaction_data)[source]¶ Burn asset (v1)
- Parameters
transaction_data –
- Returns
- Return type
-
async
asset_broadcast_issue
(transaction_data)[source]¶ Issue asset (v1)
- Parameters
transaction_data –
- Returns
- Return type
-
async
asset_broadcast_reissue
(transaction_data)[source]¶ Reissue asset (transaction v1)
- Parameters
transaction_data –
- Returns
- Return type
-
async
asset_broadcast_transfer
(transfer_data)[source]¶ Broadcast asset transfer transaction (v1)
- Parameters
transfer_data –
- Returns
- Return type
-
async
asset_distribution_at_height
(asset_id, height, limit)[source]¶ Get asset distribution at height
- Parameters
asset_id –
height –
limit –
- Returns
- Return type
-
async
assets_balance_asset
(address, asset_id)[source]¶ Get asset balance
- Parameters
address –
asset_id –
- Returns
- Return type
-
async
assets_details
(asset_id, full=None)[source]¶ Get asset details
- Parameters
asset_id –
full –
- Returns
- Return type
-
async
assets_nft_balance
(address, limit, after=None)[source]¶ Get NFT balance (node version 1.0 and higher)
- Parameters
address –
limit –
after –
- Returns
- Return type
-
async
blocks_address
(address, height_from, height_to)[source]¶ Get blocks generated by address
- Parameters
address –
height_from –
height_to –
- Returns
- Return type
-
async
blocks_child
(block_signature)[source]¶ Get successor of specified block
- Parameters
block_signature –
- Returns
- Return type
-
async
blocks_delay
(signature, block_number)[source]¶ Get blocks delay by signature and block number
- Parameters
signature –
block_number –
- Returns
- Return type
-
async
blocks_headers_at
(block_height)[source]¶ Get headers of block at height
- Parameters
block_height –
- Returns
- Return type
-
async
blocks_headers_sequence
(height_from, height_to)[source]¶ Get headers of blocks at heights
- Parameters
height_from –
height_to –
- Returns
- Return type
-
async
blocks_height_signature
(block_signature)[source]¶ Get signature of block at height
- Parameters
block_signature –
- Returns
- Return type
-
async
blocks_signature
(signature)[source]¶ Get block by signature
- Parameters
signature –
- Returns
- Return type
-
async
consensus_base_target_block
(block_id)[source]¶ Get consensus base target block
- Parameters
block_id –
- Returns
-
async
consensus_generating_balance_address
(address)[source]¶ Get address generating balance
- Parameters
address –
- Returns
- Return type
-
async
consensus_generation_signature
()[source]¶ Get generation signature of a last block
- Returns
- Return type
-
async
consensus_generation_signature_block
(signature, block_id)[source]¶ Get generation signature of a block with specified id
- Parameters
signature –
block_id –
- Returns
- Return type
-
async
leasing_broadcast_cancel_lease
(transaction_data)[source]¶ Create cancel lease transaction
- Parameters
transaction_data –
- Returns
- Return type
-
async
leasing_broadcast_lease
(transaction_data)[source]¶ Create lease transaction
- Parameters
transaction_data –
- Returns
- Return type
-
async
matcher_balance_reserved
(public_key)[source]¶ Get reserved balance of open orders
- Parameters
public_key –
- Returns
- Return type
-
async
matcher_order_status
(amount_asset, price_asset, order_id)[source]¶ Get order status for asset pair
- Parameters
amount_asset –
price_asset –
order_id –
- Returns
- Return type
-
async
matcher_orderbook_get_asset_pair
(amount_asset_id, price_asset_id)[source]¶ Get orderbook for asset pair
- Parameters
amount_asset_id –
price_asset_id –
- Returns
- Return type
-
async
matcher_orderbook_get_asset_pair_status
(amount_asset_id, price_asset_id)[source]¶ Get orderbook status for asset pair
- Parameters
amount_asset_id –
price_asset_id –
- Returns
- Return type
-
async
matcher_orderbook_history
(public_key)[source]¶ Get orderbook history for a public key
- Returns
- Return type
-
async
matcher_orderbook_remove
(amount_asset_id, price_asset_id)[source]¶ Remove orderbook for asset pair
- Parameters
amount_asset_id –
price_asset_id –
- Returns
- Return type
-
async
matcher_orderbook_tradable_balance
(amount_asset, price_asset, address)[source]¶ Get tradable balance for asset pair
- Parameters
amount_asset –
price_asset –
address –
- Returns
- Return type
-
async
matcher_orders_address
(address)[source]¶ Get address order history for an address
- Parameters
address –
- Returns
- Return type
-
async
matcher_orders_cancel_order
(order_id, transaction_data)[source]¶ Cancel order by id
- Parameters
order_id –
- Returns
- Return type
-
async
matcher_transactions_order
(order_id)[source]¶ Get exchange transactions created on DEX for the given order
- Parameters
order_id –
- Returns
- Return type
-
async
request
(method, endpoint, params=None, data=None, json_data=None, headers=None, matcher=False)[source]¶ Make a asynchronous request to API If session was created outside (e.g. in context manager method) don’t create new and don’t close on request finish, else create new session and close it after request
- Parameters
method – HTTP method
endpoint – API endpoint
params – query params
data – body data
json_data – body data in json
headers – HTTP headers
- Param
matcher: matcher request
- Returns
handled result if online else request params dict
- Return type
WavesAsyncClientResponse or dict
-
async
transaction_broadcast
(transaction_data)[source]¶ Broadcast new transaction
- Parameters
transaction_data –
- Returns
- Return type
-
async
transaction_calculate_fee
(transaction_data)[source]¶ Calculate transaction fee
- Parameters
transaction_data –
- Returns
- Return type
-
async
transaction_info
(transaction_id)[source]¶ Get transaction info
- Parameters
transaction_id –
- Returns
- Return type
-
async
transaction_sign
(transaction_data)[source]¶ Sign transaction
- Parameters
transaction_data –
- Returns
- Return type
-
async
transaction_sign_address
(signer_address, transaction_data)[source]¶ Sign address transaction
- Parameters
signer_address –
transaction_data –
- Returns
- Return type
-
async
transaction_unconfirmed_info
(transaction_id)[source]¶ Get unconfirmed transaction info
- Parameters
transaction_id –
- Returns
- Return type
-
async
transaction_unconfirmed_size
()[source]¶ Get size of unconfirmed transactions
- Returns
- Return type
-
async
transactions_address
(address, limit, after=None)[source]¶ Get address transactions
- Parameters
address – Waves address
limit – transaction limit
after – show transactions after transaction id
- Returns
- Return type
-
async
utils_hash_fast
(message)[source]¶ Get FastCryptographicHash for message
- Parameters
message –
- Returns
-
async
utils_hash_secure
(message)[source]¶ Get SecureCryptographicHash for message
- Parameters
message –
- Returns
-
async
utils_script_compile
(code)[source]¶ Compile string code (deprecated on node version 1.0 and higher)
- Parameters
code –
- Returns
-
async
-
exception
wavespy.async_client.
WavesAsyncClientException
[source]¶ Bases:
wavespy.client.WavesClientException
Exception for async waves client
-
class
wavespy.async_client.
WavesAsyncClientResponse
(successful, endpoint, response_data=None, error_code=None, error_message=None)[source]¶ Bases:
wavespy.client.WavesClientResponse
Async API client response
utils module¶
wavespy.utils
Utilities for addresses and transactions
wavespy.utils.address¶
Waves address
-
class
wavespy.utils.address.
BaseWavesAddress
(value=None, private_key=None, public_key=None, address_seed=None, chain_id=None, nonce=0, node_address='https://nodes.wavesplatform.com', version=1, online=True, client_request_params=None)[source]¶ Bases:
object
Base address class. Has methods for transaction data generation, common for child address classes
- Parameters
value – address text value in base58
private_key – address private key string in base58
public_key – address public key string in base58
address_seed – address seed
chain_id – address chain id
nonce – nonce
node_address – node API address for data retrieve and transaction broadcast
version – address version (currently, only for information)
online – make requests or return only request data
client_request_params – client API request param (check API client doc)
-
property
base58_seed
¶ Seed encoded base58
- Returns
seed in base58
- Return type
bytes
-
property
can_sign
¶ Ability to sign requests
- Returns
yes or no
- Return type
bool
-
property
chain
¶ Address chain name
- Returns
chain name
- Return type
str
-
property
client
¶ Current API client instance
- Returns
API client instance
-
class
wavespy.utils.address.
WavesAddress
(*args, **kwargs)[source]¶ Bases:
wavespy.utils.address.BaseWavesAddress
Waves address class. Simplifies transaction data generation and data requests
- Parameters
value – address text value in base58
private_key – address private key string in base58
public_key – address public key string in base58
address_seed – address seed
chain_id – address chain id
nonce – nonce
-
asset_sponsorship
(asset_id, min_sponsored_asset_fee, transaction_fee=100000000, timestamp=0)[source]¶ Sponsor asset
- Parameters
asset_id –
min_sponsored_asset_fee –
transaction_fee –
timestamp –
- Returns
-
burn_asset
(asset_id, quantity, transaction_fee=100000, timestamp=0)[source]¶ Burn asset
- Parameters
asset_id – asset id
quantity – asset quantity
transaction_fee –
timestamp – transaction timestamp
- Returns
-
create_alias
(alias, transaction_fee=100000, timestamp=0)[source]¶ Create alias for address
- Parameters
alias – alias (min 4, max 30 chars)
transaction_fee –
timestamp –
- Returns
-
data_transaction
(data, fee=0, version=1, timestamp=0)[source]¶ Create data transaction
- Parameters
data (list) – data for data transaction (list of dicts with keys type, key, value) Suitable python types for transaction data types: - boolean - bool - binary - bytes (converts them to base64 string) - integer - int - string - str
version (int) – data transaction version
fee (int) – transaction fee. 1000000 is minimum.
timestamp (int) – transaction timestamp
- Returns
client request result
- Return type
WavesClientResponse or dict
-
from_alias
(alias)[source]¶ Set address value from alias
- Parameters
alias – alias of address
- Returns
address object with address value
-
get_address_info
()[source]¶ Collect address info (balances, assets, data)
- Returns
address info dict
- Return type
dict
-
get_aliases
(flat=True)[source]¶ Get address aliases
- Parameters
flat – get only alias names without chain ids
- Returns
list of dicts with prefix, chain ids and alias names or only alias names
- Return type
list or dict
-
get_confirmed_balance
(confirmations)[source]¶ Get address balance
- Returns
balance value
- Return type
int or dict
-
get_effective_balance
()[source]¶ Get address effective balance
- Returns
balance value
- Return type
int or dict
-
issue_asset
(name, description, quantity, decimals, reissuable, transaction_fee=100000000, version=1, timestamp=0)[source]¶ Issue asset in waves blockchain
- Parameters
name – asset name (min 4, max 16 chars)
description – asset description
quantity – asset quantity
decimals – asset decimals
reissuable – is asset reissuable
transaction_fee – asset issue transaction fee
version – transaction version
timestamp – transaction timestamp
- Returns
-
issue_smart_asset
(name, description, quantity, decimals, reissuable, script, transaction_fee=100000000, timestamp=0)[source]¶ Issue smart asset in waves blockchain (asset with script)
- Parameters
name – asset name (min 4, max 16 chars)
description – asset description
quantity – asset quantity
decimals – asset decimals
reissuable – is asset reissuable
transaction_fee – asset issue transaction fee
timestamp – transaction timestamp
- Returns
-
lease_cancel
(transaction_id, transaction_fee=100000, timestamp=0)[source]¶ Cancel waves lease
- Parameters
transaction_id –
transaction_fee –
timestamp –
- Returns
-
lease_waves
(recipient, amount, transaction_fee=100000, timestamp=0)[source]¶ Lease waves to address
- Parameters
recipient –
amount –
transaction_fee –
timestamp –
- Returns
-
mass_transfer_assets
(transfer_data, asset_id=None, attachment=None, version=1, timestamp=None)[source]¶ Mass transfer waves
- Parameters
transfer_data – list of dicts with recipient and amount i.e. [{ ‘recipient’: ‘3N1xca2DY8AEwqRDAJpzUgY99eq8J9h4rB3’, ‘amount’: 1000 }]
attachment – transaction attachment
asset_id – ID of transferring asset
timestamp – transaction timestamp
- Returns
-
mass_transfer_waves
(transfer_data, attachment=None, timestamp=None)[source]¶ Mass transfer waves
- Parameters
transfer_data – list of dicts with recipient and amount i.e. [{ ‘recipient’: ‘3N1xca2DY8AEwqRDAJpzUgY99eq8J9h4rB3’, ‘amount’: 1000 }]
attachment – transaction attachment
transaction_fee – mass transfer transaction fee
timestamp – transaction timestamp
- Returns
- Return type
WavesClientResponse or dict
-
reissue_asset
(asset_id, quantity, reissuable, transaction_fee=100000000, timestamp=0)[source]¶ Reissue asset in waves blockchain
- Parameters
asset_id – asset id
quantity – asset quantity
transaction_fee –
timestamp – transaction timestamp
- Returns
-
set_asset_script
(script, asset_id, transaction_fee=100000000, timestamp=None, version=1)[source]¶ Set script for asset
- Parameters
script –
asset_id –
transaction_fee –
timestamp –
version –
- Returns
-
set_script
(script, transaction_fee=1000000, timestamp=None, version=1)[source]¶ Set script for account
- Parameters
script –
transaction_fee –
timestamp –
version –
- Returns
-
transfer_asset
(recipient, asset_id, fee_asset_id, amount, attachment=None, transaction_fee=100000, timestamp=0)[source]¶ Send asset to address. If asset_id or fee_asset_id is None then waves will be used
- Parameters
recipient (str or WavesAddress or WavesAsyncAddress) – recipient address in base58
asset_id (str or None) – asset id
fee_asset_id (str or None) – fee asset id
amount (int) – amount of waves
attachment (str) – attachment string
transaction_fee (int) – fee for transfer transaction
timestamp (int) – timestamp of transaction
- Returns
transfer result
- Return type
WavesClientResponse or dict
-
transfer_waves
(recipient, amount, attachment=None, transaction_fee=100000, timestamp=0)[source]¶ Send waves to address
- Parameters
recipient (str or WavesAddress or WavesAsyncAddress) – recipient address in base58
amount (int) – amount of waves
attachment (str) – attachment string
transaction_fee (int) – fee for transfer transaction
timestamp (int) – timestamp of transaction
- Returns
transfer result
- Return type
WavesClientResponse or dict
wavespy.utils.address_generator¶
Address generator for Waves blockchain
-
class
wavespy.utils.address_generator.
WavesAddressGenerator
(node_address='https://nodes.wavesplatform.com', async_address=False)[source]¶ Bases:
object
Waves address generator
- Parameters
node_address (str) – node API URL
async_address (bool) – return address with async client instead of default sync
-
generate
(value=None, private_key=None, public_key=None, seed=None, chain_id='W', nonce=0, version=1, online=True, client_request_params=None)[source]¶ - Generate address
if there is no seed and private key is specified then generate address value and public key
if there is no seed and public key is specified then generate address value
if there is no seed and value is specified with any key then validate them and return address object
if there is no seed and no any key but value is specified validation or generation is not performed, address object would be returned with the same value and chain_id
- Parameters
value – address string value in base58
private_key – private key string value in base58
public_key – private key string value in base58
seed – seed
chain_id – chain id value
nonce – nonce
version – address version
online – if True send requests else return request params dict
- Param
client_request_params:
- Returns
WavesAddress or AsyncWavesAddress object with different attributes
- Return type
-
generate_from_private_key
(private_key, chain_id, version)[source]¶ Generate address from private key (address value, public key)
- Parameters
private_key –
chain_id –
- Returns
data for address object creation
- Return type
dict
-
generate_from_public_key
(public_key, chain_id, version)[source]¶ Generate address from public key (address value only)
- Parameters
public_key – public key in base58
chain_id – chain id
- Returns
data for address object creation
- Return type
dict
-
classmethod
generate_from_seed
(seed, chain_id, nonce, version)[source]¶ Generate address from seed (address value, private and public keys)
- Returns
data for address object creation
- Return type
dict
-
classmethod
generate_private_key
(seed, nonce=0)[source]¶ Generate private key from seed
- Parameters
seed – seed value
nonce – nonce value
- Returns
-
static
generate_seed
(language=None, strength=None)[source]¶ Generate seed
- Returns
seed string
- Return type
str
-
validate_address
(value, private_key=None, public_key=None, chain_id='W', version=None)[source]¶ Validate address. If address data is valid returns it else raises error
- Parameters
value – address value
chain_id – Waves chain id
private_key – address private key
public_key – address public key
version – address version
- Returns
data for address object creation
- Return type
dict
- Raises
ValueError
wavespy.utils.async_address¶
Waves address with async methods
-
class
wavespy.utils.async_address.
WavesAsyncAddress
(*args, **kwargs)[source]¶ Bases:
wavespy.utils.address.BaseWavesAddress
Waves address with async client. Object methods will return coroutines, so you should run them in event loop
-
asset_sponsorship
(asset_id, min_sponsored_asset_fee, transaction_fee=100000000, timestamp=0)[source]¶ Sponsor asset
- Parameters
asset_id –
min_sponsored_asset_fee –
transaction_fee –
timestamp –
- Returns
-
burn_asset
(asset_id, quantity, transaction_fee=100000, timestamp=0)[source]¶ Burn asset
- Parameters
asset_id – asset id
quantity – asset quantity
transaction_fee –
timestamp – transaction timestamp
- Returns
-
create_alias
(alias, transaction_fee=100000, timestamp=0)[source]¶ Create alias for address
- Parameters
alias – alias (min 4, max 30 chars)
transaction_fee –
timestamp –
- Returns
-
data_transaction
(data, version=1, timestamp=0)[source]¶ Create data transaction
- Parameters
data (list) – data for data transaction (list of dicts with keys type, key, value) Suitable python types for transaction data types: - boolean - bool - binary - bytes (converts them to base64 string) - integer - int - string - str
version (int) – data transaction version
timestamp (int) – transaction timestamp
- Returns
client request result
- Return type
WavesAsyncClientResponse or dict
-
async
from_alias
(alias)[source]¶ Set address value from alias
- Parameters
alias – alias of address
- Returns
address object with address value
-
async
get_address_data
()[source]¶ Get address data from blockchain
- Returns
data in dict
- Return type
dict
-
async
get_address_info
()[source]¶ Collect address info (balances, assets, data)
- Returns
address info dict
- Return type
dict
-
async
get_aliases
(flat=True)[source]¶ Get address aliases
- Parameters
flat – get only alias names without chain ids
- Returns
list of dicts with prefix, chain ids and alias names or only alias names
- Return type
list
-
async
get_confirmed_balance
(confirmations)[source]¶ Get address balance
- Returns
balance value
- Return type
int
-
async
get_effective_balance
()[source]¶ Get address effective balance
- Returns
balance value
- Return type
int
-
issue_asset
(name, description, quantity, decimals, reissuable, transaction_fee=100000000, version=1, timestamp=0)[source]¶ Issue asset in waves blockchain
- Parameters
name – asset name (min 4, max 16 chars)
description – asset description
quantity – asset quantity
decimals – asset decimals
reissuable – is asset reissuable
transaction_fee – asset issue transaction fee
version – transaction version
timestamp – transaction timestamp
- Returns
-
issue_smart_asset
(name, description, quantity, decimals, reissuable, script, transaction_fee=100000000, timestamp=0)[source]¶ Issue smart asset in waves blockchain (asset with script)
- Parameters
name – asset name (min 4, max 16 chars)
description – asset description
quantity – asset quantity
decimals – asset decimals
reissuable – is asset reissuable
transaction_fee – asset issue transaction fee
timestamp – transaction timestamp
- Returns
-
lease_cancel
(transaction_id, transaction_fee=100000, timestamp=0)[source]¶ Cancel waves lease
- Parameters
transaction_id –
transaction_fee –
timestamp –
- Returns
-
lease_waves
(recipient, amount, transaction_fee=100000, timestamp=0)[source]¶ Lease waves to address
- Parameters
recipient –
amount –
transaction_fee –
timestamp –
- Returns
-
mass_transfer_assets
(transfer_data, asset_id=None, attachment=None, version=1, timestamp=None)[source]¶ Mass transfer waves
- Parameters
transfer_data – list of dicts with recipient and amount i.e. [{ ‘recipient’: ‘3N1xca2DY8AEwqRDAJpzUgY99eq8J9h4rB3’, ‘amount’: 1000 }]
attachment – transaction attachment
asset_id – ID of transferring asset
timestamp – transaction timestamp
- Returns
-
mass_transfer_waves
(transfer_data, attachment=None, timestamp=None)[source]¶ Mass transfer waves
- Parameters
transfer_data – list of dicts with recipient and amount i.e. [{ ‘recipient’: ‘3N1xca2DY8AEwqRDAJpzUgY99eq8J9h4rB3’, ‘amount’: 1000 }]
attachment – transaction attachment
transaction_fee – mass transfer transaction fee
timestamp – transaction timestamp
- Returns
- Return type
WavesAsyncClientResponse or dict
-
reissue_asset
(asset_id, quantity, reissuable, transaction_fee=100000000, timestamp=0)[source]¶ Reissue asset in waves blockchain
- Parameters
asset_id – asset id
quantity – asset quantity
transaction_fee –
timestamp – transaction timestamp
- Returns
-
set_asset_script
(script, asset_id, transaction_fee=100000000, timestamp=None, version=1)[source]¶ Set script for asset
- Parameters
script –
asset_id –
transaction_fee –
timestamp –
version –
- Returns
-
set_script
(script, transaction_fee=1000000, timestamp=None, version=1)[source]¶ Set script for account
- Parameters
script –
transaction_fee –
timestamp –
version –
- Returns
-
transfer_asset
(recipient, asset_id, fee_asset_id, amount, attachment=None, transaction_fee=100000, timestamp=0)[source]¶ Send asset to address. If asset_id or fee_asset_id is None then waves will be used
- Parameters
recipient (str or WavesAddress or WavesAsyncAddress) – recipient address in base58
asset_id (str or None) – asset id
fee_asset_id (str or None) – fee asset id
amount (int) – amount of waves
attachment (str) – attachment string
transaction_fee (int) – fee for transfer transaction
timestamp (int) – timestamp of transaction
- Returns
transfer result
- Return type
WavesAsyncClientResponse or dict
-
transfer_waves
(recipient, amount, attachment=None, transaction_fee=100000, timestamp=0)[source]¶ Send waves to address
- Parameters
recipient (str or WavesAddress or WavesAsyncAddress) – recipient address in base58
amount (int) – amount of waves
attachment (str) – attachment string
transaction_fee (int) – fee for transfer transaction
timestamp (int) – timestamp of transaction
- Returns
transfer result
- Return type
WavesAsyncClientResponse or dict
-
wavespy.utils.crypto¶
Cryptographic functions