Author

Topic: Offline (cold) storage (wallet) на базе Armory и Raspberry Pi (Read 2334 times)

member
Activity: 826
Merit: 56
родственная темка

https://bitcointalksearch.org/topic/armory-coinbin-4603149 - -Холодное хранение битков: Armory, бумага+coinbin-
sr. member
Activity: 473
Merit: 252
Cricetus cricetus
Каждый, у кого есть биток-другой, безусловно, задумывался как их максимально обезопасить.
Конечно же, можно купить аппаратный кошелёк 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 to /usr/share/armory and /usr/lib/armory
execAndWait('gksudo "tar -zxf %s -C /"' % installer)
 
и во второй строке уберём двойные кавычки. Вот что должно получиться:
# Installs all the dependencies
execAndWait('sudo dpkg -i *.deb')

# Puts everything in to /usr/share/armory and /usr/lib/armory
execAndWait('sudo tar -zxf %s -C /' % installer)
 
Ctrl+X, Y, Enter
 
Скопируем получившийся "набор" на SD карту с системой:
Code: (auto:0)
sudo mkdir /media//home/pi/OfflineBundle
sudo cp ~/OfflineBundle/* /media//home/pi/OfflineBundle
Вместо подставьте ваш путь, посмотреть можно той же командой
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: пока нет опубликованного адреса.
Jump to: