ГлавнаяБлогTech UpdatesКак отправлять собственные криптовалютные токены между несколькими блокчейнами, используя API FastAPI
Tech Updates8 декабря 2025 г.4 мин

Как отправлять собственные криптовалютные токены между несколькими блокчейнами, используя API FastAPI

Как отправлять нативные криптотокены через несколько блокчейнов с использованием FastAPI API Отправка нативных криптотокенов, таких как SOL, ETH, BNB или BASE, программно может вызывать определенные сложности, особенно когда речь...

Как отправлять собственные криптовалютные токены между несколькими блокчейнами, используя API FastAPI

Как отправлять нативные криптотокены через несколько блокчейнов с использованием FastAPI API

Отправка нативных криптотокенов, таких как SOL, ETH, BNB или BASE, программно может вызывать определенные сложности, особенно когда речь идет о таких аспектах, как подписание транзакций, взаимодействие с сетью RPC и обработка ошибок. В этом контексте сервис Crypto API предлагает простое решение через свои конечные точки FastAPI. В этой статье мы погрузимся в процесс отправки нативных токенов с использованием конечной точки /send/native, рассмотрим необходимые предварительные условия и предложим пример кода на Python.

Предварительные условия

Прежде чем начать работу с отправкой токенов, убедитесь, что у вас есть следующее:

  1. Python версии 3.11 или выше.
  2. Установленные зависимости. Выполните команду:
    pip install httpx asyncio
    
  3. Ключ RapidAPI. Подпишитесь на сервис Crypto API, чтобы получить ключ.
  4. Приватный ключ кошелька отправителя. В данном примере используется тестовый кошелек; никогда не раскрывайте ключи основной сети.
  5. Адрес кошелька получателя.

Понимание конечной точки /send/native

Конечная точка /send/native позволяет отправлять нативные токены блокчейна. Чтобы успешно использовать ее, необходимо указать несколько обязательных параметров:

  • token: Символ токена (например, SOL, ETH, BNB, BASE).
  • destination_wallet: Адрес получателя.
  • amount: Сумма для отправки.
  • rpc_url: (необязательный) URL RPC для кастомного подключения.
  • private_key: (необязательный) Приватный ключ для подписания транзакции.

Ожидаемый ответ при успешной отправке будет иметь следующий формат:

{
  "status": "success",
  "tx_hash": "5NfL1yS5kJjKx9rR4v8Q7P1M2Zq3vT6Y",
  "message": "SOL успешно отправлен"
}

Пример скрипта на Python

Теперь давайте создадим Python-скрипт для отправки нативного токена. Создайте файл send_native.py и добавьте в него следующий код:

# send_native.py
import asyncio
import httpx
import logging

# Настройка логирования
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

API_URL = "https://api.aigoretech.cloud/api/v1/crypto/send/native"
API_KEY = "YOUR_RAPIDAPI_KEY"  # замените на ваш ключ RapidAPI

async def send_native_token(token: str, destination_wallet: str, amount: float, rpc_url: str = None, private_key: str = None):
    """Функция для отправки нативного токена через Crypto API"""
    async with httpx.AsyncClient() as client:
        try:
            if amount <= 0:
                raise ValueError("Сумма должна быть больше 0")
            logger.info(f"🚀 Отправка {amount} {token.upper()} на {destination_wallet}")
            
            resp = await client.post(
                API_URL,
                params={
                    "token": token,
                    "destination_wallet": destination_wallet,
                    "amount": amount,
                    "rpc_url": rpc_url,
                    "private_key": private_key
                },
                headers={"X-RapidAPI-Key": API_KEY}
            )
            
            resp.raise_for_status()
            data = resp.json()
            
            if data.get("status") != "success":
                raise Exception(data.get("message", "Ошибка отправки"))
            
            logger.info(f"✅ Транзакция успешна! Хэш: {data['tx_hash']}")
            print(data["message"])
        
        except Exception as e:
            logger.error(f"Ошибка: {str(e)}")

# Запуск функции в асинхронном режиме
if __name__ == "__main__":
    asyncio.run(send_native_token("SOL", "ВашАдресПолучателя", 1.0))  # замените адрес получателя и сумму

Разбор кода

  1. Импорт библиотек: Вначале мы импортируем необходимые библиотеки: httpx для работы с HTTP-запросами и logging для ведения журнала событий.

  2. Настройка логирования: Мы настраиваем журнал для отображения информации о процессе отправки токенов.

  3. Объявление функции отправки токена: Основная логика находится внутри функции send_native_token, которая принимает параметры токена, адреса получателя, сумму и дополнительные опциональные параметры.

  4. Отправка HTTP-запросов: Используя httpx.AsyncClient, мы отправляем POST-запрос на указанный API, передавая необходимые параметры.

  5. Обработка ответов: Мы проверяем статус ответа и выводим сообщения в зависимости от результата.

  6. Асинхронный запуск: В конце файла мы запускаем нашу функцию в асинхронном контексте, что позволяет эффективно управлять запросами даже при высокой нагрузке.

Практические советы

  1. Безопасность ключей: Никогда не размещайте ваши приватные ключи в открытом доступе. Используйте переменные окружения или специальные менеджеры секретов для хранения ключей.

  2. Логирование: Всегда добавляйте логирование в ваш код для упрощения отладки и мониторинга.

  3. Обработка ошибок: Убедитесь, что вы правильно обрабатываете возможные ошибки, чтобы не оставлять пользователя без информации о происходящем.

  4. Тестирование: Прежде чем отправлять токены в главную сеть, проводите тестирование на тестовых сетях. Это поможет избежать потерь и недоразумений.

  5. Документация API: Всегда обращайтесь к документации API для получения самой актуальной информации о параметрах и возможных ответах. Это поможет избежать ошибок в коде.

Теперь, когда вы знакомы с основами использования Crypto API для отправки нативных токенов, вы можете легко интегрировать этот функционал в свои проекты и улучшить работу с криптовалютами.