Interfaces with the Cardano full-node software.
Project description
Cardano Tools
A python module for interacting with the Cardano blockchain.
The Cardano-Tools
module provides functionality for interfacing with running
full nodes on local or remote hosts. A running Cardano node is a prerequisite
for using this package.
Provided tools include:
- Interfacing with the node:
- Starting a relay or pool node locally and remotely.
- Getting the node tip.
- Creating and administrating a wallet:
- Create a new wallet address
- Get UTXO list
- Send a payment
- Register a staking address
- Get the blockchain tip
- Check staking rewards balance
- Claim staking rewards
- Claim ITN rewards
- Creating and administrating a stake pool:
- Create block producing keys
- Updating pool KES keys
- Register a stake pool
- Retire a stake pool
This project is developed and maintained by the team at Viper Staking.
Installation
You can install Cardano Tools from PyPI:
pip install cardano-tools
The Cardano Tools package supports Python 3.7 and above.
Examples
For more detailed examples, see the example scripts.
Shelley Tools
The ShelleyTools
class provides an interface to the cardano-cli shelley
commands. An example for creating a wallet is given below.
from cardano_tools import ShelleyTools
# Test Inputs (example paths)
path_to_cli = "/home/user/.cabal/bin/cardano-cli"
path_to_socket = "/home/user/relay-node/db/node.socket"
working_dir = "/home/user/.cardano-tools/"
# Create a ShelleyTools object
shelley = ShelleyTools(
path_to_cli,
path_to_socket,
working_dir,
network="--testnet-magic 42" # <-- For the testnet (default: --mainnet)
)
# Create a wallet address with both spending and staking keys.
print(shelley.make_address("my_wallet"))
Optionally, an SSH connection object may be specified if working with remote hosts.
from cardano_tools import ShelleyTools
from fabric import Connection
# Test Inputs (example paths)
path_to_cli = "/home/user/.cabal/bin/cardano-cli"
path_to_socket = "/home/user/relay-node/db/node.socket"
working_dir = "/home/user/.cardano-tools/"
# SSH connection to remote host
conn = Connection(
host="hostname",
user="admin",
connect_kwargs={
"key_filename": "/home/myuser/.ssh/private.key",
},
)
shelley = ShelleyTools(
path_to_cli,
path_to_socket,
working_dir,
ssh=conn
)
Related Projects
The Cardano-Tools library is also used in the official Viper Staking Docker containers.
Support
Join our telegram channel to get support and discuss potential upgrades or changes.
If you find our tools useful, please consider buying us a beer!
# ADA
addr1q9nth9ekvuuu8s7zg58rdf3duks6h067m0hstl0ca2d2dd27cf8l803uw3gfk0spwzr2y5kqncj6xguu4vs086q7xz3sckperc
# BTC
39sUg4DKBNHAFq5TeUJ8aiFGe7QpptifHE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cardano_tools-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebf7449f68d850e8aa61897b009c535d4c9fda9a5af081103c07c9d4f468172c |
|
MD5 | e2ef7da31329e4ef85dc989eddb8976c |
|
BLAKE2b-256 | eb91316fefa6421fecaf59b5ca12f2be2e81cf2b25643ab03f5b389608e3986c |