Metadata-Version: 2.1
Name: cryptronics
Version: 1.0.4
Summary: Easy to use crypto API for python.
Author: vsaverin
Author-email: vasiliy.saverin@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown

# Что это?
Cryptronics - это удобная и простая Python обёртка для криптовалютных API сервисов:
- octopusapisoftware.com (usdt TRC20)
- cryptocurrencyapi.net (btc, ltc, doge, dash, bch)
- etherapi.net (eth)
- bnbapi.net (bnb)

# Как этим пользоваться?
Выше был приведен список сервисыв, а так же список поддерживаемых ими монет в скобках.
Вам необходимо зарегистрировать аккаунты в зависимости от необходимых вам монет и сгенерировать API ключи в личном кабинете каждого из сервисов.

## Импорт и настройка
Для начала работы необходимо импортировать класс Crypto и инициализировать его, передав в качестве параметров Ваши ключи. Обратите внимание, что передавать все ключи не обязательно, можете указывать только для необходимых Вам сервисов.
``` python
from Cryptronics.base_crypto import Crypto

crypto = Crypto(
    _octopus_api_key='<Ваш API ключ>',
    _crypto_api_key='<Ваш API ключ>',
    _eth_api_key='<Ваш API ключ>',
    _bnb_api_key='<Ваш API ключ>',
)
```
## Доступные методы
### create_wallet(token, tag)
В качестве параметров принимает:
- token - тикер токена, под который нужно создать кошелек (usdt, btc, etc...)
- tag - метка, идентификатор. Нужна для идентификации операции в апи сервисе

Ниже приведен пример создания кошелька для пользователя, где в качестве тэга используется строка с вставленным в неё ID пользователя
``` python
response = crypto.create_wallet("usdt", f"user-wallet-{user_id}")
```
В response вернется словарь (dict) с адресом только что созданного кошелька и иной информацией в зависимости от задействованного API сервиса

### send(token, to_address, amount, tag)
`Токены будут отправлены с Вашего ОСНОВНОГО кошелька. Подробнее о принципах работы системы можете почитать в документации к octopusapisoftware или cryptocurrency`
В качестве параметров принимает:
- token - тикер токена, под который нужно создать кошелек (usdt, btc, etc...)
- to_address - адрес для отправки токенов (с основного кошелька)
- amount
- tag - метка, идентификатор. Нужна для идентификации кошелька в апи сервисе

Ниже приведен пример вывода средств пользователю вашей системы. В качестве аргументов передан токен usdt, адрес пользователя стандарта `TRC20`, сумма и тэг 
``` python
response = crypto.send(
    token="usdt",
    to_address="<USDT-TRC20-ADDRESS>",
    amount=200,
    tag=f"user-withdraw-{user_id}-{operation_id}"
)
```
В response вернется словарь (dict) с ID вашей транзакции в блокчейн сети и иной информацией в зависимости от задействованного API сервиса.

# TODO:
- Возможность получить баланс ГЛАВНОГО кошелька, указав токен или сервис 
- Добавить возможность отслеживать количество подтверждений транзакции в блокчейн сети
- Возможность отслеживать ожидаемое пополнение фиксированной, заранее известной суммы
