The Haveno Client is a Python gRPC client that allows you to interact with the Haveno daemon, a decentralized cryptocurrency trading platform. This client enables you to connect to Haveno servers, access market data, manage accounts, and perform trades programmatically.
- Connect to multiple Haveno servers using gRPC.
- Manage accounts, access market data, and make trades.
- Supports SOCKS5 proxy for secure and private connections.
- Modular design for different gRPC services (e.g., Accounts, Trades, Offers).
- Python 3.7+
grpcioandgrpcio-toolspysocksfor SOCKS5 proxy support (optional)- Haveno server running and accessible
- Clone the repository:
git clone https://github.com/KewbitXMR/python-haveno-client.git
cd python-haveno-client- Create a virtual environment (optional but recommended):
python3 -m venv venv
source venv/bin/activate- Install dependencies:
pip install -r requirements.txtHere is an example of how to initialize the client and connect to a Haveno server:
from haveno_client import HavenoClient
# Create a Haveno client instance and connect to the server
client = HavenoClient(host='localhost', port=3201, password='your_password', use_socks5=True, socks5_host='127.0.0.1', socks5_port=9050)
# Perform operations using the client
account_info = client.account_client.get_account_info('account_id')
print(account_info)
# Disconnect from the server
client.disconnect()You can create multiple instances of HavenoClient to connect to different Haveno servers:
client1 = HavenoClient(host='localhost', port=50051, password='password1')
client2 = HavenoClient(host='localhost', port=50052, password='password2', use_socks5=True)
# Perform operations with each client...
client1.disconnect()
client2.disconnect()The client provides modular stubs for each gRPC service, such as AccountClient, TradesClient, and OffersClient. Each stub can be accessed via the HavenoClient instance:
# Example: Get account information
account_info = client.account_client.get_account_info('account_id')To compile the package for distribution:
python -m buildThis will create the distribution files in the dist/ directory.
To run the test suite, use:
python -m unittest discover tests/- Fork the repository.
- Create a new branch:
git checkout -b my-feature-branch. - Make your changes and commit them:
git commit -m 'Add new feature'. - Push to the branch:
git push origin my-feature-branch. - Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
- The Haveno development team for building the Haveno decentralized exchange.
- Contributors to the
grpcioandpysockslibraries. - THIS PROJECT IS A WORK IN PROGRESS, ITS IS NOT YET SUITABLE FOR PRODUCTION ENVIRONMENTS
The main contributor for this project is Kewbit for the purpose of making a funtional and effecient interface for the Django website on the original haveno.com but now used on haveno.app.