>> (p.1)
    Author Topic: Offline (cold) storage (wallet) на базе Armory и Raspberry Pi  (Read 2346 times)
    Right13 (OP)
    Sr. Member
    ****
    Offline Offline

    Activity: 473
    Merit: 252


    Cricetus cricetus


    View Profile
    July 09, 2016, 04:48:16 PM
    Last edit: July 10, 2016, 07:52:27 AM by Right13
     #1

    Каждый, у кого есть биток-другой, безусловно, задумывался как их максимально обезопасить.
    Конечно же, можно купить аппаратный кошелёк Trezor https://bitcointrezor.com/ за 99 USD либо PiWallet http://www.pi-wallet.com/ за 124.95 EUR.
    Но что делать если обезопасить биткоины хочется, а платить много - не очень?
    Выход есть - сделаем PiWallet сами. Комплект из Raspberry Pi и SD карты обойдутся в сумму около 40$.
     
    Инструкция ниже.
     
    Внимание! Автор данной инструкции снимает с себя всяческую ответственность за всё что далее произойдёт с вашими биткоинами.
    Следовать или не следовать данной инструкции - ваш осознанный выбор и ваша осознанная ответственность.
     
    Итак, для самосборного PiWallet нам понадобятся:
     
    Аппаратная часть (hardware):
     
    Raspberry Pi model B -~ 2200 р. на Aliexpress
    SD карточка на 8 Gb - ~ 350 р. в любом магазине
    Блок питания для Raspberry Pi (зарядное устройство для телефона с micro USB) либо кабель micro USB
    USB flash минимального объема - 250 р. в любом магазине или в кармане/тумбочке и т.д. - бесплатно.
    SD картридер - надеюсь он у вас есть, например  в ноутбуке.
    Клавиатура и мышка USB - для подключения к Raspberry Pi
    HDMI кабель и HDMI TV/монитор либо DVI монитор+переходник DVI-HDMI - для подключения Raspberry Pi
     
    Дополнительно:
     
    Корпус для Raspberry Pi (по желанию) - ~200 р. на Aliexpress.
     
    Программная часть (software):
      
    Кошелёк Armory v0.94.1 для онлайн компьютера - https://github.com/goatpig/BitcoinArmory/releases/tag/v0.94.1
    Образ Raspbian https://www.raspberrypi.org/downloads/raspbian
     
    Ubuntu 14.04 http://www.ubuntu.com/download - я использовал именно её, но ничто наверняка не помешает использовать 16.04 или любую другую версию.
    Если нет желания ставить себе Ubuntu на компьютер то можно использовать VirtualBox.
    Кошелёк Armory v0.94.1 для Raspberry Pi.  Готовые сборки для Raspberry Pi кончаются на версии 0.93.3 поэтому свежую версию компилировать будем самостоятельно.
     
    Дополнительные пакеты Ubuntu для компиляции кошелька Armory:
    git-core
    build-essential
    pyqt4-dev-tools
    swig
    libqtcore4
    libqt4-dev
    python-qt4
    python-dev
    python-twisted
    python-psutil
     
    1. Установка образа Raspbian на SD карту:
     
    Загружаем Ubuntu.
    Запускаем терминал:
    Ctrl+Alt+T
     
    Скачиваем образ Raspbian:
     
    Code: (auto:0)
    mkdir raspbianimage
    cd raspbianimage
    wget https://downloads.raspberrypi.org/raspbian_latest
    Пихаем карту в картридер и запускаем терминал (Ctrl+Alt+T)
     
    Code: (auto:0)
    lsblk
    смотрим по размеру (7,8G) на какой букве наша карточка
     
    Code: (auto:0)
    sudo dd bs=16k if=2016-05-27_raspbian_jessie.img of=/dev/sdx
    (x - буква SD карты из команды lsblk)
    Внимание!!! Команда dd - очень опасна. Не перепутайте букву диска куда вы пишете образ!!!
     
    На данном этапе так же можно использовать Windows и программу Win32DiskImager.
     
    2. Компиляция Armory для Raspberry Pi:
     
    Загружаем Ubuntu.
     
    Обновим список пакетов:
     
    Code: (auto:0)
    sudo apt-get update
    Установим необходимые пакеты для компиляции Armory:
     
    Code: (auto:0)
    sudo apt-get install git-core build-essential pyqt4-dev-tools swig libqtcore4 libqt4-dev python-qt4 python-dev python-twisted python-psutil
    Скачаем исходный код:
     
    Code: (auto:0)
    git clone https://github.com/goatpig/BitcoinArmory.git
    Компилируем Armory для Raspberry Pi:
     
    Внесём некоторые изменения в связи с заменой версий пакетов в Raspbian:
    Code: (auto:0)
    cd BitcoinArmory/r-pi
    nano crosscompile.py
    меняем строки
    PY_ARMHF1   = 'https://archive.raspbian.org/raspbian/pool/main/p/python2.7/libpython2.7-dev_2.7. 11-4_armhf.deb'
    PY_ARMHF2   = 'https://archive.raspbian.org/raspbian/pool/main/p/python2.7/libpython2.7-minimal_2.7. 11-4_armhf.deb'
    на
    PY_ARMHF1   = 'https://archive.raspbian.org/raspbian/pool/main/p/python2.7/libpython2.7-dev_2.7. 9-2_armhf.deb'
    PY_ARMHF2   = 'https://archive.raspbian.org/raspbian/pool/main/p/python2.7/libpython2.7-minimal_2.7. 9-2_armhf.deb'
    Ctrl+X, Y, Enter
    Code: (auto:0)
    cd ..
    Актуальную версию этих пакетов можно посмотреть по адресу: https://archive.raspbian.org/raspbian/pool/main/p/python2.7/
     
    Компилируем:
     
    Установим кросс-компилятор:
    Code: (auto:0)
    python r-pi/crosscompile.py setupcrosscompiler
    будет скачано ~590Мб пакетов.
    и скомпилируем:
    Code: (auto:0)
    python r-pi/crosscompile.py
    3. Установка Armory на Raspberry Pi:
     
    Для установки кошелька на Raspberry Pi воспользуемся т.н. "offline bundle" с оффсайта Armory.
    Скачаем с оффсайта Armory "offline bundle" со всеми необходимыми пакетами для работы Armory:
    Code: (auto:0)
    cd ~
    wget https://www.bitcoinarmory.com/downloads/bitcoinarmory-releases/armory_0.93.3_rpi_bundle.tar.gz
    И распакуем:
    Code: (auto:0)
    tar -xvzf armory_0.93.3_rpi_bundle.tar.gz
    Удалим скомпилированную версию Armory версии 0.93.3
    Code: (auto:0)
    rm -r ./OfflineBundle/armory_0.93.3_raspbian-armhf.tar.gz
    и скопируем нашу версию
    Code: (auto:0)
    cp ~/BitcoinArmory/armory_0.94.1_raspbian-armhf.tar.gz ~/OfflineBundle/
    Поправим установочный скрипт:
    Code: (auto:0)
    nano OfflineBundle/Install_DblClick_RunInTerminal.py
    и заменим в нём команду gksudo на sudo
     
    # Installs all the dependencies
    execAndWait('gksudo dpkg -i *.deb')
     
    # Puts everything in tousr/share/armory andusr/lib/armory
    execAndWait('gksudo "tar -zxf %s -C"' % installer)
     
    и во второй строке уберём двойные кавычки. Вот что должно получиться:
    # Installs all the dependencies
    execAndWait('sudo dpkg -i *.deb')

    # Puts everything in tousr/share/armory andusr/lib/armory
    execAndWait('sudo tar -zxf %s -C' % installer)
     
    Ctrl+X, Y, Enter
     
    Скопируем получившийся "набор" на SD карту с системой:
    Code: (auto:0)
    sudo mkdirmedia/<SDcard/systempartition>/home/pi/OfflineBundle
    sudo cp ~/OfflineBundle/*media/<SDcard/systempartition>/home/pi/OfflineBundle
    Вместо <SDcard/systempartition> подставьте ваш путь, посмотреть можно той же командой
    Code: (auto:0)
    lsblk
    Установка Armory на Raspberry Pi:
     
    Подключаем к Raspberry Pi SD карту, клавиатуру, мышь, монитор/телевизор и питание.
     
    Грузим систему.
    Терминал:
    Ctrl+Alt+T
    Code: (auto:0)
    cd OfflineBundle
    python Install_DblClick_RunInTerminal.py
    4. Создание оффлайн кошелька (cold wallet/offline storage):
     
    Запустим Armory двойным кликом по иконке на рабочем столе либо из терминала:
    Ctrl+Alt+T
     
    Code: (auto:0)
    armory
    Создаем обычный кошелёк. После ввода пароля для шифрования кошелька он надолго задумается - это НОРМАЛЬНО.
    Делаем копию (копии) кошелька.
    Я крайне рекомендую сделать "бумажную" копию кошелька и припрятать её в очень надёжном месте.
    Внимание! Любой, кто получит вашу "бумажную" копию - получит все ваши биткоины!
    Исключение - "бумажная" копия с опцией SecuPrint - но для неё надо хранить еще и пароль для расшифровки.
     
    К тому же, для обеспечения максимальной безопасности, я рекомендую
    НИКОГДА не подключать ваш Raspberry Pi к сети после создания оффлайн кошелька (кошельков)!
     
    Теперь можно экспортировать так называемую watching only копию вашего кошелька на онлайн компьютер с помощью USB флешки.
    Watching only копия не содержит в себе приватного ключа. Вы спокойно можете получать биткоины на адреса
    этой копии, но вот потратить их можно будет только подписав транзакцию приватным ключом который хранится в
    кошельке Raspberry Pi.
     
    Пожертвования мне приветствуются: 1GHAoU49qzbFtVtGnDzGKnpHGmsSMmLdRb
      
    Пожертвования разработчику Armory: пока нет опубликованного адреса.

    BTC: 19SqQ58wue4v4n9zpdK9KdtXGUUEP3qvsp
Page 1
Viewing Page: 1