/web3

Primary LanguagePython

Проект Криптокошелек

Введение

Добро пожаловать в проект Криптокошелек! Этот проект представляет собой комплексную реализацию криптовалютного кошелька на Python. Стек включает aiogram 3, SQLAlchemy, Web3 и Alembic. Цель проекта - изучить технологию WEB3 и написать свой кошелек.

Содержание

Особенности

  • Аутентификация пользователей: Безопасная аутентификация и управление пользователями.
  • Управление кошельками: Создание, просмотр и управление несколькими криптовалютными кошельками.
  • Обработка транзакций: Отправка и получение криптовалютных транзакций.
  • Взаимодействие с блокчейном: Бесшовная интеграция с блокчейн сетями с использованием Web3.
  • Управление базой данных: Эффективные операции с базой данных с использованием SQLAlchemy.
  • Миграции: Версионирование и миграции базы данных с помощью Alembic.
  • Интеграция с ботом: Взаимодействие с кошельком через Telegram бот с использованием aiogram 3.

Технологический стек

  • Python: Основной язык программирования, используемый в проекте.
  • Aiogram 3: Современный и удобный фреймворк для создания Telegram-ботов.
  • SQLAlchemy: Набор инструментов для работы с SQL и библиотека Object-Relational Mapping (ORM).
  • Web3.py: Библиотека Python для взаимодействия с блокчейном Ethereum.
  • Alembic: Легкий инструмент для миграций базы данных для использования с SQLAlchemy.

Установка

Следуйте этим шагам, чтобы настроить проект на вашем локальном компьютере.

  1. Запуск

    git clone git@github.com:iPROJEKT/web3.git
    cd web3
    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    alembic revision --autogenerate -m "Описание миграции"
    alembic upgrade head
    
   DATABASE_URL=postgresql://username:password@localhost:5432/crypto_wallet
   TELEGRAM_API_TOKEN=your_telegram_api_token
   WEB3_PROVIDER_URI=https://mainnet.infura.io/v3/your_infura_project_id
   SECRET_KEY=your_secret_key