Skip to content

finkvi/telewallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

telewallet

Telegram Bot as Ethereum Wallet Разрабатываем тривиальный кошелек к Эфиру через телеграмм бота

Идея

Сделаем бота, через которого можно управлять эфир кошельком. У него будет всего три функции:

  • Сохранить кошелек (экспорт)
  • Посмотреть баланс
  • Отправить транзакцию

Генерация кошелка происходит автоматически при начале диалога с ботом /start

Генерация кошелька:

  • Пользователь начинает диалог командой /start
  • На основании Chat Id и User Id формируется закрытый ключ и адрес. Получается, что только этот пользователь и только в этом чате может управлять кошельком. Здесь не очень понятен вопрос безопасности, сформировать приватный ключ на основе статических данных как-то несекьюрно, надо думать, можно взять этропию от пользователя, например, спросить его что-нить
  • Сообщает адрес кошелька в чат

Всё гениальное просто, потому один чат, один кошелек. Хочешь новый кошелек, удаляй чат, создавай заново, будет новый

Сценария экспорта кошелька:

  • Пользователь начинает диалог с ботом командой /export
  • Бот запрашивает адрес электронной почты
  • Бот просит поделиться номером мобильного телефона
  • Развилка либо текст, либо голос

Голос:

  • Бот просит отправить голосовое сообщение (записать файл с голосом) с секретной фразой
  • Бот с помощью https://tech.yandex.ru/speechkit/ конвертирует фразу в текст

Текст:

  • Бот просит прислать пароль в текстовом виде

  • Отправляет фразу по SMS пользователю и просит подтверждения корректности фразы, запрашивая код из SMS

  • Отправляет пользователю на почту зашифрованный файл кошелька

Итого, должно получиться вполне секюрно: зашифрованный файл в почте, пароль в SMS, голос в чатике (с экрана не прочитать). Надо ещё подумать, как прикрутить аккаунт пользователя в Telegram, например, логин или просто ID юзера для секюрности. Может быть давать пользоваться через бота только кошельками, созданными в нём же, хотя зачем так ограничивать... Надо думать.

Сценарий просмотрта баланса:

  • Бот показывает баланс

Сценарий отправки транзакции

  • Бот запрашивает адрес кошелька отправителя
  • Бот запрашивает адрес кошелька получателя
  • Бот запрашивает сумму в ETH для отправки
  • Бот запрашивает дополнительные данные для перевода, описание платежа, если необходимо
  • Отправляет тразакцию и даёт ссылку на блокчейн эксполорер

Releases

No releases published

Packages

No packages published