Skip to main content

A client for interacting with the Haveno daemon.

Project description

Haveno Client

The Haveno Client is a Python gRPC client that allows you to interact with Haveno, a decentralized cryptocurrency trading platform. This client enables you to connect to Haveno servers, access market data, manage accounts, and perform trades programmatically.

Features

  • 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).

Requirements

  • Python 3.7+
  • grpcio and grpcio-tools
  • pysocks for SOCKS5 proxy support (optional)
  • Haveno server running and accessible

Installation

  1. Clone the repository:
   git clone https://github.com/yourusername/python-haveno-client.git
   cd python-haveno-client
  1. Create a virtual environment (optional but recommended):
   python3 -m venv venv
   source venv/bin/activate
  1. Install dependencies:
   pip install -r requirements.txt

Usage

1. Initialize the Haveno Client

Here 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()

2. Connect to Multiple Servers

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()

3. Using Modular Service Stubs

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')

Development

Building the Package

To compile the package for distribution:

   python -m build

This will create the distribution files in the dist/ directory.

Running Tests

To run the test suite, use:

   python -m unittest discover tests/

Contributing

  1. Fork the repository.
  2. Create a new branch: git checkout -b my-feature-branch.
  3. Make your changes and commit them: git commit -m 'Add new feature'.
  4. Push to the branch: git push origin my-feature-branch.
  5. Submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Acknowledgments

  • The Haveno development team for building the Haveno decentralized exchange.
  • Contributors to the grpcio and pysocks libraries.
  • THIS PROJECT IS A WORK IN PROGRESS, ITS IS NOT YET SUITABLE FOR PRODUCTION ENVIRONMENTS

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

haveno_client-0.1.2.tar.gz (45.0 kB view details)

Uploaded Source

Built Distribution

haveno_client-0.1.2-py3-none-any.whl (45.0 kB view details)

Uploaded Python 3

File details

Details for the file haveno_client-0.1.2.tar.gz.

File metadata

  • Download URL: haveno_client-0.1.2.tar.gz
  • Upload date:
  • Size: 45.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for haveno_client-0.1.2.tar.gz
Algorithm Hash digest
SHA256 cb28999cf175138456d0f2d4bd932cf2d2b35cd4948aaeeca8724c8e1a4e757d
MD5 162fbe37feb9d32b4045ad1482bca338
BLAKE2b-256 4d4dbe780fac86579b5b0ded51f6b8a46b6b742dfe0f3117c9a6f8cfcaf9c53f

See more details on using hashes here.

File details

Details for the file haveno_client-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for haveno_client-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 385c4e4589b67baba99bbd484c8c402554e91b9ae45bac2355d6229e661f71bf
MD5 f735d0dc61c5dd0a59e716489fb44d0c
BLAKE2b-256 436b7e2c8b431a3eb8ce0e15c448b01142876d38145666c0d9d49a6e419ed4be

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page