Что это?
Cryptronics - это удобная и простая Python обёртка для криптовалютных API сервисов:
- octopusapisoftware.com (usdt TRC20)
- cryptocurrencyapi.net (btc, ltc, doge, dash, bch)
- etherapi.net (eth)
- bnbapi.net (bnb)
Как этим пользоваться?
Выше был приведен список сервисов, а так же список поддерживаемых ими монет.
Вам необходимо зарегистрировать аккаунты в зависимости от необходимых вам монет и сгенерировать API ключи в личном кабинете каждого из сервисов.
Импорт и настройка
Для начала работы необходимо импортировать класс Crypto и инициализировать его, передав в качестве параметров Ваши ключи. Обратите внимание, что передавать все ключи не обязательно, можете указывать только для необходимых Вам сервисов.
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 пользователя
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 - метка, идентификатор. Нужна для идентификации кошелька в апи сервисе
- mix - Отправлять монеты через миксер (True/False)
Ниже приведен пример вывода средств пользователю вашей системы. В качестве аргументов передан токен usdt, адрес пользователя стандарта TRC20
, сумма и тэг
response = crypto.send(
token="usdt",
to_address="<USDT-TRC20-ADDRESS>",
amount=200,
tag=f"user-withdraw-{user_id}-{operation_id}"
)
В response вернется словарь (dict) с ID вашей транзакции в блокчейн сети и иной информацией в зависимости от задействованного API сервиса.
generate_wallets(tokens, tag)
В качестве параметров принимает:
- tokens - список (list) тикеров валют, для которых необходимо создать кошельки
- tag - уникальный тэг, для отслеживания операции в API сервисе (желательно включать в него id пользователя внутри вашей системы)
Ниже приведен пример генерации кошельков по всем доступным API сервисам
tokens = [
'usdt',
'btc',
'eth'
]
response = crypto.generate_wallets(
tag=f"transit-{user.id}",
tokens=tokens
)
Вернется список (list), в котором будут находится сгенерированные кошельки.
[
{
"token":"usdt",
"wallet":"<wallet_address>"
},
{
"token":"btc",
"wallet":"<wallet_address>"
},
{
"token":"eth",
"wallet":"<wallet_address>"
}
]
TODO:
Возможность сгенерировать кошельки по нескольким валютам, для которых указан токен- Возможность отправки монет с использованием крипто-миксера (через биржи)
- Возможность получить баланс кошелька, указав токен или сервис
- Добавить возможность отслеживать количество подтверждений транзакции в блокчейн сети
- Возможность отслеживать ожидаемое пополнение фиксированной, заранее известной суммы