Skip to content
forked from fetchai/cosmpy

A Python client library for interacting with blockchains based on the Cosmos-SDK

License

Notifications You must be signed in to change notification settings

Galadrin/cosmpy

Repository files navigation

CosmPy

PyPI PyPI - Python Version PyPI - Wheel License

AEA framework sanity checks and tests flake8 mypy Black mypy

A python library for interacting with cosmos based blockchain networks

Installing

To install the project use:

pip3 install cosmpy

Getting started

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:https://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)])

Documentation

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.

Examples

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

Extra Resources

About

A Python client library for interacting with blockchains based on the Cosmos-SDK

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.6%
  • Makefile 1.1%
  • Shell 0.3%