A python library for interacting with cosmos based blockchain networks
To install the project use:
pip3 install cosmpy
Below is a simple example for querying an account's balance and sending funds from one account to another using RestClient
:
from cosmpy.clients.ledger import CosmosLedger
from cosmpy.clients.crypto import CosmosCrypto, Coin
# Data
rest_node_address = "http://the_rest_endpoint"
alice_crypto = CosmosCrypto(private_key_str="<private_key_in_hex_format>"))
chain_id = "some_chain_id"
denom = "some_denomination"
bob_address = "some_address"
ledger = CosmosLedger(chain_id=chain_id, rest_node_address=rest_endpoint_addres)
# Query Alice's Balance
res = ledger.get_balance(alice_crypto.get_address(), denom)
print(f"Alice's Balance: {res} {denom}")
# Send 1 <denom> from Alice to Bob
ledger.send_tokens(alice_crypto, bob_address, [Coin(amount="1", denom=denom)])
To see the documentation, first run:
make generate-docs
Then (if on Linux or MacOS):
make open-docs
And if on windows, open docs/build/html/index.html
.
Under the examples
directory, you can find examples of basic ledger interactions with cosmpy
using both REST and gRPC, e.g. querying, sending a transaction, interacting with a smart contract, and performing atomic swaps. To run any example <example_file_name>
:
python ./examples/<example_file_name>.py