Skip to content

algosdk.kmd

Classes

KMDClientClient class for kmd. Handles all kmd requests.

API

class algosdk.kmd.KMDClient

KMDClient(kmd_token, kmd_address)

Client class for kmd. Handles all kmd requests.

Args: kmd_token (str): kmd API token kmd_address (str): kmd address

Attributes: kmd_token (str) kmd_address (str)

Initialization

create_wallet

create_wallet(name, pswd, driver_name=‘sqlite’, master_deriv_key=None, **kwargs: Any)

Create a new wallet.

Args: name (str): wallet name pswd (str): wallet password driver_name (str, optional): name of the driver master_deriv_key (str, optional): if recovering a wallet, include

Returns: dict: dictionary containing wallet information

delete_key

delete_key(handle, password, address, **kwargs: Any)

Delete a key in the wallet.

Args: handle (str): wallet handle token password (str): wallet password address (str): base32 address of account to be deleted

Returns: bool: True if the account has been deleted

delete_multisig

delete_multisig(handle, password, address, **kwargs: Any)

Delete a multisig account.

Args: handle (str): wallet handle token password (str): wallet password address (str): base32 address of the multisig account to delete

Returns: bool: True if the multisig account has been deleted

export_key

export_key(handle, password, address, **kwargs: Any)

Return an account private key.

Args: handle (str): wallet handle token password (str): wallet password address (str): base32 address of the account

Returns: str: private key

export_master_derivation_key

export_master_derivation_key(handle, password, **kwargs: Any)

Get the wallet’s master derivation key.

Args: handle (str): wallet handle token password (str): wallet password

Returns: str: master derivation key

export_multisig

export_multisig(handle, address, **kwargs: Any)

Export a multisig account.

Args: handle (str): wallet token handle address (str): base32 address of the multisig account

Returns: Multisig: multisig object corresponding to the address

generate_key

generate_key(handle, display_mnemonic=True, **kwargs: Any)

Generate a key in the wallet.

Args: handle (str): wallet handle token display_mnemonic (bool, optional): whether or not the mnemonic should be displayed

Returns: str: base32 address of the generated account

get_wallet

get_wallet(handle, **kwargs: Any)

Get wallet information.

Args: handle (str): wallet handle token

Returns: dict: dictionary containing wallet handle and wallet information

import_key

import_key(handle, private_key, **kwargs: Any)

Import an account into the wallet.

Args: handle (str): wallet handle token private_key (str): private key of account to be imported

Returns: str: base32 address of the account

import_multisig

import_multisig(handle, multisig, **kwargs: Any)

Import a multisig account into the wallet.

Args: handle (str): wallet handle token multisig (Multisig): multisig account to be imported

Returns: str: base32 address of the imported multisig account

init_wallet_handle

init_wallet_handle(id, password, **kwargs: Any)

Initialize a handle for the wallet.

Args: id (str): wallet ID password (str): wallet password

Returns: str: wallet handle token

kmd_request

kmd_request(method, requrl, params=None, data=None, timeout=30)

Execute a given request.

Args: method (str): request method requrl (str): url for the request params (dict, optional): parameters for the request data (dict, optional): data in the body of the request timeout (int, optional): request timeout in seconds

Returns: dict: loaded from json response body

list_keys

list_keys(handle, **kwargs: Any)

List all keys in the wallet.

Args: handle (str): wallet handle token

Returns: str[]: list of base32 addresses in the wallet

list_multisig

list_multisig(handle, **kwargs: Any)

List all multisig accounts in the wallet.

Args: handle (str): wallet handle token

Returns: str[]: list of base32 multisig account addresses

list_wallets

list_wallets(**kwargs: Any)

List all wallets hosted on node.

Returns: dict[]: list of dictionaries containing wallet information

release_wallet_handle

release_wallet_handle(handle, **kwargs: Any)

Deactivate the handle for the wallet.

Args: handle (str): wallet handle token

Returns: bool: True if the handle has been deactivated

rename_wallet

rename_wallet(id, password, new_name, **kwargs: Any)

Rename the wallet.

Args: id (str): wallet ID password (str): wallet password new_name (str): new name for the wallet

Returns: dict: dictionary containing wallet information

renew_wallet_handle

renew_wallet_handle(handle, **kwargs: Any)

Renew the wallet handle.

Args: handle (str): wallet handle token

Returns: dict: dictionary containing wallet handle and wallet information

sign_multisig_transaction

sign_multisig_transaction(handle, password, public_key, mtx, **kwargs: Any)

Sign a multisig transaction for the given public key.

Args: handle (str): wallet handle token password (str): wallet password public_key (str): base32 address that is signing the transaction mtx (MultisigTransaction): multisig transaction containing unsigned or partially signed multisig

Returns: MultisigTransaction: multisig transaction with added signature

sign_transaction

sign_transaction(handle, password, txn, signing_address=None, **kwargs: Any)

Sign a transaction.

Args: handle (str): wallet handle token password (str): wallet password txn (Transaction): transaction to be signed signing_address (str, optional): sign the transaction with SK corresponding to base32 signing_address, if provided, rather than SK corresponding to sender

Returns: SignedTransaction: signed transaction with signature of sender

versions

versions(**kwargs: Any)

Get kmd versions.

Returns: str[]: list of versions