Git Product home page Git Product logo

wallet's Introduction

pngwing com (5)

Wallet by Crimson Coalition

Версия Документация В разработке Лицензия: GPL3

Проект временно заморожен!

Crimson Wallet или же просто Wallet - криптокошелек от @CrimsonCoalition

Wallet - это telegram-бот для хранения Ethereum, Bitcoin, Toncoin, USDT и других криптовалют. Этот кошелек основан на этом проекте

Следить за новостями проекта можно также на нашем сайте: crimson-coalition.ru

Содержание

Описание

Логика работы бота

Структура

Криптовалюты

Логика работы бота

       Меню
   ┌─────┼────────────────┬────────────────┐
   │     │                │                │
   │     │                │                │
   │     │                │                │
КОШЕЛЕК  │             ПОЛУЧЕНИЕ           │                   ## будет обновляться
 баланс  │          показ адреса           │
кошелька │            и QR-кода            │
         │                                 │  
       ОТПРАВКА                          КУПИТЬ
    Ввод адреса                 Ввод BTC, TON, ETH, USDT, TRON
                                         или RUB
      и отправка                 Информации о пользователе
       средств                     Отправка средств 

Структура бота

Bot-Core

Ядро бота состоит из двух модулей в корне проекта: app.py и bot.py

Первый модуль представляет из себя стартовый модуль, который запускает и инициализирует бота, он отвечает за создание Flask веб-приложения, создание объекта бота, инициализацию бота и вебхуков, получение и обработку данных с вебхуков.

Bot.py отвечает за класс Bot, который как представляет из себя центральную часть приложения, которая отвечает за работу бота. В нем описаны методы работы с: базой данных, Telegram API, обработку сообщений пользователя, загрузку модулей бота, работу с пользовательской сессией, генерирование пользовательских клавиатур и сообщений из шаблонов.

Modules

Модули представляют из себя некоторые скрипты, сценарии, которым бот передает сообщения от пользователя, а они в свою очередь решают что делать в той или иной ситуации. Модули состоят из некоторых функций обработчиков handler'ов. Самое первое сообщение пользователя обрабатывается стандартным хендлером, который указан в конфиге в дальнейшей работе бота хендлеры могут не только получать данные, но и указывать какой хендлер будет обрабатывать следующее сообщение. Таким образом строится неявный граф обработки сообщений пользователя.

Внутри модулей хендлеры могут оперировать любой информацией:

Получать и записывать данные в базу данных Отправлять сообщение через Telegram API Запрашивать или отправлять средства по средствам Bitcoin API Отрисовывать пользовательские клавиатуры И многое другое.

Config

Конфиги представляют из себя статические JSON-файлы, которые хранят необходимую боту информацию. На данный момент в боте существует три конфиг-файлов: init.json, keyboards.json, messages.json.

Первый файл отвечает за основные настройки бота:

default-handler - стандартный обработчик сообщения, когда пользователь пишет первый раз или не указан обработчик который будет обрабатывать следующее сообщение

menu-button - сообщение при получении которого, бот всегда будет возвращаться в главное меню

commission - Bitcoin комиссия для совершения транзакции, указывается в сатоши!

keyboards.json - отвечает за хранение шаблонов клавиатур, о работе с которыми вы можете прочитать далее messages.json - отвечает за хранение шаблонов сообщений, о работе с которыми вы можете прочитать далее

Bitcoin

Для работы с Bitcoin используется библиотека pybitcointools.

Ethereum


Toncoin

Для работы с Toncoin используется библиотека ton_client для python.

BNB (Binance Coin)

Для работы с BNB наш кошелек использует библиотеку bnb-chain/python-sdk

wallet's People

Contributors

nordbearbotdev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.