Package: cryptronics
Что это?Cryptronics - это удобная и простая Python обёртка для криптовалютных API сервисов:octopusapisoftware.com (usdt TRC20)cryptocurrencyapi.net (btc, ltc, doge, dash, bch)etherapi.net (eth)bnbapi.net (bnb)Как этим пользоваться?Выше был приведен список сервисов, а так же список поддерживаемых ими монет.
Вам необходимо зарегистрировать аккаунты в зависимости от необходимых вам монет и сгенерировать API ключи в личном кабинете каждого из сервисов.Импорт и настройкаДля начала работы необходимо импортировать класс Crypto и инициализировать его, передав в качестве параметров Ваши ключи. Обратите внимание, что передавать все ключи не обязательно, можете указывать только для необходимых Вам сервисов.fromCryptronics.base_cryptoimportCryptocrypto=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:Возможность сгенерировать кошельки по нескольким валютам, для которых указан токенВозможность отправки монет с использованием крипто-миксера (через биржи)Возможность получить баланс кошелька, указав токен или сервисДобавить возможность отслеживать количество подтверждений транзакции в блокчейн сетиВозможность отслеживать ожидаемое пополнение фиксированной, заранее известной суммы