A cardano-cli based toolbox written in Python. Cardano-node must be running and environment paths exported.
Toolbox for various cardano related operations.
- Send native tokens/nfts to a number of addresses or staking addresses
- Monitor a payment address for incoming payments and return tokens or refunds
- Withdraw rewards from pool
- Send ADA simple transaction
- Send ADA and native tokens to one destination
- Generate SPO certificates and register on blockchain
- Rotate KES keys
Installation:
- Install Python3: sudo apt install python3
- Install pip for python3: sudo apt-get install build-essential libssl-dev libffi-dev python-dev / sudo apt install python3-pip
- Optional: Install venv for python3: sudo pip3 install virtualenv
- Optional: python3 -m venv venv
- Optional: source venv/bin/activate
- pip install --upgrade pip
- pip install -r requirements.txt
Testing: In a terminal (Optional: with the virtual environment venv activated (Step 2 of installation)): python -m unittest
USAGE: To withdraw all pool rewards to a payment address: python3 withdraw_rewards.py --payment-addr-file --payment-skey-file --stake-addr-file --stake-skey-file --sign / --submit < Signing has to be done without internet connection, submitting with internet connection > < Also stake skey has to be removed before submitting >
To send only ADA from payment address to destination: python3 sendADA.py --payment-addr-file --payment-skey-file --destination --amount-lovelace
To send multiple assets and ada to multiple recipients: Edit config.json Create recipient list with Objects from Class cardano_cli_helper/Recipient Run send_assets_to_recipients.py
To monitor an address for incoming payments so that tokens are returned (run as a service): Edit config.json Run monitor_addr_service.py
To get_delegators_stake.py (Run as a crontab job every epoch): Edit config.json Run get_delegators_stake.py
To send multiple tokens to a destination: python3 sendTokens.py --payment-addr-file --payment-skey-file --destination --amount-lovelace --token-policy-id [Space separated list of token policies] --token-amount [Space separated list of amounts per token policy ID] --network