This project allows users to quickly create a wallet on the Warden network, log in with existing wallets, transfer tokens, and perform delegation transactions to active validators.
- Create New Wallet: You can create a new Warden wallet with a single click.
- Log In with Existing Wallet: Log in to your wallet using an existing private key.
- Transfer Between Wallets: Perform token transfers to another Warden wallet.
- Validator Delegation: Browse the list of active validators and make delegations.
This guide provides step-by-step instructions on how to install and run the application.
- Python 3.10 or above: Python version 3.10 or higher is required to run this application.
- pip: The Python package manager, pip, should also be installed. It typically comes with Python.
The following Python libraries are required for this project:
- tkinter: Python's GUI interface module (comes by default).
- requests: Used for sending HTTP requests.
- httpx: A fast and modern HTTP client.
- cosmospy-protobuf: Used for handling transactions on Cosmos SDK-based blockchains.
- mospy: Used for managing wallets and transactions on the Warden network.
Clone the Repository:
git clone https://github.com/username/Warden-wallet.git
cd Warden-wallet
You can install all the necessary libraries with the following command:
pip install -r requirements.txt
The content of the requirements.txt file may look like this:
requests
httpx
cosmospy-protobuf
mospy
Run the application from the terminal or command line with the following command:
python main.py
This command will start the wallet application and allow the user to interact with the graphical user interface (GUI).
- Function: The entry point of the application. Creates the main window and presents the user with options to create a new wallet or log in with an existing wallet.
- Function: Manages the main screen of the application. Users can create a new wallet or log in with an existing wallet from here.
- Function: Creates a new Warden wallet for the user and displays the wallet address and private key.
- Function: Allows the user to log in with an existing private key. If the private key is valid, access to the user's wallet is granted.
- Function: Manages the main operations related to the wallet (updates balances, performs transfer transactions, and makes delegations to validators). Defines buttons and functions for various operations in the user interface.
- Function: Allows the user to delegate tokens to a specific validator address.
- Function: Enables the user to transfer tokens to another wallet.
- Function: The logo of the application, displayed in the graphical user interface.