![Electrum](/upload/resize_cache/webp/images/electrum.webp)
Electrum Часть 1
Electrum Часть 2
Пользователи криптовалюты Bitcoin могут быть все чаще обеспокоены скоростью работы установленной программы-клиента. Ведь иногда даже секунды решают все, а потери времени могут привести к убыткам. Особенно остро встает вопрос с мобильными клиентами, так как их скорость сильно ограничена вычислительной мощностью мобильного устройства. В настоящее время становятся популярными «легкие» клиенты, они в отличие от «тяжелых» не загружают все блоки целиком, а работают лишь с заголовками блоков. Это значительно ускоряет работу, но на мобильных устройствах и этого может быть недостаточно. В данной статье описывается не просто «легкий» клиент, а скорее –«ультралегкий».
Electrum основан на клиент-серверной технологии и обеспечивает лишь минимум клиентской нагрузки: все операции, что могут быть выполнены на сервере, выполняются вне клиента. Сервером служит модифицированный «тяжелый» клиент bitcoind. По умолчанию Electrum соединяется с одним из таких серверов из списка, но при наличии соответствующих навыков можно собрать сервер Electrum из исходного кода самостоятельно. Это значительно повышает надежность: пользователь, подключающий Electrum именно к своей сборке сервера, становится независимым от третьих лиц, так как именно сервер проводит почти все расчеты, а «ультралегкому» клиенту остается лишь подписывать транзакции.
Electrum является проектом с открытым исходным кодом и работает под всеми популярными операционными системами, которые могут выполнять написанные на языке программирования Python программы: Windows, Mac OS X, Linux. Вы сами можете установить его на свой компьютер и попробовать в действии, но речь в статье пойдет об установке и использовании Electrum на одной конкретной операционной системе, а именно – мобильной операционной системе Android, основанной на ядре Linux. Это довольно популярная система для различных устройств, и если у читателя есть такое, то данная статья поможет установить и использовать Electrum на Android.
Надеюсь, готовы?
![ZXing Barcode Scanner](/upload/resize_cache/webp/images/zxing.webp)
Первое, что нам понадобится, это сканер QR кодов. Если он еще не установлен в мобильном устройстве, то следует его поставить. Ставить будем ZXing Barcode Scanner, это проект с открытым исходным кодом, некоторые из его авторов являются сотрудниками Google. Вы без проблем найдете его в поисковой системе Google, в Google Play Market или в репозитории F-Droid.
![OI File Manager](/upload/resize_cache/webp/images/fileman.webp)
Второе, что нам понадобится, это любой файловый менеджер. Если он уже установлен и умеет распаковывать Zip-архивы, то данный пункт можно безболезненно пропустить. Если же ничего подобного на мобильном устройстве еще нет, то можно установить OI File Manager. Как и все рассматриваемые в статье программы, это проект с открытым исходным кодом. Его тоже можно легко найти в Google, Google Play Market или F-Droid. Либо можно сканировать QR код, приведенный рядом.
![Scripting Layer for Android](/upload/resize_cache/webp/images/sl4a.webp)
Scripting Layer for Android (SL4A) – программа, которая позволяет использовать на Android интерпретаторы скриптовых языков. Придется сразу огорчить пользователей x86-совместимых мобильных устройств. SL4A на данный момент поддерживает только ARM-архитектуру. На отличных от ARM платформах запуск SL4A на данный момент невозможен. Сам процесс установки SL4A будет ниже.
![Python For Android](/upload/resize_cache/webp/images/py4a.webp)
Так, запускать скрипты мы можем, но какие скрипты? Electrum написан на Python, так что нам требуется что-то для него. На помощь нам идет дочерний для SL4A проект – Python For Android (Py4A). Изначально он был частью SL4A, но со временем развился в самостоятельный проект, хотя и требует установленного SL4A для своей работы. Как именно ставить Py4A, тоже будет описано в статье ниже.
![Electrum](/upload/resize_cache/webp/images/e4a.webp)
Последний файл, который нам понадобится, это собственно сам Electrum. Для его версии под Android пока еще нет репозитория, так что мы будем хитро скачивать с официального сайта проекта файл без расширения – «e4a». Впрочем, мобильный браузер может принудительно дать ему расширение: в моем случае этот файл получил расширение «.bin», так что он скачался как «e4a.bin». На самом деле это Zip-архив, а что с ним нам делать, будет описано далее.
Возможны ситуации, когда более предпочтительным вариантом был бы самостоятельный поиск последних версий SL4A и Py4A, например: Electrum на момент прочтения статьи может потребовать более новых версий этих программ; ссылки в QR кодах устареют; в мобильном устройстве вообще отсутствует или сломана камера. На эти случаи вот описание того, как можно найти, скачать и установить самые свежие версии этих программ прямо с мобильного устройства.
![](/upload/resize_cache/webp/images/screen01.webp)
![](/upload/resize_cache/webp/images/screen02.webp)
![](/upload/resize_cache/webp/images/screen03.webp)
Запускаем мобильный браузер, вводим в строку поиска «sl4a», Google нам выдаст проект «android-scripting» на Google Code, заходим в него и переходим по ссылке «Downloads». Справа от выпадающего меню «Current Downloads» в поле для ввода пишем «sl4a apk» и нажимаем Enter или кнопку «Search» справа. Находим среди появившихся вариантов самую свежую версию, на данный момент это «sl4a_r6.apk», то есть шестая версия SL4A. Делаем клик по значку загрузки слева, либо по самому имени файла, а затем на открывшейся странице еще раз. За ходом загрузки программы можно следить в панели уведомлений Android.
![](/upload/resize_cache/webp/images/screen04.webp)
![](/upload/resize_cache/webp/images/screen05.webp)
![](/upload/resize_cache/webp/images/screen06.webp)
Как только файл будет загружен, в панели уведомлений (чтобы попасть в эту панель достаточно провести пальцем от статус бара вниз) появится соответствующее сообщение рядом с именем файла, кликните по нему для начала процесса установки. Для установки приложений не из Google Play Market может потребоваться отдельная настройка, о чем система сообщит пользователю. В нашем случае дополнительных настроек не требуется, а система сразу запрашивает разрешение на установку.
![](/upload/resize_cache/webp/images/screen07.webp)
![](/upload/resize_cache/webp/images/screen08.webp)
![](/upload/resize_cache/webp/images/screen09.webp)
По завершении процесса установки система сообщит нам об этом, нажимаем кнопку «Открыть», чтобы убедиться, что программа SL4A работает. Если что-то с ней не так, то пробуем удалить ее и установить другую версию. Не забывайте, что на данный момент она работает только с ARM процессорами (наиболее вероятно, что в мобильном устройстве как раз он и установлен).
Теперь аналогичным образом находим и устанавливаем программу Py4A. В мобильном браузере вводим в строку поиска «py4a», Google нам выдаст проект «python-for-android» на Google Code, заходим в него, переходим по ссылке «Downloads», в поле ввода справа от «Current Downloads» пишем «python apk» и нажимаем Enter или кнопку «Search».
![](/upload/resize_cache/webp/images/screen10.webp)
![](/upload/resize_cache/webp/images/screen11.webp)
![](/upload/resize_cache/webp/images/screen12.webp)
Стоит обратить внимание, что в результате у нас будут как установочные файлы Py4A для Python, так и для Python3. В настоящий момент мобильный Electrum рассчитан на вторую версию Python, так что файлы, начинающиеся на «Python3» просто пропускаем мимо глаз. Последней стабильной версией сейчас является файл «PythonForAndroid_r6.apk», то есть шестая версия Py4A. Есть еще седьмая с надписью «beta» в комментарии, но мы ее трогать не будем. Возможно, что со временем мобильный Electrum будет полностью переписан под третью версию Python, в таком случае нужно будет качать файл «Python3ForAndroid_r6.apk» или новее. Делаем клик по значку загрузки слева от имени нужного файла. Как только программа скачается, устанавливаем ее.
У нас теперь есть SL4A и Py4A, осталось скачать и установить сам Electrum.
![](/upload/resize_cache/webp/images/screen13.webp)
![](/upload/resize_cache/webp/images/screen14.webp)
![](/upload/resize_cache/webp/images/screen15.webp)
Для начала нам нужно зайти на официальный сайт проекта Electrum, а дальше начинается самое интересное. Нужно дописать к «electrum-desktop.com» следующее - «/files/e4a» (разумеется, без кавычек), получаем: «electrum-desktop.com/files/e4a». Нажимаем Enter, если адрес введен верно – начнется загрузка файла. Ищем его в папке со всеми загрузками браузера с помощью файлового менеджера, например - OI File Manager.
![](/upload/resize_cache/webp/images/screen16.webp)
![](/upload/resize_cache/webp/images/screen17.webp)
![](/upload/resize_cache/webp/images/screen18.webp)
В данном случае используется стандартный браузер, так что файл лежит в директории «/mnt/sdcard/downloads/». Теперь нужно переименовать этот файл в «e4a.zip» и распаковать его (как Zip-архив) в директорию «/mnt/sdcard/sl4a/scripts/», которую создает SL4A при первом запуске.
![](/upload/resize_cache/webp/images/screen19.webp)
![](/upload/resize_cache/webp/images/screen20.webp)
![](/upload/resize_cache/webp/images/screen21.webp)
Почти все готово к запуску Electrum (ну, надо же!), остались лишь последние штрихи: запускаем Python-for-Android, нажимаем кнопку «Install» для загрузки и установки самого интерпретатора Python, когда же процесс будет завершен, кнопка «Install» сменится на «Uninstall»
![](/upload/resize_cache/webp/images/screen22.webp)
![](/upload/resize_cache/webp/images/screen23.webp)
![](/upload/resize_cache/webp/images/screen24.webp)
Мы готовы к первому запуску Electrum на Android. Запустив SL4A, мы должны увидеть содержимое директории «/mnt/sdcard/sl4a/scripts/»: список скриптов и директорию «e4a-x.xx» (где x.xx – номер версии Electrum), заходим в эту директорию и делаем клик по файлу «electrum4a.py», в выпадающем меню нажимаем самую первую кнопку.
![](/upload/resize_cache/webp/images/screen25.webp)
![](/upload/resize_cache/webp/images/screen26.webp)
![](/upload/resize_cache/webp/images/screen27.webp)
Если мы все сделали правильно, Electrum порадует нас своим первым сообщением. В данном случае о том, что файл кошелька не найден. Electrum предлагает нам создать кошелек, либо восстановить его. Нажмем кнопку «Create» для создания нового кошелька.
![](/upload/resize_cache/webp/images/screen28.webp)
![](/upload/resize_cache/webp/images/screen29.webp)
![](/upload/resize_cache/webp/images/screen30.webp)
В ответ Electrum сначала сообщит нам seed (сид) кошелька, а затем и его мнемонический код (то есть тот же сид, но уже в виде обычных слов). Вам не обязательно делать резервные копии кошелька, достаточно сохранить seed или мнемонический код в надежном месте (переписать в блокнотик, сфотографировать, сделать скриншот). Этой информации достаточно, чтобы восстановить адреса кошелька, так что ни seed, ни мнемонический код не должны попасть в чужие руки. Вы можете создать точно такой же кошелек на другом устройстве, например – на компьютере, просто восстановив кошелек, используя эти уникальные данные. Чуть позже узнаете, как это можно сделать с помощью мобильного Electrum.